📄 readme
字号:
=================Idesk User README -- Work in progress=================1. General Notes----------------Idesk was written by Chris Roberts, and his webpage ishttp://dramamine.darktech.org/~nikon which might be down for a while.Email: nikon@sc.rr.com, ICQ: 63345004You can find the current updated Idesk webpage at:http://idesk.timmfin.netDevelopers: Tim Finley (timmfin@wam.umd.edu)Idesk is released under the BSD license, which means don't call my code yours, and if you use any of my code, give me credit.2. Description--------------Idesk is program that draws desktop icons. Each icon will execute a shell command when double-clicked (set to single-click by an option). The icons can be moved on the desktop by dragging them, and the icons will remember their positions on start-up. Oh yea, forgot there is cool eye-candy.The icons can either be PNG (.png) or SVG (.svg) files. There are some problems with librsvg's usage of some svg files it seems. Most simple SVG files _cannot_ be loaded by librsvg. More investigation is needed to see what kind of SVG's work. See note in section 6.3. Dependencies----------------pkg-config //GNU autoconf and automake already have it I believe-librsvg-2.0.1 //nautilus has this already I believe-gdk-pixbuf-2- some other gnome stuff, if you have everything for librsvg then you should be good.4. Installation---------------Decompress and untar the tar.gz file into a directory. In that directory:$> make$> su$> make install Make install will copy the executable-binary file to /usr/local/bin/idesk.5. Config file setup (.ideskrc)-------------------------------To use Idesk, you must first setup your config file. Put something like this into into .ideskrc in your home directory:table Config FontName: tahoma FontSize: 8 FontColor: #ffffff Locked: false Transparency: 150 Shadow: true ShadowColor: #000000 ShadowX: 1 ShadowY: 2 Bold: false ClickDelay: 300 IconSnap: true SnapWidth: 55 SnapHeight: 100 SnapOrigin: BottomRight SnapShadow: true SnapShadowTrans: 200 CaptionOnHover: falseendtable Actions Lock: control right doubleClk Reload: middle doubleClk Drag: left hold EndDrag: left singleClk Execute[0]: left doubleClk Execute[1]: right doubleClkend-"Locked" is boolean (true/false). Setting it to true disables the dragging movement.-"Transparency" is between 0 (no glow effect) and 255 (invisible without a mouseover).-"HighContrast" will draw a border around the text in the opposite colour if it is true. It will draw it in an arbitary colour if it "#aa00aa", for example. And it will not draw anything at all if it is set to "false".-"Shadow" is boolean (true/false). Turning this on will draw a drop shadow of color ShadowColor behind the text. The shadow will be ShadowX pixels right and ShadowY pixels down (negative values will work). Both ShadowX and ShadowY default to 1.-"Bold" is a boolean (true/false). Setting it to true will make your font bold.-"Click Delay" is the number of milliseconds that represents a double-click.-"SingleClick" is a boolean (true/false). Setting it to true makes a single-click execute the command associated with the icon. This also means that it is impossible to drag the icon either.-"IconSnap" is a boolean (true/false). Setting it to true makes the icons snap to a grid defined by "SnapWidth" and "SnapHeight". The icon will snap to the middle of the rectangle defined by "SnapWidth" and "SnapHeight". So if "SnapWidth" = "SnapHeight" = 100, the center of the icon will by in multiples of 50: (50,50), or (50, 100), or (100, 100), or (250, 350)... You will want to make "SnapWidth" and "SnapHeight" greater than or equal to the size of the picture. ^ |______________ Needs a better description :)-"SnapWidth" is a positive integer, see description in "IconSnap".-"SnapHeight" is a positive integer, see description in "IconSnap".-"SnapOrigin" defines where the snap grip starts from. Valid values are: TopLeft, TopRight, BottomLeft, BottomRight.-"SnapShadow" is a boolean (true/false) value. Setting it to true will make a shadow of the icon appear where the icon will snap if the drag was released there. Turn "IconSnap" on and check this out, pretty cool effect. -"SnapShadowTrans" is a integer between 0 (opaque) and 255 (invisible). It represents the transparency of the SnapShadow-"CaptionOnHover" is a boolean (true/false) value. Setting it to true will make the icon's caption only appear when the mouse hovers over an icon. False is the default behavior.Better Snap Explanation----------------------- . . . . . . |__________|__________|_______ . . . | | | | | | y | | | | | | | | | [> |__________|__________|________ . . . | x | |This is the bottom left of the desktop (SnapOrigin: BottomLeft)X represents the snap widthY represents the snap heightSnap origin only describes which corner of the screenSo basically set snap width to the width of the "box" you want the icon contained in and set snap height to the height of the "box" you want the icon contained in.The icon will snap to the middle of that box specified by snap width and snap height. You will typically want the width and heihgt to be a bit larger than the width and height of the icons (make the height bigger if you use a caption).Action Configuration--------------------In the Action table 5 different actions can be configured. Lock: Disables icon dragging to prevent accidental movement. Reload: Reloads all of the config options and gets a new background. Drag: Puts the icon in drag mode. Icon follows cursor. EndDrag: End the drag mode, icon will be positioned at the cursor. Exectue[i]: Executes the ith icon command. So the Execute[0] action is the default action and run Command[0] (in the icon config file), Execute[1] runs Command[1] and so forth.The options for each command are as follows: <shift> <control> <alt> [Button] [ClickType] [Button] = left, middle, or right (more than one is allowed) [ClickType] = singleClk, doubleClk, tripleClk, or holdSome examples: The default settings, should be self explanitory. Lock: right doubleClk Reload: middle doubleClk Drag: left hold <== Drag starts when left button is pressed. EndDrag: left singleClk <== Drag ends when left button is released. Execute[0]: left doubleClk Other examples Left single click while holding shift on the keyboard Execute[0]: shift left singleClk Left double click while holding down the right mouse button. Execute[0]: left doubleClk right hold And for those with too many fingers, middle double click while holding down the left and right mouse buttons, and control, alt, and shift on the keyboard. Execute[0]: control shift alt left hold middle doubleClk right hold Notes: For the Drag action I reccomend only doing button holds and for the EndDrag I recommend using single clicks. This way the icon begins dragging as soon as you press the button and stops dragging as soon as you release the button. Using other actions should work as expected, but there are a few small bugs. If two actions have the same key/button combinations they both will occur, unless one is the reload action. The reload action always only happens by itself. 6. Icon setup (.idesktop/)--------------------------To add an icon, you need to first create a .idesktop directory in your home dir and inside that directory, create a file, for example, home.lnk and inside the file put something like this:table Icon Caption: Home Command: nautilus /home/you Icon: /home/you/.idesktop/home.pngendThese are the options for icon file, they should mostly be self-explantory. The Icon option is the graphic file for the icon image (either a png file or a svg file). The Execute[i] action (in .ideskrc) runs the Command[i]. If the Caption field is blank or just one space, then no caption will be created for the icon.table Icon Caption: Tux Icon: /home/you/icons/tux2.svg Width: 600 Height: 700 X: 680 Y: 174 Command[0]: echo 'Linux rocks!'end=Important for SVG=If you use a svg icon need to set Width and Height to your desired pixel size. Just make sure that the X value plus the width doesn't exceed your window diemensions, you get a segfault (same for Y value and height). It is best to set X and Y to zero to prevent this.7. Default Usage----------------- Double click with the first mouse button will run the command.- Click and drag with the first mouse button moves the icon (if not locked).- Double-click with the middle mouse button reloads the icons and regenerates background. Useful after changing wallpapers to clear graphical artifacts.- Double-click with the right mouse button to toggle the lock state. The state will be saved in the config file, so it will be remembered next startup.8. Bugs-------High-Contrast currently not implemented.segfault if SVG image extends beyond window in config fileEmail the developers if you find more.9. Planned features-------------------- readd high-contrast features- Icon motion after click (something like the MacOS X bar)- document the code.. hopefully :)- and othersFeel free to email suggestions.10. Releases-----------Version 0.5.5 Multiple commands, completely configurable actions, automatic background updating with Esetroot, a new option to only show the caption on mouseover, and a few fixes and clean ups here and there.Version 0.5.2.1 Fixed a few bugs here and there. Took away the need for the SVG: true field.and other things that I forgot to list.Version 0.5.0 Added SVG support using librsvg. Still rudimentary, need to check for bugs andd leaks. Version ? (maybe .5) New idesk mostly coding structure changes. Code was re-written to be more object oriented and modular. Added single-click, click-delay, and snapping options. Version .3 - .35
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -