I don't have answers to your problems but have you tried  GtkInfoBar? 
link-->http://library.gnome.org/devel/gtk/stable/GtkInfoBar.html 
I think it is widget similar to the one you're trying to make.

> Date: Sun, 14 Mar 2010 14:31:03 -0400
> From: [email protected]
> To: [email protected]
> Subject: Notification Widget
> 
> 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.
> _______________________________________________
> gtk-list mailing list
> [email protected]
> http://mail.gnome.org/mailman/listinfo/gtk-list
                                          
_________________________________________________________________
Hotmail: Δωρεάν, αξιόπιστη και αποτελεσματική υπηρεσία email.
https://signup.live.com/signup.aspx?id=60969
_______________________________________________
gtk-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtk-list

Reply via email to