Windows 7 is managing status icon visibility across process lifetime,
which did not work with GTK+ create icons. Apparently the mechanism
does not require use of new API (like suggested by MSDN), but it is
enough to give a "unique" tooltip at creation time.
Formerly this initial tooltip was not set at all, later setting via
gtk_status_icon_set_tooltip_text() is not enough, but luckily
different follow-up tooltips don't disturb the intended behavior.
(cherry picked from commit ae0544c636)
This commit was created using a script that searched for all docstrings
containing a parameter and the string 'or %NULL'.
Gdk backends and demos excluded as they are not part of a public API
https://bugzilla.gnome.org/show_bug.cgi?id=610474
The Gtk-custom.c file in gir-repository contained a number of
introspection annotations. Merge those into the GTK source files.
Some documentation was moved from the tmpl/ files to accomodate
the addition of annotations.
2009-03-29 Christian Persch <chpe@gnome.org>
Bug 577224 – crash when setting new icon after setting icon in
gtkstatusicon
* gtk/gtkstatusicon.c: (gtk_status_icon_reset_image_data),
(gtk_status_icon_set_from_gicon): Retain a reference when setting
from a GIcon, and use g_object_unref on GIcon, not g_free.
svn path=/trunk/; revision=22594
2008-08-12 Michael Natterer <mitch@imendio.com>
* gtk/gtkstatusicon.c (gtk_status_icon_get_gicon): use
g_return_val_if_fail() now that the function has a return value.
svn path=/trunk/; revision=21095
2008-07-25 Murray Cumming <murrayc@murrayc.com>
* gtk/gtkstatusicon.c (gtk_status_icon_class_init):
Documented the activate and popup-menu signals as being for use
by applications and language bindings, though they are G_SIGNAL_ACTION,
as stated in bug #361561.
svn path=/trunk/; revision=20905
2008-06-03 Colin Walters <walters@redhat.com>
Bug 535303 – add _get_implementation to GtkStatusIcon
* gtk/gtkstatusicon.c (gtk_status_icon_get_x11_window_id): New
function to retrieve internal X11 window ID, useful for libnotify.
* gtk/gtkstatusicon.h: Prototype it.
* docs/reference/gtk/gtk-sections.txt: Add to docs.
* gtk/gtk.symbols: Export it.
svn path=/trunk/; revision=20304
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.