diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ui/hotkey_overlay.rs | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/src/ui/hotkey_overlay.rs b/src/ui/hotkey_overlay.rs index ff4ffef5..baa414bc 100644 --- a/src/ui/hotkey_overlay.rs +++ b/src/ui/hotkey_overlay.rs @@ -398,12 +398,27 @@ fn key_name(comp_mod: CompositorMod, key: &Key) -> String { let has_comp_mod = key.modifiers.contains(Modifiers::COMPOSITOR); + // Compositor mod goes first. + if has_comp_mod { + if comp_mod == CompositorMod::Super { + name.push_str("Super + "); + } else if comp_mod == CompositorMod::Alt { + name.push_str("Alt + "); + } + } + if key.modifiers.contains(Modifiers::SUPER) - || (has_comp_mod && comp_mod == CompositorMod::Super) + && !(has_comp_mod && comp_mod == CompositorMod::Super) { name.push_str("Super + "); } - if key.modifiers.contains(Modifiers::ALT) || (has_comp_mod && comp_mod == CompositorMod::Alt) { + if key.modifiers.contains(Modifiers::CTRL) { + name.push_str("Ctrl + "); + } + if key.modifiers.contains(Modifiers::SHIFT) { + name.push_str("Shift + "); + } + if key.modifiers.contains(Modifiers::ALT) && !(has_comp_mod && comp_mod == CompositorMod::Alt) { name.push_str("Alt + "); } if key.modifiers.contains(Modifiers::ISO_LEVEL3_SHIFT) { @@ -412,12 +427,6 @@ fn key_name(comp_mod: CompositorMod, key: &Key) -> String { if key.modifiers.contains(Modifiers::ISO_LEVEL5_SHIFT) { name.push_str("ISO_Level5_Shift + "); } - if key.modifiers.contains(Modifiers::SHIFT) { - name.push_str("Shift + "); - } - if key.modifiers.contains(Modifiers::CTRL) { - name.push_str("Ctrl + "); - } let pretty = match key.trigger { Trigger::Keysym(keysym) => prettify_keysym_name(&keysym_get_name(keysym)), |
