Frequently Asked Questions

Why doesn't it work?

Answer: hmm, works for me :)


Q1. What platforms does it support?

A. Nearly any unix-like system should work. Any processor should work. It has been tested by the developers on the following systems:

Note: You may also be able to get it working with Cygwin in Windows. There is some compatibility code for systems with (non-standard) EBCDIC system encodings, however reports from users of such systems haven't been received yet.


Q2. What is ~/.whim_config used for?

A. It's for user overrides, and custom scripts. You don't have to add anything to it to use Whim, but you might enjoy some of Whim more if you do customize it.


Q3. What is ~/.whim_behavior used for?

A. It's an automatically saved file that contains the current configuration. Whenever you exit or restart Whim the current configuration is dumped into that file. Starting with release 308.13 it now contains a version header for automatic upgrade compatibility.


Q4. How do I start an applet on a particular desktop when Whim starts?

A. Let's imagine that you want to start a taskbar on a particular desktop (though it could be any applet). It could be done in a ~/.whim_config using a pattern like this:

 on startup start.applet taskbar .desktop0

Q5. How do I easily start an applet on every desktop?

A. In your ~/.whim_config you can use the for.every.desktop iterator. For example:

 for.every.desktop desktop {
  on startup start.applet taskbar $desktop
 }

Q6. How do I change the desktop button bindings?

A. In your ~/.whim_config or at the Whim console you can use set.config desktop_bindings, like so:

 set.config desktop_bindings \
  { {nullexec xterm} \
    {display.desktop.menu %desktop %X %Y}

nullexec is a frontend to Tcl's exec that handles channels in a slightly different way that tends to work better with applications like mplayer, and others. The %desktop key is substituted with the $::current_desktop at the time that the set.config occurs. set.config desktop_bindings iterates and applies this to every desktop automatically. %X and %Y are for the mouse cursor position. This is a dynamic configuration option, so you can change it at runtime and all desktop bindings will be updated.


Q7. How do I change the Tile theme?

A. Press the Console button on the desktop controls. Enter the command "set.config tile_theme step" (without quotation marks). There are many other themes available including:

Note: the default theme is sriv (by Steve Redler IV).


Q8. How do I change the menus, or what is ~/.whim_menus?

A. ~/.whim_menus is a file that is sourced to initialize the ::whim_menus list. A simple example from George's machine is:

 set ::whim_menus {
  xterm xterm
  Firefox ~/linux_runtime/firefox/firefox
  xmix xmix
  Plan plan
 }

Note: AJB's menu system available on this Wiki is an improved menu system that is recommended.


Q9. How do I add to or change the available desktops?

A. In your ~/.whim_config you will need to use set.config desktops. For example:

 set.config desktops {Work WWW Games}

Note: as of release 14 you will need to restart Whim to have it take effect.


Q10. Why are some applets very slow to startup, but fast afterwards?

A. Some systems lack the shared memory support that tg.so requires for fast performance, or the system may be running low on shared memory pages.


Q11. What are filters in Whim?

A. Filters are a general way to hook into functionality of Whim without modifying the Whim core. The currently available and evolving list of filter points available includes:

They are used with add.filter (via the console, an applet, or ~/.whim_config) to invoke a callback script whenever a certain event occurs. You can have multiple filters for the same filter name.

TODO give a simple example ...


For discussion of Whim topics visit the Tcler's Wiki at http://wiki.tcl.tk/13972 .


The Future

Whim needs more dialogs to eliminate most of the need for editing configuration files. There are some works in progress that aren't yet ready to be enabled by default. If you would like to help, then please download the megapkg distribution and send patches or questions to Contacting Whim Developers. The authors are also quite often available on the Tcler's Chat that is bridged to #tcl on irc.freenode.net