fredkiefer at gmx.de
Mon Dec 1 15:24:09 EET 2003
Some of you may already know GNUstep, it is even listed on the
Freedesktop web pages as "The GNU OpenStep? Implementation". And yes,
this is what GNUstep tries to be, a free implementation of the OpenStep
standard, while keeping up with some of the enhancements that Apple did
to it. (Would anybody mind to remove the question mark? This could be
seen as offending by some people)
GNUstep currently runs mostly on X windows (a MS Windows port is partly
working) so the Freedesktop standards have been of interest for us for
some time. We currently support most of the clipboard standards, the
desktop entries (although in an old version), thumbnails and part of the
EWMH specification. We also tried to implement XDnD, but the
philosophy behind this does not map well to the GNUstep dragging
concept, so this is currently not working. There may be more, but this
is what I remember.
Of course we are planning to implement more. At the moment I am looking
into better support for the window manager standard and there a problem
shows up. OpenStep has the concept of a window having a style (e.g. with
or without border decoration) and a window level (normal, floating,
modal panel, sub menu, main menu and so on). I tried to match the later
onto the EWMH window type. I found various problems with this, which
also did vary between different EWMH window managers and different
versions of them.
First the concept of a menu in EWMH seems to be different from the
OpenStep free floating menu, which should stay on top of other windows.
To work around this I maped the main menu to dock and the sub menus to
menu. As this had some side effects (on KDE 3.1) to the window
decoration, I had to switch that off with the KDE override atom.
Although this solution somehow works on most window managers, it is less
than optimal and a clear definition of the different window types and
what they should result in, could help me find a better correlation. Or
at least it would allow me to blame the window managers for not
following the standard.
More information about the xdg