You may now download the sources for evildesk under the terms of the GPLv2.
It's been a year in the making, but worth the wait, I think. Here's what's new and improved:
Issue #21: Improved task management experience.
I've integrated the quicklaunch and flasher plugins to create a new plugin called the dock. (the flasher and quicklaunch plugins are still there if you prefer those). The dock is (not intentionally) OSXish and serves as a mixture of the quicklaunch and taskbar in the regular explorer shell.
The dock shows you icons from your quicklaunch folder mixed in with the icons from the running applications on the current workspace. The icons are grouped together by executable module (so all cmd.exe processes are represented by a single icon) and where possible, the module is matched against your shortcuts.
If you have IE in your quicklaunch, clicking on the icon will launch IE and then replace the shortcut icon with the icon from the IE window. Clicking on that icon will activate IE and bring it to the front. If you have multiple IE windows open, clicking the IE icon in the dock will activate the topmost IE window. If one of the windows is flashing, the icon will be animated in the dock to grab your attention; click it will activate the flashing window.
If you want to activate a particular instance of an application, right click on the icon to popup a list of windows and their titles. In this menu, if the application has a shortcut in the quicklaunch folder, you have the option of launching the shortcut again, or opening up the properties dialog for that shortcut.
Issue #26: Replace the "Run" dialog with the launcher plugin.
The launcher plugin provides similar functionality to the "Run" dialog (Win-R) but also allows you to search your programs and documents for items that match the text that you've typed. For example, typing "fire" will show you your firefox icons from the start menu, if you have it installed.
Select a matching item by using the up and down keys and pressing enter.
You can navigate your filesystem by typing in a filesystem path; matching items are shown in the selection list and you can move up and down through them. Press the right cursor key to descend into a directory, or the left cursor key to ascend to the parent of the current item.
You can dismiss the dialog by pressing ESC.
The launcher will create an index of your programs and documents every 20 minutes; this is about 200k in size on my system (I don't have much stuff in my documents or on my desktop) and takes a few moments to create. While indexing, you might notice an increase in CPU usage for wezdesk.exe, but it should remain responsive (indexing happens in an alternate thread). If you have a lot of information in your documents folders and this seems to take a long time, please let me know so that I can figure out ways to optimize this.
Issue #2: Expanded slit positioning and alignment. The slit can now be used with a horizontal orientation and middle gravity.
Added a new, preferred, syntax for declaring slits in the config file:
Creates a slit with the default positioning (right, bottom). You may use the new slit context menu to change the positioning at runtime and those changes will be saved in the registry for the next time you launch the shell.
Note that you can create multiple slits, if you desire, by adding multiple "SLIT" lines to your config file.
Issue #9: Auto-hide the slit. You can choose to make the slit auto-hide or float using the slit context menu options. These settings are saved in the registry, as mentioned under issue #2 above.
Issue #17: bug in assigning hotkeys using CTRL and ALT modifiers.
The syntax for this is:
HOTKEY CTRL|ALT F1 Func "set-current-workspace" "1"
In previous releases, this would cause evildesk to hang.
Issue #18: Added ability to turn off the alt-tab replacement.
I've implemented this by moving the alt-tab code into a plugin. If you don't want to use it, simply comment out the LOAD line in the evdm file.
Because the taskswitcher is now a plugin, some of the configuration options have changed slightly:
# To disable the alt-tab replacement, comment the next line. LOAD taskswitch # To change the size of the preview in the task switcher: SET taskswitch Preview.Width 200 SET taskswitch Preview.Height 150 # Max number of workspaces to show in the taskswitcher. # Replaces the old MaximumWorkspaces config statement. SET taskswitch MaximumWorkspaces 4
Added window capture code that maintains a cache thumbnails of application windows (only those that show up in the task switcher). These thumbnails are used to preview the application windows while alt-tabbing. You can configure the size of the preview by changing the following settings:
SET core Switcher.Preview.Width 200 SET core Switcher.Preview.Height 150
If you'd like better quality, larger, previews you can increase the size limit for the thumbnail cache. The default limit it 1.5MB per thumbnail. You can raise or lower the limit using the following option:
SET core Thumbnail.Max.Size 1572864
If you want to disable the thumbnail cache, set the Thumbnail.Max.Size to 0.
Some applications can't be reliably thumbnailed. This is because they're not very well behaved win32 applications when it comes to painting their screens. You may experience black or partially drawn areas for GTK+ based applications, and occasionally from Mozilla based applications. If anyone has suggestions for improving the capture, I'm listening.
Added new Overview plugin. Pressing Win-F9 (configurable) will activate the Overview window, which displays a zoomed out view of all the applications running on each monitor. Overview shows the same windows as the alt-tab task switcher, plus dialog boxes (like Desktop Properties). This allows you to find those elusive dialogs when they got lost on your busy desktop. You may then use the mouse to switch to an application. This feature is inspired by OSX exposé, except that it doesn't perform any animation.
Overview uses the same application thumbnail cache as the task switcher, so that the initial display is fast. Clicking on the desktop or pressing Win-F9 again will cancel the Overview. I've tried hard to keep the resource consumption low; this plugin uses no additional resources until the Overview window is active. As soon as it deactivates, all its resources are freed.
Revised rendering code for the slit and task switcher. The font selection now uses the more visually appealing defaults you have configured as part of your windows desktop theme. The slit and task switcher now use a graphic tile for their background image, rather than the application workspace colour. This improves the appearance when running on Windows Vista, where the default workspace colour is different from Windows XP.
You can set the background tile for a slit using SET slit Background.Image "path\\to\\file.png". You may use any image format supported by GDI+ (BMP, PNG, JPG, GIF). The image will be stretched to fit the region.
You can also set the appearance of the task switcher:
SET core Switcher.Background.Image "C:\\path\\to\\image.png" SET core Switcher.Font "Trebuchet MS,14,italic" SET core Switcher.Font.fg "#fff" SET core Switcher.Font.shadow "#444"
The clock can also be customized too:
SET clock Font "Trebuchet MS,18,italic" SET clock Font.fg "#fff" SET clock Font.shadow "#444"
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping\system.ini\boot] "Shell"="SYS:Microsoft\\Windows NT\\CurrentVersion\\WinLogon"