keybinds: Add dispatcher for xmonad/qtile-style workspace switching (#4439)

* feat: implement xmonad/qtile-style workspace switching

Implements the focusWorkspaceOnCurrentMonitor dispatcher and function,
which implements XMonad/Qtile-style workspace switching.

When called, focusWorkspaceOnCurrentMonitor will:
1. Send the requested workspace to the current monitor,
2. If the workspace was previously active on a different monitor,
   replace it with the workspace that was previously active on the
   current monitor,
3. Focus the workspace on the current monitor.

* fix: address PR comments
This commit is contained in:
virchau13
2024-01-15 23:30:46 +08:00
committed by GitHub
parent f14c5ea5c5
commit 3c964a9fdc
6 changed files with 109 additions and 64 deletions

View File

@@ -134,6 +134,7 @@ class CKeybindManager {
static void exitHyprland(std::string);
static void moveCurrentWorkspaceToMonitor(std::string);
static void moveWorkspaceToMonitor(std::string);
static void focusWorkspaceOnCurrentMonitor(std::string);
static void toggleSpecialWorkspace(std::string);
static void forceRendererReload(std::string);
static void resizeActive(std::string);