Skip to content

Keyboard Shortcuts settings feedback #914

@zgibberish

Description

@zgibberish

Compositor

  • niri
  • Hyprland
  • dwl (MangoWC)
  • sway
  • Other (specify)

I wrote niri because I only use niri and have only tested on this compositor.

Distribution

Arch Linux

dms version

dms-git version v0.6.2-250-gae066f42

Description

I've been using the new Keyboard Shortcuts settings in DMS, it's great, but there's various bugs and things that can be improved.

Issues

1. Dashboard toggle doesn't work because it's missing the default "" argument.

This (default) doesn't work

Super+D hotkey-overlay-title="Dashboard: Toggle" { spawn "dms" "ipc" "call" "dash" "toggle"; }

This works (tho will get reverted when DMS cleans up the keybinds config file

Super+D hotkey-overlay-title="Dashboard: Toggle" { spawn "dms" "ipc" "call" "dash" "toggle" ""; }

2. Cannot bind certain keys (doesn't register or triggers something else while listening for keybind)

  • Cannot bind shortcuts with ESC because it will cancel the keybind listen box
  • Cannot bind Alt+Print (it doesn't register), but Ctrl+Print works
  • Alt-Tab: Adding Alt+Shift+Tab keybind doesn't work, it changes the settings page
  • Cannot add mousewheel keybinds

3. Missing some niri actions (here's some I've noticed):

  • set-column-width
  • set-window-height
  • center-visible-columns
  • expand-column-to-available-width
  • reset-window-height
  • focus-workspace (by reference)
  • move-column-to-workspace (by reference)
  • set-column-width
  • set-column-height
  • switch-focus-between-floating-and-tiling

4. Some kdl parsing error

DMS settings will give kdl parsing error if I add any of these binds manually into DMS's binds.kdl file, but these work fine when put into niri's config.kdl

Mod+1 hotkey-overlay-title="Focus Workspace 1" { focus-workspace 1; }
Mod+2 hotkey-overlay-title="Focus Workspace 2" { focus-workspace 2; }
Mod+3 hotkey-overlay-title="Focus Workspace 3" { focus-workspace 3; }
Mod+4 hotkey-overlay-title="Focus Workspace 4" { focus-workspace 4; }
Mod+5 hotkey-overlay-title="Focus Workspace 5" { focus-workspace 5; }
Mod+6 hotkey-overlay-title="Focus Workspace 6" { focus-workspace 6; }
Mod+7 hotkey-overlay-title="Focus Workspace 7" { focus-workspace 7; }
Mod+8 hotkey-overlay-title="Focus Workspace 8" { focus-workspace 8; }
Mod+9 hotkey-overlay-title="Focus Workspace 9" { focus-workspace 9; }
Mod+0 hotkey-overlay-title="Focus Workspace 10" { focus-workspace 10; }
Mod+Shift+1 hotkey-overlay-title="Move to Workspace 1" { move-column-to-workspace 1 focus=false; }
Mod+Shift+2 hotkey-overlay-title="Move to Workspace 2" { move-column-to-workspace 2 focus=false; }
Mod+Shift+3 hotkey-overlay-title="Move to Workspace 3" { move-column-to-workspace 3 focus=false; }
Mod+Shift+4 hotkey-overlay-title="Move to Workspace 4" { move-column-to-workspace 4 focus=false; }
Mod+Shift+5 hotkey-overlay-title="Move to Workspace 5" { move-column-to-workspace 5 focus=false; }
Mod+Shift+6 hotkey-overlay-title="Move to Workspace 6" { move-column-to-workspace 6 focus=false; }
Mod+Shift+7 hotkey-overlay-title="Move to Workspace 7" { move-column-to-workspace 7 focus=false; }
Mod+Shift+8 hotkey-overlay-title="Move to Workspace 8" { move-column-to-workspace 8 focus=false; }
Mod+Shift+9 hotkey-overlay-title="Move to Workspace 9" { move-column-to-workspace 9 focus=false; }
Mod+Shift+0 hotkey-overlay-title="Move to Workspace 10" { move-column-to-workspace 10 focus=false; }
Super+Minus hotkey-overlay-title="Adjust Column Width -10%" { set-column-width "-10%"; }
Super+Equal hotkey-overlay-title="Adjust Column Width +10%" { set-column-width "+10%"; }
Super+Shift+Minus hotkey-overlay-title="Adjust Window Height -10%" { set-window-height "-10%"; }
Super+Shift+Equal hotkey-overlay-title="Adjust Window Height +10%" { set-window-height "+10%"; }

Suggestions

1. Add adjustable options for some ipc actions

To list a few (that I can think of):

  • Volume/brightness
  • (niri) set-column-width/set-window-height & focus-workspace/move-column-to-workspace (these are missing btw, see issue 3)
  • (niri) screenshot commands (write-to-disk, show-pointer, etc), currently I have 2 different binds: Print (screenshot screen to clipboard) and Super+Print (screenshot screen and save to disk). DMS groups them into the same action "Screenshot Screen". I have to override them in niri's main config file so DMS doesn't mess with them and remove the arguments.
  • (niri) move window to workspace (focus=true/false)
  • Maybe this can be applied to some DMS actions as well

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions