7

Coming back from Windows 7 I'd like two kinds of shortcuts to work at the same time:

  • Pressing Win (a.k.a. Super) alone should open the whiskermenu e.g. for quick application launch
  • Pressing Win + an arrow should provide the same behaviour as Windows does, i.e. Maximizing/Restoring, Minimizing, Tiling Left/Right

Unfortunately when I set up both the Window manager shortcuts for the latter and the keyboard application shortcut xfce4-popup-whiskermenu to Super-L, the Window manager combination are ignored and upon releasing the Win the whiskermenu opens nonetheless.

How can this be fixed?

(I'm running Arch Linux, if that is relevant)

  • Does it work if you use something like xbindkeys to set the Win -> xfce4-popup-whiskermenu shortcut? – terdon Oct 19 '15 at 12:34
  • @terdon Unfortunately it doesn't seem to work (I hope just running xbindkeys from a running session is sufficient, I didn't modify .Xsession and relog: "*** Warning *** Please verify that there is not another program running which captures one of the keys captured by xbindkeys. It seems that there is a conflict, and xbindkeys can't grab all the keys defined in its configuration file." – Tobias Kienzler Oct 19 '15 at 12:47
  • Try again after disabling the shortcut from the window manager. That error means that both the window manager and xbindkeys are trying to bind the same key. If you disable the WM one, you can at least use xbindkeys and then you can see whether this actually helps or not. – terdon Oct 19 '15 at 12:50
  • @terdon I did, to no avail - I'd probably have to eliminate any shortcut involving the Win-key, and then use xbindkeys to control the Window manager as well :-/ – Tobias Kienzler Oct 19 '15 at 12:54
  • 1
    Install xcape from the arch repositories and follow the instructions on this SE question. While this question was meant for openbox, it works completely fine in xfce, too. – Devon Jun 2 '18 at 20:13
3

Use xcape to fix this (KDE users might be interested in ksuperkey). While this small background daemon is useful to bind keys to another (combination of) keys, it also comes along with the feature of running actions only when keys are released, not when they are pressed.

  1. Install xcape.

  2. Assign Linux key Super to a placeholder shortcut like ⎈ Shift⎇ Ctrl⇧ AltLinux key SuperD or any other shortcut that is not taken by another application:

    xcape -e 'Super_L=Shift_L|Control_L|Alt_L|Super_L|D'
    
  3. Make sure to start whiskermenu with the same shortcut. Do this by adding a shortcut in Settings > Keyboard > Shortcuts.

  4. Add your xcape command in Settings > Session and Startup > Application Autostart to automatically start xcape when xfce boots up.
  • 1
    Interesting Xfce bug: bugzilla.xfce.org/show_bug.cgi?id=7845 – Devon Jun 4 '18 at 15:17
  • For The newcomers here, you need to add the whole xcape command to the startup settings, like the example he provided: xcape -e 'Super_L=Control_L|Shift_L|Alt_L|Super_L|Escape' Thanks for putting this together for us, @Devon – David Culbreth Apr 10 at 18:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.