Hotkeys with <Super> modifier overriding each other
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libxfce4ui |
Fix Released
|
Medium
|
|||
libxfce4ui (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Steps to reproduce:
1. Add a keyboard shortcut to F12. Put it to `notify-send "F12"`
2. Press F12 to verify that it works.
3. Add a second keyboard shortcut to <Super>F12. Put it to `notify-send "Super F12"`
4. Press Super+F12. Verify that Super F12 shows up.
5. Press F12. Sees Super F12 shows up again when F12 should show up.
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: xfwm4 4.11.1-2ubuntu1
ProcVersionSign
Uname: Linux 3.13.0-23-generic x86_64
ApportVersion: 2.14.1-0ubuntu1
Architecture: amd64
CurrentDesktop: XFCE
Date: Sun Apr 6 13:07:27 2014
InstallationDate: Installed on 2013-07-08 (272 days ago)
InstallationMedia: Xubuntu 13.04 "Raring Ringtail" - Release amd64 (20130423.1)
ProcEnviron:
LANGUAGE=en_US
PATH=(custom, no user)
XDG_RUNTIME_
LANG=en_US.UTF-8
SHELL=/bin/zsh
SourcePackage: xfwm4
UpgradeStatus: Upgraded to trusty on 2014-04-05 (1 days ago)
affects: | xfwm4 (Ubuntu) → xfce4-settings (Ubuntu) |
affects: | xfce4-settings (Ubuntu) → libxfce4ui (Ubuntu) |
Changed in libxfce4ui: | |
importance: | Unknown → Medium |
status: | Unknown → Confirmed |
summary: |
- Hotkeys overriding each other + Hotkeys with <Super> modifier overriding each other |
Changed in libxfce4ui: | |
status: | Confirmed → Incomplete |
Changed in libxfce4ui: | |
status: | Incomplete → Fix Released |
http:// git.xfce. org/xfce/ libxfce4ui/ commit/ ?id=e56596a37ff db4fe8fda449146 6e6f826270accc:
From e56596a37ffdb4f e8fda4491466e6f 826270accc Mon Sep 17 00:00:00 2001
From: Jérôme Guelfucci <email address hidden>
Date: Tue, 18 Dec 2012 07:21:03 +0000
Subject: Improve key comparison.
Remove horrible hardcoded hack and use the recommanded way of comparison
described in the GDK documentation instead.
--
I gave the 4.11 a try and am now suffering from this bug:
Steps to reproduce:
1) Assign a command "a" to a key e.g. XF86Sleep.
2) Assign a command "b" to that same key but with <Super> modifier: <Super>XF86Sleep.
The settings dialog handles and shows these assignments correctly, and using xfce4-settings- editor, one can confirm that these assignments are correctly saved.
3a) Hit XF86Sleep.
3b) Hit <Super>XF86Sleep.
Expected results:
In case 3a), command "a" is executed.
In case 3b), command "b" is executed.
Actual results:
In both cases 3a) and 3b), command "a" is executed.
DBG[xfce- shortcuts- provider. c:288] xfce_shortcuts_ provider_ property_ changed( ): property = /commands/ custom/ <Super> XF86Calculator shortcuts- grabber. c:311] xfce_shortcuts_ grabber_ grab(): Grabbing <Mod4>< Super>XF86Calcu lator shortcuts- grabber. c:315] xfce_shortcuts_ grabber_ grab(): Keyval: 269025053 shortcuts- grabber. c:316] xfce_shortcuts_ grabber_ grab(): Modifiers: 0x4000040 shortcuts- grabber. c:355] xfce_shortcuts_ grabber_ grab(): Keycode: 148
TRACE[xfce-
TRACE[xfce-
TRACE[xfce-
TRACE[xfce-
TRACE[xfce- shortcuts- grabber. c:519] xfce_shortcuts_ grabber_ event_filter( ): Looking for XF86Calculator shortcuts- grabber. c:449] find_event_key(): Comparing to <Super> XF86Calculator shortcuts- grabber. c:457] find_event_key(): Positive match for <Super> XF86Calculator shortcuts- grabber. c:457] find_event_key(): Positive match for XF86Calculator
...
TRACE[xfce-
TRACE[xfce-
...
TRACE[xfce-
Note how the grabber didn't respect our <Super> key.
The same works fine with the <Shift> key:
DBG[xfce- shortcuts- provider. c:288] xfce_shortcuts_ provider_ property_ changed( ): property = /commands/ custom/ <Shift> XF86Calculator shortcuts- grabber. c:311] xfce_shortcuts_ grabber_ grab(): Grabbing <Shift> XF86Calculator shortcuts- grabber. c:315] xfce_shortcuts_ grabber_ grab(): Keyval: 269025053 shortcuts- grabber. c:316] xfce_shortcuts_ grabber_ grab(): Modifiers: 0x1 shortcuts- grabber. c:355] xfce_shortcuts_ grabber_ grab(): Keycode: 148
TRACE[xfce-
TRACE[xfce-
TRACE[xfce-
TRACE[xfce-
TRACE[xfce- shortcuts- grabber. c:519] xfce_shortcuts_ grabber_ event_filter( ): Looking for <Shift> XF86Calculator shortcuts- grabber. c:449] find_event_key(): Comparing to <Shift> XF86Calculator shortcuts- grabber. c:457] find_event_key(): Positive match for <Shift> XF86Calculator
...
TRACE[xfce-
TRACE[xfce-
...
And here is the old grabber version: shortcuts- grabber. c:526] xfce_shortcuts_ grabber_ event_filter( ): Looking for <Hyper> <Super> XF86Calculator
TRACE[xfce-