Notification Widget
- From: Vikram Noel Ambrose <noel ambrose gmail com>
- To: gtk-list gnome org
- Subject: Notification Widget
- Date: Sun, 14 Mar 2010 14:31:03 -0400
Hello,
I'm trying to put together a user notification widget. Similar to the
speech bubble seen on some Gnome distros that pops out of the gnome panel.
I cannot user GtkMenu because it automatically hides away when the user
clicks on anything in the TOPLEVEL_WINDOW. I would like the speech
bubble/notification to only go away if the user clicks it away or a
timeout has occurred.
Therefore I went about creating my own notification widget based on
GtkWindow using type GTK_WINDOW_POPUP. But the problem with this is that
even after calling _unstick, the window shows up on every desktop. This
forced me to use GTK_WINDOW_TOPLEVEL for the notification widget. With
this, I am able to switch off the window decorator just fine, and
generally all my "notification widget" logic seems to work except:
1. The notification window widget shows up as a separate application in
the gnome panel. How do I stop the window appearing as a separate
application to the window manager?
2. If I add a gtk_box into the window and then later gtk_widget_destroy
an item from the box, the notification window does not automatically
resize. Calling either gtk_widget_queue_resize or
gtk_widget_reset_shapes on the notification window has no effect. How do
I get the notification window to resize once I've removed something from it?
3. If the user moves the main application's TOPLEVEL window, the
notification window does not move with it. I have set
gtk_window_set_transient_for() . How do I get the notification's
TOPLEVEL window to move with the main application's TOPLEVEL window?
4. I don't know how to position the notification window properly. I'd
like the notification window to fit into the bottom left corner of the
main application's TOPLEVEL window.
------Main Window ------
| |
| |
| |
| |
|--NotifyWin--- |
| | |
| | |
------------------------
Hopefully my ascii art came through right. At the moment, I'm asking the
main window for its geometry and then doing the following calculations.
Notify_X = Main_X;
Notify_Y = Main_Y + Main_Height - Notify_reqHeight;
The problem seems to be that Notify window's requested height can only
be captured after the gtk_window_show. This means I'll be moving the
window to its position while its visible to the user. I don't want to do
this. Is there a way of getting the notify window to just align itself
to that corner automagically? Window gravity perhaps?
thanks,
Vik.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]