[Gtk-sharp-list] Re: Menu Position

Milen Dzhumerov %username%@yourdomain.co.uk
Thu May 12 09:14:26 EDT 2005

Hi there,

Unfortunately, it doesn't solve the problem. I've still have to work out
where to put the popup menu.

-----Original Message-----
From: gtk-sharp-list-admin@lists.ximian.com
[mailto:gtk-sharp-list-admin@lists.ximian.com] On Behalf Of Eric Butler
Sent: 12 May 2005 06:25
To: Milen Dzhumerov
Cc: gtk-sharp-list@lists.ximian.com
Subject: [Gtk-sharp-list] Re: Menu Position


The issue appears to be that you need to ShowAll() before Popup(). I've
updated the wiki page.


Please let me know that this worked for you.


Milen Dzhumerov wrote:
> Hi all,
> I've been having trouble positioning some popup menus. What I do is 
> basically put an icon in the system tray, put it in an event box and 
> catch right click. On right click I show a popup menu. When the 
> (gnome/kde/fd.o compliant) panel is on top, everything works 
> perfectly, but when it's on the bottom of the screen, it just displays

> an arrow to scroll and the actual menu items are hidden behind it, so 
> it's unusable. I was told to pass a Gtk.MenuPositionFunc(Menu 
> <http://www.go-mono.com/docs/monodoc.ashx?link=T%3aGtk.Menu> menu,out 
> int <http://www.go-mono.com/docs/monodoc.ashx?link=T%3aSystem.Int32> 
> x, out int 
> <http://www.go-mono.com/docs/monodoc.ashx?link=T%3aSystem.Int32>
> y, bool
> <http://www.go-mono.com/docs/monodoc.ashx?link=T%3aSystem.Boolean>
> push_in) to Gtk.Menu.Popup(Widget
> <http://www.go-mono.com/docs/monodoc.ashx?link=T%3aGtk.Widget>, Widget
> <http://www.go-mono.com/docs/monodoc.ashx?link=T%3aGtk.Widget>,
> MenuPositionFunc
> System.IntPtr
> <http://www.go-mono.com/docs/monodoc.ashx?link=T%3aSystem.IntPtr>,
> <http://www.go-mono.com/docs/monodoc.ashx?link=T%3aSystem.UInt32>,
> <http://www.go-mono.com/docs/monodoc.ashx?link=T%3aSystem.UInt32>).
> only thing I can't work out is the algorithm of calculating the
> coordinates where I should pop up the menu. So I assume the first step
> would be to create a Gtk.Requisition and get menu.SizeRequest() so I
> know the requested size. But where do I go from there? I have spoken
> some people on irc in #gtk+ but didn't get too much advice. I would
> *greatly* appreciate any help.
> Kind regards,
> gamehack
> PS. I'm doing it for this tutorial 
> www.mono-project.com/GtkSharpNotificationIcon. If I get help 
> eventually, I will document everything and write a mini howto and 
> hopefully a systray_menu_position function so others can use it, 
> because I'm finding it really hard to do this on my own with only API 
> references. Again, thanks for any help. 
> _______________________________________________
> Gtk-sharp-list maillist  -  Gtk-sharp-list@lists.ximian.com 
> http://lists.ximian.com/mailman/listinfo/gtk-sharp-list
Gtk-sharp-list maillist  -  Gtk-sharp-list@lists.ximian.com

More information about the Gtk-sharp-list mailing list