On Monday 06 June 2005 02:03, Bradley T Hughes wrote:
> Jason 'vanRijn' Kasper wrote:
> > But to answer your question, there's nothing new on it.  Nyz was
> > discussing adding a special blackbox-only Atom for this but he's not, I
> > don't believe, and honestly I'm not sure he should, since that would be
> > just that--a blackbox-only communication that no other window manager
> > would understand.
>
> Adding something to get bbkeys to open the menu shouldn't be hard.  The
> hard part will be in getting bbkeys to transfer the keyboard grab to
> blackbox.  I haven't dug into this, so it could turn out to be easy, but
>   I'm not the optimist I used to be :)
>

Well, the approach taken by xmacro would work, I'm pretty sure--using the 
XTest extension to move the mouse to a given point and fire a ButtonPress and 
ButtonRelease.  In fact, if I have this in /tmp/button3.test:

MotionNotify: 12 12
ButtonPress: 3
ButtonRelease: 3

and run "xmacroplay :0 </tmp/button3.test", the menu does get opened and focus 
is transferred to it, so up/down/left/right keypresses works as one would 
expect.  The only thing is that this requires the user to know at exactly 
what coordinates to move the mouse pointer to before triggering a 
ButtonPress/ButtonRelease.  In other words, it's not a showRootMenu function 
this way.  It's a pressMouseButton3 function, being passed a geometry.  And 
if a window is in the way, the root window won't open.  =:(

The more I think about it, though, the more I think this is the only way to do 
it, as inelegant as it is, because WM's like Kwin and Metacity don't actually 
know anything about a "root" window the way blackbox and its children do.  I 
just don't like this approach at all because it's very non-intuitive, can 
easily lead to errors ("hey, how come my Mozilla window keeps closing when I 
try to open my blackbox menu at the top right corner of the screen??"), and 
requires the user to dedicate a spot on their screen for this action to 
always take place and then remember to not cover that area up with a window.  
=:(

I would much rather be able to use straight XSendEvent calls to simulate this 
but that seems to not work properly.

-- 

,-----------------------------------------------------------------//
| Jason 'vanRijn' Kasper ::  Numbers 6:22-26 
 `
 | All brontosauruses are thin at one end, much MUCH thicker 
 | in the middle, and then thin again at the far end.  That is 
 | the theory that I have and which is mine, and what it is too.  
 ,
| bash$ :(){ :|:&};:
`----------------------//

-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
List archives:  http://asgardsrealm.net/lurker/splash/index.html

Reply via email to