7

Hope you are having a fantastic week. I'll jump straight to the topic.

I'm using xfce-Kali 2020.1b, xfce v4.14.

I wanted to assign 'Super' to xfce4-appfinder in place of whiskermenu because it was way more responsive on my chromebook machine. I was able to bind it and use xfce4-appfinder but was unable to disable whiskermenu's shortcut. So they would launch at the same time or one after the other.

As far as I understand, whiskermenu used to only launch with a keybind to xfce4-popup-whiskermenu that could be set via the Keyboard app's application shortcuts section. But that caused issues with being unable to use 'Super' for any other shortcut because the shortcuts set in "~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml" still get activated on press rather then on release as stated here in the xfce's bug tracker. But I don't have this problem. So my best guess is Super was hard coded to whiskermenu by some party to remedy this bug.

I did a grep search on the entire machine to find where the cfg file for this hardcoded Super is but was unsuccessful. All I found was Ctrl+Esc shortcuts, which cause no harm:

$ sudo grep -ri "xfce4-popup-whiskermenu" /* 2>/dev/null
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml:      <property name="&lt;Alt&gt;F1" type="string" value="xfce4-popup-whiskermenu --pointer"/>
/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml:      <property name="&lt;Primary&gt;Escape" type="string" value="xfce4-popup-whiskermenu"/>
Binary file /home/thmyris/.mozilla/firefox/gzthh3eo.default-esr/places.sqlite-wal matches
Binary file /home/thmyris/.mozilla/firefox/gzthh3eo.default-esr/places.sqlite matches
/home/thmyris/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml:      <property name="&lt;Primary&gt;Escape" type="string" value="xfce4-popup-whiskermenu"/>
/home/thmyris/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml:      <property name="&lt;Alt&gt;F1" type="string" value="xfce4-popup-whiskermenu --pointer"/>

There is another post from 6 years ago about this problem's past incarnation here but neither that question nor the answers are of use to this problem sadly.

1

2 Answers 2

6

The accepted answer talks about mapping the Super-L key to the whisker menu. However, the question was about unmapping the Super key.

I have Xubuntu 21.10, and the Super key by itself launched the whisker menu. (I think this started to happen only after I upgraded from Xubuntu 21.04, but I'm not completely sure.) I wanted to get rid of this behaviour (and thus found this answer after a web search).

The solution: in Settings » Keyboard » Application Shortcuts, I edited the existing entry for xfce4-popup-whiskermenu (which bound the Ctrl-Escape keystroke to it), and chose another keystroke (Super-§). Doing this unbound both Ctrl-Escape from launching the whisker menu, as expected, but also the side effect of unbinding the Super key by itself, which was what I wanted.

Note that Ctrl-Escape was the only entry in Application Shortcuts concerning xfce4-popup-whiskermenu. I still don't know where the binding to the Super key came from.

5

Super_L key is not hard-coded with Whiskermenu.

Application shortcuts can be accessed in the settings manager. Open Settings Manager > Keyboard > Application Shortcuts

or via xfconf-query in xfce4-keyboard-shortcuts channel

xfconf-query -c xfce4-keyboard-shortcuts -l

In that channel there could be a property that defines Super_L key shortcut

xfconf-query -c xfce4-keyboard-shortcuts -p /commands/custom/Super_L

However, from the output provided...

/home/thmyris/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml:      <property name="&lt;Primary&gt;Escape" type="string" value="xfce4-popup-whiskermenu"/>
/home/thmyris/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml:      <property name="&lt;Alt&gt;F1" type="string" value="xfce4-popup-whiskermenu --pointer"/

Ctrl + Escape is a key-combo set to popup whisker menu at the panel plugin's button and
Alt + F1 is set to popup whisker menu at the current mouse position

If Super_L stil pops Whisker Menu, most likely there is a daemon running that monitors for Super_L key press and when it is the case, emulates Ctrl+Escape. There are two applications, that I know of, that fit the description: xcape and ksuperkey. One of these could be installed and set to run on startup. Both run as a daemon and both are used to prevent Super key breaking other Super key combinations. If it is xcape, the autostart command is set to run daemon is:

xcape -e 'Super_L=Control_L|Escape'

Xcape is in Debian repos, so it is most likely used. In case of ksuperkey:

ksuperkey -e 'Super_L=Control_L|Escape'

Check which daemon is running and check if there is a autostart entry in the settings:
Settings Manager > Session and Startup > Application Autostart.

3
  • 1
    You are right, running ps -ef | grep "xcape" outputs the line xcape -e Super_L Control_L Escape. Going over to autostart settings revealed an item called "xcape Super key bind". Unticking that and restarting unbinded Super from whiskermenu. Ty so much! So my theory was kind of true, either offsec or xfce guys put this daemon here to circumvent the decade old bug mentioned in the question.
    – Thmyris
    Jul 20, 2020 at 9:36
  • Xfce guys don't do that, it was recommended on the xfce forums as a workaround for the bug you mentioned. Super key breaks other key combinations (Super+1, Super+2, Super+S...) so it's better to have xcape running and set Control_L+Escape to run something like sh -c 'wmctrl -x -a xfce4-appfinder || xfce4-appfinder' Jul 21, 2020 at 11:18
  • Even better: close or run xfce4-appfinder sh -c 'wmctrl -x -c xfce4-appfinder || xfce4-appfinder' Jul 21, 2020 at 11:29

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.