Icewm hacks for GNOME
- From: Felix Bellaby <felix pooh u-net com>
- To: gnome-list gnome org
- Subject: Icewm hacks for GNOME
- Date: Sat, 5 Sep 1998 21:20:04 +0100 (BST)
I have just hacked the icewm to bring up the GNOME panel menu from
the root window and taskbar. This seemed like a lot less effort than
trying to keep the config files in sync with GNOME. I will stick the
code in cvs if anyone is interested and Marco Macek agrees.
These hacks have made icewm a bit more cumbersome (using imlib and
libgnome) but once the images are loaded the performance seems
comparable. I have not removed any of the original functionality
but neither have I made icewm into a full scale GNOME app.
I have tried to use the panel icons everywhere (titlebars, etc.) so
that the GNOME menu editor can replace the icon configuration files.
However, I have run into some problems:
icewm supports various X based protocols for setting icons
(XWMHints, KDE and WIN_ICONS) and allows the user to set icons using
a configuration file indexed using X resource names.
Unfortunately, GNOME has yet to implement any X based protocol for
defining icons and the .desktop file does not include the X resource
names used by the app (i.e. the "appnames" passed to gnome_app_new).
In order to use the .png images from the .desktop entries I have had
to assume that the 'Exec=' filename in the .desktop file matches the
app's X resource name. This is a huge kludge (but where it goes wrong
it can be patched using the icewm winoptions file).
What about adding the following into the .desktop file standard?
The .desktop files could store the window manager icons properly by
including a list of all the appnames that an app uses with an icon
for each. The first of these icons could be used in the panel menu.
This .desktop file info would supplement the window manager config
files rather than replacing them. As usual, icons set by the app
using an X protocol would take precedence over both these sources.
Setting the first appname equal to the app_id passed to gnome_init
would be a good idea since the SM code muddles appnames with app_ids.
Using the executable name for this first appname is probably a
convention that we should encourage wherever possible.
These changes would need slight extensions to the desktop-entry API
but would make it easier for window managers to coordinate with the
configuration information maintained by GNOME. I would be happy to
put through these changes if everyone agrees.
The approach I have taken with icewm sets the window manager icons
from image data using imlib. This allows the window manager to render
the icons onto the appropriate visual and (should) allow it to perform
scaling to reflect the dot per inch.
The existing X protocol standards for icon hints pass around fixed
size pixmaps that have already been rendered onto some visual. This
is slow, produces icons with restricted palettes and reduces the
flexibility of the window manager.
IMHO GNOME should seriously consider providing hints to window
managers using unrendered image data rather than using pixmaps.
This would not match any ICCCM standard but I think window manager
maintainers would jump at the chance to support a protocol of this
kind. Any insane ones that refused could have their code patched
in next to no time using Imlib. People lumbered with commercial
window managers could just download a proper one instead.
Felix
All window managers are equal but some are more equal than others.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]