>I will spare you most of the code, but here is the snippet I am using to >create and bind a right-click to do a popup menu: > ><code> >ed_menu = MakeMenu.editor_bind_menu( ed ) >ed.bind('ButtonPress-3', > proc{ |x,y| > g = $mw.geometry > re = /\+(\d+?)\+(\d+?)/ > adj = re.match( g ) > ed_menu.popup( x+adj[0].to_i, y+adj[1].to_i ) > }, > "%x %y" ) ></code> > >Is there a better way than parsing the geometry string to adjust for the >fact that |x,y| gives the pointer position relative to the upper-left >corner of the window, rather than the screen? I looked for possible >methods (Widget#methods) in my menu, its parent and the main window, but >found nothing that looked useful except geometry. Have a look at TkWinfo. TkWinfo.x(ed) or TkWinfo.root_x(ed) may produce the numbers you want. Bye, Kero. +--- Kero ------------------------------ kero / chello.nl ---+ | Don't split your mentality without thinking twice | | Proud like a God -- Guano Apes | +--- M38c ------- http://members.chello.nl/~k.vangelder ---+