Ticket #111 (assigned features: None)

Opened 2 years ago

Last modified 16 months ago

WISHLIST: better edewm control over keyboard input

Reported by: konsolefreak Owned by: karijes
Priority: lowest Milestone: 2.0 alpha
Component: ede Version: None
Keywords: Cc:

Description (last modified by karijes) (diff)

First off I want to say that I really like ede.  It's light weight and fast and yet easy to use with its default configuration.
	I have noticed a problem that seems to exist in almost all other window managers(except maybe kde) that allows programs to take control of the mouse and keyboard.  I don't have a very good understanding of this, but it seems that a program can take over the keyboard and (and mouse too) and there doesn't seem to be a way to recover except to switch to console and kill the program if you're lucky enough to know which one it is.  Another way is the Xorg key combination which can kill the program as a last resort - see note at the end.  I tried this and it doesn't seem to work with all programs.  I couldn't seem to get the key combination to do anything to a full screen game I was testing it with.  I was also worried that this might allow a user to bypass the xscreensaver password prompt or that the user of ede wouldn't know to press the CTRL+ALY+/-*.  Kde seems to have an options that prevents this.
	My suggestion: maybe there could be an option that would ask the user to grant the program permission when it tries to grab the keyboard.  This would be used in addition to CTRL+ESC hotkey that windows users are used to(Assuming the user says no to the first question!).  And maybe some sort of CTRL+ALT+DEL like emergency recovery menu that could be used to kill a misbehaving program or kick off an application that is hogging the mouse that is similar to what windows has.
	I think this is a great project and I seem to have lots of ideas about improving it.  I have been wanting to make a desktop environment but this one seem to be what I was wanting to make.  If anyone wants anymore ideas I'll be happy to talk about them. :-).


This is from the xorg.conf man page:

       Option "AllowDeactivateGrabs" "boolean"
              This option enables the use of  the  Ctrl+Alt+Keypad-Divide  key
              sequence  to  deactivate  any  active  keyboard and mouse grabs.
              Default: off.

       Option "AllowClosedownGrabs" "boolean"
              This option enables the use of the Ctrl+Alt+Keypad-Multiply  key
              sequence  to  kill clients with an active keyboard or mouse grab
              as well as killing any application  that  may  have  locked  the
              server,   normally  using  the  XGrabServer(3x)  Xlib  function.
              Default: off.
              Note that the options AllowDeactivateGrabs  and  AllowClosedown-
              Grabs  will  allow  users  to  remove  the  grab  used by screen
              saver/locker programs.  An API was written to such cases. If you
              enable  this  option,  make  sure  your  screen  saver/locker is
              updated.

Change History

Changed 2 years ago by konsolefreak

Logged In: YES 
user_id=1502924

Oh sorry,  I see that this should have probably gone in the feature request section.

Changed 2 years ago by vljubovic

Logged In: YES 
user_id=110776

As far as I can tell, Xorg doesn't provide an API to do 
what you suggest. Keyboard grabs are set per window level, 
which means that any active window can take over keyboard 
from edewm and there's nothing edewm can do about that. 
I've used this to fix problems with ekeyconf (e.g. setting 
an already used shortcut to do something else). 
 
But I didn't really look hard, so if you can find how to 
do this I'd be more than happy to hear :) 

Changed 2 years ago by karijes

Logged In: YES 
user_id=832040

Moved to feature requests.

Checked for future :)

Changed 16 months ago by karijes

  • priority changed from 5 to lowest
  • component changed from None to ede
  • description modified (diff)
  • milestone set to 2.0 alpha
Note: See TracTickets for help on using tickets.