These patches adds native dockapp support to sawfish. First of all I have to explain what is this "dockapp" thingie. These little creatures comes from NeXTSTEP, if I recall correctly. It's a little (64x64) applets that shows some information, you can find examples on http://www.dockapps.org/ site.
Why would I need to modify sawfish sources? Well, this is how dockapps works. In WindowMaker every application have special "appicon" window, very similar to "taskbar" applet in GNOME/KDE. This window displays application icon and can be used to switch focus to this application. Icon can be client-supplied Pixmap or Window. In latter case client can change window contents and this will immediately affect appicon. Dockapps is a special kind of applications. It creates two windows - Leader and Icon. Then it sets WitdrawnState and IconWindow hints on Leader, such windows are ignored by window manager (WindowMaker). Then application updates Icon window and everything is drawn on its' appicon. I am making an assumption, that window in WitdrawnState and having IconWindow set is a dockapp. In this case Leader is ignored and IconWindow is managed instead. Everything else is a support code. 'dockapp placement mode and 'appicon frame class. Documentation is not yet written and I'm already out of words ;-) Please take a look at these patches and tell me if it's worth including. Yes, there are scripts that simulates this behavior, but some (half) of dockapps only update Icon window which is ignored by sawfish. Alexey I. Froloff (4): "dockapp" placement mode "appicon" frame part - dockapp special "mark-window-as-dockapp" function - turn window into dockapp mark windows with certain hints as dockapp lisp/sawfish/wm/frames.jl | 3 + lisp/sawfish/wm/keymaps.jl | 8 ++ lisp/sawfish/wm/placement/dockapp.jl | 144 ++++++++++++++++++++++++++++++++++ lisp/sawfish/wm/windows.jl | 28 +++++++ src/windows.c | 24 +++++- 5 files changed, 203 insertions(+), 4 deletions(-) create mode 100644 lisp/sawfish/wm/placement/dockapp.jl
