2008-03-12 Tor Lillqvist <tml@novell.com>
Bug 510000 - GtkStatusIcon doesn't reshow after explorer.exe crash
* gtk/gtkstatusicon.c [Win32]: Keep a list of status icons. Check
for the TaskbarCreated message in the window procedure for the
dummy "tray observer" window we create. When we get a
TaskbarCreated message, iterate over the status icons and re-add
them to the task bar, and update them by calling
gtk_status_icon_update_image().
Move some ifdefs around to avoid unused functions.
svn path=/trunk/; revision=19792
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-07-04 Tor Lillqvist <tml@novell.com>
* gtk/gtkstatusicon.c: On Win32 call
gtk_status_icon_button_press() in an idle callback and not
directly from the window procedure to avoid "g_main_loop_run():
called recursively from within a source's check() or prepare()
member, iteration not possible" warnings.
svn path=/trunk/; revision=18377
2007-04-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkstatusicon.c (gtk_status_icon_get_size): Add
a note about being embedded. (#340107, Christian Persch)
svn path=/trunk/; revision=17677
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
2006-12-27 Tor Lillqvist <tml@novell.com>
* gtk/gtk.symbols: Add gtk_status_icon_get_screen and
gtk_status_icon_set_screen.
* gtk/gtkstatusicon.c: Implement gtk_status_icon_position_menu()
on Windows. Keep track of where the last button click on the
taskbar icon took place, and return that. Obviously not correct if
no button has ever been clicked on the icon, or if the geometry of
the taskbar has changed since. But for most use cases where a menu
is going to be displayed as a direct result of a button click on
the status icon, works fine. (#377349)
Implement getting the orientation property on Windows.
(gtk_status_icon_embedded_changed)
(gtk_status_icon_orientation_changed): Ifdefify these functions
that are used only on X11.
2006-12-22 Matthias Clasen <mclasen@redhat.com>
Make it possible to track the embeddedness of
statusicon (#387215, Martyn Russell, patch by Christian
Persch)
* gtk/gtkstatusicon.c: Add orientation and embedded properties.
* gtk/gtkplug.c:
* gtk/gtkplug-x11.c: Add an embedded property.
* tests/teststatusicon.c: Test the new properties.
2006-12-20 Mikael Hallendal <micke@imendio.com>
* gtk/Makefile.am: Added gtkstatusicon-quartz.c
* gtk/gtkstatusicon-quartz.c: Implements the quartz backend for the
status icon.
* gtk/gtkstatusicon.c: Hooked in the new quartz backend. Bug #387874.
2006-11-19 Mark McLoughlin <mark@skynet.ie>
Fixes bug #376502 - multi-screen support for GtkStatusIcon
* gtk/gtkstatusicon.[ch]:
(gtk_status_icon_set_screen),
(gtk_status_icon_get_screen): add multi-screen API. Allows
an app to display an icon on a non-default screen
(gtk_status_icon_class_init),
(gtk_status_icon_set_property),
(gtk_status_icon_get_property): add a "screen" property
* tests/teststatusicon.c: update to test on multiple screens
2006-09-10 Matthias Clasen <mclasen@redhat.com>
* Commit a patch by Behdad to fix typos, omissions and other
errors in the symbol aliasing, and add checks for local PLT
entries. (#354687, Behdad Esfahbod)
2006-05-08 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkstatusicon.c: Some cleanups.
* gtk/gtkstatusicon.c (gtk_status_icon_get_property): Silently return
NULL if the storage type of the image does not match. (#340516, Christian
Persch)
2006-04-30 Matthias Clasen <mclasen@localhost.localdomain>
* gtk/gtkstatusicon.c (gtk_status_icon_class_init): Fix the definition
of the ::size-changed signal, and improve its documentation.
(#340112, Christian Persch)
2006-04-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkstatusicon.h:
* gtk/gtkstatusicon.c (gtk_status_icon_position_menu): Add a menu
position function for use with popups on status icons. (#334573,
Christian Persch)
2005-11-03 Tor Lillqvist <tml@novell.com>
* gtk/Makefile.am: Include gtkstatusicon.c on all platforms.
* gtk/gtkstatusicon.c: Implement for Win32. Use code from
gtktrayicon-win32.c as applicable. (gtktrayicon-win32.c is not
necessary and can be removed from CVS. It has never been mentioned
in gtk/Makefile.am.) No tray icon widget, GtkImage or GtkTooltips
are used on Win32. One label widget is used (but never shown) as
gtk_widget_render_icon() needs a widget.
Ifdefs used as necessary in several places. It might be cleaner to
split out the backend-specific parts to separate files, or at
least collect them into separate blocks in the file.
(wndproc): New function. Window procedure to monitor mouse events
in the system tray icon. Call gtk_status_icon_button_press() as
needed.
(create_tray_observer): New function. Creates a hidden window that
only serves as a tray icon message observer.
2005-09-01 Matthias Clasen <mclasen@redhat.com>
* gdk/*.c: Intern some more strings.
* gtk/gtkintl.h:
* gtk/*.c: Define an I_() macro and use it instead of the
bulky g_intern_static_string().
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.