DeskFolders 2
project name DeskFolders
version 2.0 beta 3
author Maduin
usage Litestep desktop module
screenshots here
download here (12 KB, zipped)

Transparency Problems

A note about transparency problems. Some people experience transparency problems with DeskFolders 2 in which the background is corrupted. As of beta 3 there is now an option to enable a hack to workaround this. Adding a "DeskFolderPaintHack" item to your step.rc will cause DeskFolders to use an alternate method for transparency. This will (should) fix transparency but adds a problem of it's own: if a window is on top of a desk folder when DeskFolders is loaded or recycled that window become a part of the desk folder's background. I'm working to try and find a more effective workaround, until then I hope this is sufficient.

What is DeskFolders?

DeskFolders is a Litestep desktop module which allows you place embeded folders ("desk folders") onto your desktop. Desk folders can display the contents of any directory or shell folder, such as the Desktop folder or My Computer. You can create multiple desk folders with any position or size and in a variety of styles and colors. Desk folders are designed to be highly customizable and to blend in well with your existing LS desktop. DeskFolders is great for providing quick access to files and directories or for allowing you to drag and drop files between Explorer and the LS desktop.

Configuration

Once you've downloaded DeskFolders, place the DLL into your Litestep directory and add a LoadModule line for it into your step.rc. Note: If desktop.dll is also used, it must be loaded before deskfolders.dll.

  LoadModule C:\Litestep\DeskFolders.dll

DeskFolders uses a named parameter system for configuration which is different from most Litestep modules. The reason I chose this type of system is due to its flexibility: parameters can by given in any order and any parameter can be omitted independently of the others. Parameter-value pairs take on the form of "parameter(value)". Here is typical line for a desk folder:

  *DeskFolder folder(desktop) position(100, 100) size(300, 200) view(icon)

This creates a desk folder at screen coordinates 100, 100 with a width and height of 300 and 200 pixels respectively. The desk folder show the contents of the desktop folder in icon view. The position and size parameters are just x,y value pairs, negative values can be used to indicate values relative to the bottom right corner of the screen.

Parameters

Parameter Values Default Description
align default, left, snapToGrid, top default Not implemented
background bitmap-file, color, transparent transparent The style of the desk folder's background
border boolean false Toggles border around desk folder
browse default, inPlace default If inPlace, enables in place browsing of folders; otherwise selecting a folder runs Explorer
contents all, files, folders all Determines whether the desk folder displays files, folders, or both
filter filename pattern * Includes only filenames which match the given pattern (only works with file system objects)
folder directory, controlPanel, desktop, fonts, myComputer, network, printers, programs, recycleBin, startMenu desktop Selects the directory or system folder to display
font font-name/font-size Selects font used by this desk folder, font name and size are seperated by a slash (/)
labels color, transparent black Sets the background color for icon labels
name - - Name used to identify this desk folder in bang commands
overlay boolean true Controls display of overlay images for shortcuts and shares.
position coordinate pair 0, 0 Position of the desk folder on the screen (in pixels)
scrollbar boolean false Enable or disable scrollbars
showHidden boolean true Enables/disables display of hidden files/directories
size coordinate pair -1, -1 Width and height of the desk folder (in pixels)
text color white Sets the foreground color for icon labels
view icon, smallIcon, list, details icon Selects the view mode for the desk folder (note: details currently not implemented)
visible boolean true Sets whether desk folder is initially visible

Color values can be either an RGB value (in HTML #RRGGBB format) or a predefined color name: black, blue, cyan, green, red, violet, white, or yellow.

Bang Commands

The bang command interface allows you modify the desk folder's properties from hotkeys, shortcuts, etc. The Litestep bang command for all commands is "!DeskFolder". The format of a DeskFolder bang command is:

  !DeskFolder <command> <parameter-list>

Examples:

  *Hotkey Win D !DeskFolder browse name(main) folder(desktop)
  *Hotkey Win U !DeskFolder browse up
  *Hotkey Win H !DeskFolder hide name(someFolder)

The command name specifies the action to be taken. The parameter lists have the same form as the parameters to *DeskFolder. All bang commands take an optional "name" parameter, which uniquely identifies the desk folder object to act on (if there is more than one desk folder). If name is omitted, the action is performed on the first desk folder; if name is "all", the action effects all desk folders. Here is the table of commands and their parameters.

Command Parameters Description
browse folder, up Causes the desk folder to browse into another folder. If folder is given it specifies a full pathname or special folder name. If the up parameter is present (it takes no value) the action performed is "up one level".
hide none Hides the desk folder.
show none Shows the desk folder (after having been hidden).
toggle none Toggles the show/hide state of the desk folder.
refresh none Refreshes the contents of the desk folder.

Examples

To give you feel for the DeskFolders configuration system and to give some examples of what can be done with DeskFolders here are some example configurations you might want to try.

  ; This desk folder looks just like the Explorer desktop.
  *DeskFolder folder(desktop)

  ; Places the desktop folder on the right for quick access.
  *DeskFolder folder(desktop) position(-92, 16) size(80, -48)

  ; My desk folder: provides access to all folders on C: drive
  *DeskFolder contents(folders) folder(C:\) font(Tahoma/8) labels(transparent) name(side) position(16, 32) size(108, -1) view(smallIcon)

  ; Start menu programs
  *DeskFolder browse(inPlace) folder(programs) labels(transparent) overlay(false) position(-144, 32) size(128, 256) view(smallIcon)

  ; Web directory showing HTML files
  *DeskFolder contents(files) filter(*.htm?) folder(C:\Web) labels(transparent) position(96, -96) scrollbar(true) size(400, 88) view(list)

Have fun!