20

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)

9
  • Does it work if you use something like xbindkeys to set the Win -> xfce4-popup-whiskermenu shortcut? Commented Oct 19, 2015 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." Commented Oct 19, 2015 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. Commented Oct 19, 2015 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 :-/ Commented Oct 19, 2015 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. Commented Jun 2, 2018 at 20:13

1 Answer 1

8

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.
3
  • 2
    Interesting Xfce bug: bugzilla.xfce.org/show_bug.cgi?id=7845 Commented Jun 4, 2018 at 15:17
  • 1
    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 Commented Apr 10, 2019 at 18:47
  • 1
    Here's the new home of that "interesting Xfce bug" on GitLab: gitlab.xfce.org/xfce/libxfce4ui/-/issues/1 Commented Feb 16, 2021 at 18:55

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.