Read _NET_SYSTEM_TRAY_PADDING from the XEmbed tray manager and apply it
as GtkStatusIcon image padding according to the tray orientation.
Default padding remains zero, so behavior is unchanged for tray managers
that do not provide the hint.
Ported-from: Fedora gtk2 icon-padding.patch
This fixes a regression introduced in commit
b1a1685a33eca16979e63d79915395af0b36. gdk_visual_get_*_pixel_details()
should not be called with a NULL visual.
https://bugzilla.gnome.org/show_bug.cgi?id=649588
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.