[PATCH 0/4] Native dockapp support

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/

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

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]