Feature Request: Unified Shortcuts Configuration with Origin Indicators
Problem Statement
Users currently face a fragmented workflow when configuring shortcuts for their workspace design. Modifying standard window operations (like "Close focused window" or "Move window to workspace") requires navigating deep into native GNOME System Settings, while extension-specific layout shortcuts are managed in the extension's preferences window. This makes it frustrating to map out an optimized, conflict-free tiling workflow.
Proposed Solution
Expose highly relevant native GNOME keyboard shortcuts alongside custom tiling shortcuts directly within the extension's prefs.js configuration window. This consolidates workflow configuration into a single, all-in-one panel.
Expected Behavior
- All-in-One Dashboard: The extension configuration panel displays a section dedicated to core system keybindings alongside custom tiling hotkeys.
- Origin Visibility Indicator: The UI must clearly differentiate between system-wide shortcuts and extension-specific shortcuts at a single glance. This will be handled using visual indicators (e.g., specific subtitle labels, custom tag badges like
System or Extension, or grouped sub-sections).
- Bi-directional Reflection: Editing a shortcut within the extension's menu updates the native system behavior instantly, and vice versa.
- Conflict Prevention: Users can immediately spot and reassign overlapping shortcuts (e.g., if a native navigation rule conflicts with a custom window-swapping shortcut).
Target Native Keybindings to Include
- Window Control: Close focused window (
close), Maximize/Unmaximize (maximize, unmaximize), and Toggle fullscreen (toggle-fullscreen).
- Workspace Navigation: Switch to workspace 1-4 (
switch-to-workspace-x) and Move window to workspace 1-4 (move-to-workspace-x).
Implementation Starting Points
- Visual Representation: Utilize
Adw.ActionRow or Adw.KeybindingRow combined with an Adw.Badge or custom styling to flag the shortcut origin (System vs Extension).
- Target Schemas: Interface directly with the core GNOME settings namespaces for native behaviors:
- Window actions:
org.gnome.desktop.wm.keybindings
- Media/System actions:
org.gnome.settings-daemon.plugins.media-keys
- Preferences Component: Pass the foreign, relocatable system schema IDs explicitly into the preferences UI logic instead of binding all rows to the default extension settings object.
Feature Request: Unified Shortcuts Configuration with Origin Indicators
Problem Statement
Users currently face a fragmented workflow when configuring shortcuts for their workspace design. Modifying standard window operations (like "Close focused window" or "Move window to workspace") requires navigating deep into native GNOME System Settings, while extension-specific layout shortcuts are managed in the extension's preferences window. This makes it frustrating to map out an optimized, conflict-free tiling workflow.
Proposed Solution
Expose highly relevant native GNOME keyboard shortcuts alongside custom tiling shortcuts directly within the extension's
prefs.jsconfiguration window. This consolidates workflow configuration into a single, all-in-one panel.Expected Behavior
SystemorExtension, or grouped sub-sections).Target Native Keybindings to Include
close), Maximize/Unmaximize (maximize,unmaximize), and Toggle fullscreen (toggle-fullscreen).switch-to-workspace-x) and Move window to workspace 1-4 (move-to-workspace-x).Implementation Starting Points
Adw.ActionRoworAdw.KeybindingRowcombined with anAdw.Badgeor custom styling to flag the shortcut origin (SystemvsExtension).org.gnome.desktop.wm.keybindingsorg.gnome.settings-daemon.plugins.media-keys