Use the _NET_SYSTEM_TRAY_ICON_SIZE property set by the tray mananger as
a hint that we should use a specific icon size. This allows the tray to
instruct us that it expects 16x16 icons, for example.
Bug #645232
The amount of padding is determined by reading a _NET_SYSTEM_TRAY_PADDING
property off the manager window, in the same way that orientation and visual
are obtained.
Signed-off-by: Richard Hughes <richard@hughsie.com>
transparency
* gtk/gtktrayicon-x11.c: Add support for the _BET_SYSTEM_TRAY_VISUAL
property described in
http://lists.freedesktop.org/archives/xdg/2008-September/009919.html
If _NET_SYSTEM_TRAY_VISUAL is a visual with an alpha channel, the
parent-relative-background hack is skipped and we draw with a real
transparent background.
* gtk/gtkrc.c: Remove the default GtkTrayIcon style, since the
parent-relative background is now set when realizing the tray
icon.
Patch by Owen Taylor
svn path=/trunk/; revision=21531
2008-02-11 Matthias Clasen <mclasen@redhat.com>
Support keynav in status icons. (#473786, Li Yuan)
* gtk/gtkstatusicon.c: Handle keynav, make the tray icon focusable.
* gtk/gtktrayicon-x11.c: Draw a focus rectangle when focused.
svn path=/trunk/; revision=19515
2007-01-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkstatusicon.c:
* gtk/gtktrayicon-x11.c: Fix GtkStatusIcon to not
take up space on the panel if it is invisible. (340110, Christian
Persch)
* tests/teststatusicon.c:
* tests/Makefile.am: Updates
svn path=/trunk/; revision=17224
2007-01-03 Matthias Clasen <mclasen@redhat.com>
* gtk/*.c:
* gdk/x11/*.c: Apply a patch by Chris Wilson to
avoid spurious valgrind warnings from XSendEvent()
calls. (#392532)
svn path=/trunk/; revision=17044
2006-08-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktrayicon-x11.c: Fix the ClientMessages we are
sending to the notification area to be more in sync with
the systray spec. (#350860, Wincent Untz)
2006-06-19 Matthias Clasen <mclasen@redhat.com>
Make transparent tray icons work. (#320034, based on a
patch by Dan Winship)
* gtk/gtktrayicon-x11.c (gtk_tray_icon_init): Make trayicons
app-paintable and non-double buffered.
* gtk/gtkrc.c (_gtk_rc_init): Give tray icons a parent-relative
background in the default style.
2005-08-29 Matthias Clasen <mclasen@redhat.com>
Add a cross-platform "tray icon" API, by
porting EggStatusIcon/EggTrayIcon (#105101)
* gtk/gtkstatusicon.h: A GtkStatusIcon is an object which
displays an icon in a notification area.
* gtk/gtkstatusicon-x11.c: GtkStatusIcon implementation for
X11, using GtkTrayIcon.
* gtk/gtktrayicon.h:
* gtk/gtktrayicon.c: An implementation of the freedesktop.org
system tray specification, not public API.
* gtk/gtk.symbols: Add new exported functions.
* gtk/gtk.h: Include gtkstatusicon.h.
* gtk/Makefile.am: Add new files.
* tests/Makefile.am:
* tests/teststatusicon.c: Test for GtkStatusIcon.