[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


Hey!

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

http://www.mono-project.com/index.php?title=GtkSharpNotificationIcon&dif
f=0&oldid=1787

Please let me know that this worked for you.

Regards,
Eric

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
>
<http://www.go-mono.com/docs/monodoc.ashx?link=T%3aGtk.MenuPositionFunc>
,
> System.IntPtr
> <http://www.go-mono.com/docs/monodoc.ashx?link=T%3aSystem.IntPtr>,
uint
> <http://www.go-mono.com/docs/monodoc.ashx?link=T%3aSystem.UInt32>,
uint
> <http://www.go-mono.com/docs/monodoc.ashx?link=T%3aSystem.UInt32>).
The
> 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
to
> 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
http://lists.ximian.com/mailman/listinfo/gtk-sharp-list





More information about the Gtk-sharp-list mailing list