diff --git a/windoof/.glzr/glazewm/config.yaml b/windoof/.glzr/glazewm/config.yaml index 83e3921..66e7de1 100644 --- a/windoof/.glzr/glazewm/config.yaml +++ b/windoof/.glzr/glazewm/config.yaml @@ -1,257 +1,324 @@ -general: - # Commands to run when the WM has started (e.g. to run a script or launch - # another application). Here we are running a batch script to start Zebar. - startup_commands: ['shell-exec --command %userprofile%/.glzr/zebar/start.bat'] - - # Whether to automatically focus windows underneath the cursor. - focus_follows_cursor: false - - # Whether to switch back and forth between the previously focused - # workspace when focusing the current workspace. - toggle_workspace_on_refocus: false - - cursor_jump: - # Whether to automatically move the cursor on the specified trigger. - enabled: true - - # Trigger for cursor jump: - # - 'monitor_focus': Jump when focus changes between monitors. - # - 'window_focus': Jump when focus changes between windows. - trigger: 'monitor_focus' - -gaps: - # Gap between adjacent windows. - inner_gap: '2px' - - # # Gap between windows and the screen edge. - outer_gap: - top: '32px' - right: '4px' - bottom: '4px' - left: '4px' - -window_effects: - # Visual effects to apply to the focused window. - focused_window: - # Highlight the window with a colored border. - # ** Exclusive to Windows 11 due to API limitations. - border: - enabled: false - color: '#0000ff' - - # Visual effects to apply to non-focused windows. - other_windows: - border: - enabled: false - -window_behavior: - # New windows are created in this state whenever possible. - # Allowed values: 'tiling', 'floating'. - initial_state: 'tiling' - - # Sets the default options for when a new window is created. This also - # changes the defaults for when the state change commands, like - # `set-floating`, are used without any flags. - state_defaults: - floating: - # Whether to center floating windows by default. - centered: true - - # Whether to show floating windows as always on top. - shown_on_top: true - - fullscreen: - # Maximize the window if possible. If the window doesn't have a - # maximize button, then it'll be fullscreen'ed normally instead. - maximized: false - -workspaces: - - name: "0" - display_name: " " - bind_to_monitor: 1 - keep_alive: true - - name: "1" - display_name: " " - bind_to_monitor: 2 - keep_alive: true - - name: "2" - display_name: " " - bind_to_monitor: 1 - keep_alive: true - - name: "3" - display_name: "󱜠 " - bind_to_monitor: 2 - keep_alive: true - - name: "4" - display_name: "󰴢 " - bind_to_monitor: 2 - keep_alive: true - - name: "5" - display_name: "󰊻 " - bind_to_monitor: 2 - - name: "6" - bind_to_monitor: 2 - - name: "7" - - name: "8" - - name: "9" - -window_rules: - - commands: ['ignore'] - match: - # Ignores any Zebar windows. - - window_process: { equals: 'zebar' } - - # Ignores picture-in-picture windows for browsers. - - window_title: { regex: '[Pp]icture.in.[Pp]icture' } - window_class: { regex: 'Chrome_WidgetWin_1|MozillaDialogClass' } - -binding_modes: - # When enabled, the focused window can be resized via arrow keys or HJKL. - - name: 'resize' - keybindings: - - commands: ['resize --width -2%'] - bindings: ['h', 'left'] - - commands: ['resize --width +2%'] - bindings: ['l', 'right'] - - commands: ['resize --height +2%'] - bindings: ['k', 'up'] - - commands: ['resize --height -2%'] - bindings: ['j', 'down'] - # Press enter/escape to return to default keybindings. - - commands: ['wm-disable-binding-mode --name resize'] - bindings: ['escape', 'enter'] - - # When enabled, all keybindings are disabled except for alt+shift+p which - # returns to default keybindings. - - name: 'pause' - keybindings: - - commands: ['wm-disable-binding-mode --name pause'] - bindings: ['alt+shift+p'] - -keybindings: - # Shift focus in a given direction. - - commands: ['focus --direction left'] - bindings: ['alt+h', 'alt+left'] - - commands: ['focus --direction right'] - bindings: ['alt+l', 'alt+right'] - - commands: ['focus --direction up'] - bindings: ['alt+k', 'alt+up'] - - commands: ['focus --direction down'] - bindings: ['alt+j', 'alt+down'] - - # Move focused window in a given direction. - - commands: ['move --direction left'] - bindings: ['alt+ctrl+h', 'alt+ctrl+left'] - - commands: ['move --direction right'] - bindings: ['alt+ctrl+l', 'alt+ctrl+right'] - - commands: ['move --direction up'] - bindings: ['alt+ctrl+k', 'alt+ctrl+up'] - - commands: ['move --direction down'] - bindings: ['alt+ctrl+j', 'alt+ctrl+down'] - - # Resize focused window by a percentage or pixel amount. - - commands: ['resize --width -2%'] - bindings: ['alt+shift+h'] - - commands: ['resize --width +2%'] - bindings: ['alt+shift+l'] - - commands: ['resize --height +2%'] - bindings: ['alt+shift+k'] - - commands: ['resize --height -2%'] - bindings: ['alt+shift+j'] - -# ─< Change tiling direction. This determines where new tiling windows will >───────────── -# ─< be inserted. >─────────────────────────────────────────────────────────────────────── - - commands: ['toggle-tiling-direction'] - bindings: ['alt+v'] - -# ─< Change focus from tiling windows -> floating -> fullscreen. >──────────────────────── - - commands: ['wm-cycle-focus'] - bindings: ['alt+space'] - -# ─< Change the focused window to be tiling. >──────────────────────────────────────────── - - commands: ['toggle-tiling'] - bindings: ['alt+f'] - -# ─< Change the focused window to be fullscreen. >──────────────────────────────────────── - - commands: ['toggle-fullscreen'] - bindings: ['alt+shift+f'] - -# ─< Close focused window. >────────────────────────────────────────────────────────────── - - commands: ['close'] - bindings: ['alt+q'] - -# ─< Kill GlazeWM process safely. >─────────────────────────────────────────────────────── - - commands: ['wm-exit'] - bindings: ['alt+shift+m'] - -# ─< Re-evaluate configuration file. >──────────────────────────────────────────────────── - - commands: ['wm-reload-config'] - bindings: ['alt+shift+r'] - -# ─< Redraw all windows. >──────────────────────────────────────────────────────────────── - - commands: ['wm-redraw'] - bindings: ['alt+shift+w'] - -# ─────────< Launch CMD terminal. Alternatively, use `shell-exec --command wt` or >───────── -# ────────< shell-exec --command %ProgramFiles%/Git/git-bash.exe` to start Windows >──────── -# ─< Terminal and Git Bash respectively. >──────────────────────────────────────────────── - - commands: ['shell-exec --command wt powershell'] - bindings: ['alt+enter'] -# ─< Ubuntu shortcut >──────────────────────────────────────────────────────────────────── - - commands: ['shell-exec --command wt ubuntu2404.exe'] - bindings: ['alt+t'] -# ─< Explorer shortcut >────────────────────────────────────────────────────────────────── - - commands: ['shell-exec --command explorer.exe'] - bindings: ['alt+e'] - - commands: ['shell-exec --command files.exe'] - bindings: ['alt+shift+e'] -# ─< Thorium shortcut >─────────────────────────────────────────────────────────────────── - - commands: ['shell-exec --command C:\Users\piecka\AppData\Local\Thorium\Application\thorium.exe'] - bindings: ['alt+c'] -# ─< Obsidian shortcut >────────────────────────────────────────────────────────────────── - - commands: ['shell-exec --command C:\Users\piecka\AppData\Local\Programs\obsidian\Obsidian.exe'] - bindings: ['alt+o'] - - # Change focus to a workspace defined in `workspaces` config. - - commands: ['focus --workspace 1'] - bindings: ['alt+1'] - - commands: ['focus --workspace 2'] - bindings: ['alt+2'] - - commands: ['focus --workspace 3'] - bindings: ['alt+3'] - - commands: ['focus --workspace 4'] - bindings: ['alt+4'] - - commands: ['focus --workspace 5'] - bindings: ['alt+5'] - - commands: ['focus --workspace 6'] - bindings: ['alt+6'] - - commands: ['focus --workspace 7'] - bindings: ['alt+7'] - - commands: ['focus --workspace 8'] - bindings: ['alt+8'] - - commands: ['focus --workspace 9'] - bindings: ['alt+9'] - - commands: ['focus --workspace 0'] - bindings: ['alt+0'] - - # Move focused window to a workspace defined in `workspaces` config. - - commands: ['move --workspace 1', 'focus --workspace 1'] - bindings: ['alt+shift+1'] - - commands: ['move --workspace 2', 'focus --workspace 2'] - bindings: ['alt+shift+2'] - - commands: ['move --workspace 3', 'focus --workspace 3'] - bindings: ['alt+shift+3'] - - commands: ['move --workspace 4', 'focus --workspace 4'] - bindings: ['alt+shift+4'] - - commands: ['move --workspace 5', 'focus --workspace 5'] - bindings: ['alt+shift+5'] - - commands: ['move --workspace 6', 'focus --workspace 6'] - bindings: ['alt+shift+6'] - - commands: ['move --workspace 7', 'focus --workspace 7'] - bindings: ['alt+shift+7'] - - commands: ['move --workspace 8', 'focus --workspace 8'] - bindings: ['alt+shift+8'] - - commands: ['move --workspace 9', 'focus --workspace 9'] - bindings: ['alt+shift+9'] - - commands: ['move --workspace 0', 'focus --workspace 0'] - bindings: ['alt+shift+0'] +general: + # Commands to run when the WM has started. This is useful for running a + # script or launching another application. + # Example: The below command launches Zebar. + startup_commands: ['shell-exec zebar'] + + # Commands to run just before the WM is shutdown. + # Example: The below command kills Zebar. + shutdown_commands: ['shell-exec taskkill /IM zebar.exe /F'] + + # Commands to run after the WM config is reloaded. + config_reload_commands: [] + + # Whether to automatically focus windows underneath the cursor. + focus_follows_cursor: true + + # Whether to switch back and forth between the previously focused + # workspace when focusing the current workspace. + toggle_workspace_on_refocus: false + + cursor_jump: + # Whether to automatically move the cursor on the specified trigger. + enabled: true + + # Trigger for cursor jump: + # - 'monitor_focus': Jump when focus changes between monitors. + # - 'window_focus': Jump when focus changes between windows. + trigger: 'window_focus' + + # How windows should be hidden when switching workspaces. + # - 'cloak': Recommended. Hides windows with no animation. + # - 'hide': Legacy method (v3.5 and earlier) that has a brief animation, + # but has stability issues with some apps. + hide_method: 'cloak' + + # Affects which windows get shown in the native Windows taskbar. Has no + # effect if `hide_method: 'hide'`. + # - 'true': Show all windows (regardless of workspace). + # - 'false': Only show windows from the currently shown workspaces. + show_all_in_taskbar: false + +gaps: + # Whether to scale the gaps with the DPI of the monitor. + scale_with_dpi: true + + # Gap between adjacent windows. + inner_gap: '2px' + + # Gap between windows and the screen edge. + outer_gap: + top: '42px' + right: '2px' + bottom: '4px' + left: '2px' + +window_effects: + # Visual effects to apply to the focused window. + focused_window: + # Highlight the window with a colored border. + # ** Exclusive to Windows 11 due to API limitations. + border: + enabled: true + color: '#8dbcff' + + # Remove the title bar from the window's frame. Note that this can + # cause rendering issues for some applications. + hide_title_bar: + enabled: false + + # Change the corner style of the window's frame. + # ** Exclusive to Windows 11 due to API limitations. + corner_style: + enabled: true + # Allowed values: 'square', 'rounded', 'small_rounded'. + style: 'small_rounded' + + # Change the transparency of the window. + transparency: + enabled: false + # Can be something like '95%' or '0.95' for slightly transparent windows. + # '0' or '0%' is fully transparent (and, by consequence, unfocusable). + opacity: '95%' + + # Visual effects to apply to non-focused windows. + other_windows: + border: + enabled: true + color: '#a1a1a1' + hide_title_bar: + enabled: false + corner_style: + enabled: true + style: 'small_rounded' + transparency: + enabled: true + opacity: '85%' + +window_behavior: + # New windows are created in this state whenever possible. + # Allowed values: 'tiling', 'floating'. + initial_state: 'tiling' + + # Sets the default options for when a new window is created. This also + # changes the defaults for when the state change commands, like + # `set-floating`, are used without any flags. + state_defaults: + floating: + # Whether to center floating windows by default. + centered: true + + # Whether to show floating windows as always on top. + shown_on_top: true + + fullscreen: + # Maximize the window if possible. If the window doesn't have a + # maximize button, then it'll be fullscreen'ed normally instead. + maximized: true + + # Whether to show fullscreen windows as always on top. + shown_on_top: true + +workspaces: + - name: '1' + - name: '2' + - name: '3' + - name: '4' + - name: '5' + - name: '6' + - name: '7' + - name: '8' + - name: '9' + +window_rules: + - commands: ['ignore'] + match: + # Ignores any Zebar windows. + - window_process: { equals: 'zebar' } + + # Ignores picture-in-picture windows for browsers. + - window_title: { regex: '[Pp]icture.in.[Pp]icture' } + window_class: { regex: 'Chrome_WidgetWin_1|MozillaDialogClass' } + + # Ignore rules for various 3rd-party apps. + - window_process: { equals: 'PowerToys' } + window_class: { regex: 'HwndWrapper\[PowerToys\.PowerAccent.*?\]' } + - window_process: { equals: 'PowerToys' } + window_title: { regex: '.*? - Peek' } + - window_process: { equals: 'Lively' } + window_class: { regex: 'HwndWrapper' } + +binding_modes: + # When enabled, the focused window can be resized via arrow keys or HJKL. + - name: 'resize' + keybindings: + - commands: ['resize --width -2%'] + bindings: ['h', 'left'] + - commands: ['resize --width +2%'] + bindings: ['l', 'right'] + - commands: ['resize --height +2%'] + bindings: ['k', 'up'] + - commands: ['resize --height -2%'] + bindings: ['j', 'down'] + # Press enter/escape to return to default keybindings. + - commands: ['wm-disable-binding-mode --name resize'] + bindings: ['escape', 'enter'] + +keybindings: + # Shift focus in a given direction. + - commands: ['focus --direction left'] + bindings: ['alt+h', 'alt+left'] + - commands: ['focus --direction right'] + bindings: ['alt+l', 'alt+right'] + - commands: ['focus --direction up'] + bindings: ['alt+k', 'alt+up'] + - commands: ['focus --direction down'] + bindings: ['alt+j', 'alt+down'] + + # Move focused window in a given direction. + - commands: ['move --direction left'] + bindings: ['alt+ctrl+h', 'alt+ctrl+left'] + - commands: ['move --direction right'] + bindings: ['alt+ctrl+l', 'alt+ctrl+right'] + - commands: ['move --direction up'] + bindings: ['alt+ctrl+k', 'alt+ctrl+up'] + - commands: ['move --direction down'] + bindings: ['alt+ctrl+j', 'alt+ctrl+down'] + + # Resize focused window by a percentage or pixel amount. + - commands: ['resize --width -2%'] + bindings: ['alt+shift+h'] + - commands: ['resize --width +2%'] + bindings: ['alt+shift+l'] + - commands: ['resize --height +2%'] + bindings: ['alt+shift+k'] + - commands: ['resize --height -2%'] + bindings: ['alt+shift+j'] + + # As an alternative to the resize keybindings above, resize mode enables + # resizing via arrow keys or HJKL. The binding mode is defined above with + # the name 'resize'. + # - commands: ['wm-enable-binding-mode --name resize'] + # bindings: ['alt+r'] + + # Disables window management and all other keybindings until alt+shift+p + # is pressed again. + - commands: ['wm-toggle-pause'] + bindings: ['alt+shift+p'] + + # Change tiling direction. This determines where new tiling windows will + # be inserted. + # - commands: ['toggle-tiling-direction'] + # bindings: ['alt+v'] + + # Change focus from tiling windows -> floating -> fullscreen. + - commands: ['wm-cycle-focus'] + bindings: ['alt+space'] + + # Change the focused window to be floating. + - commands: ['toggle-floating --centered'] + bindings: ['alt+shift+t'] + + # Change the focused window to be tiling. + # - commands: ['toggle-tiling'] + # bindings: ['alt+t'] + + # Change the focused window to be fullscreen. + - commands: ['toggle-fullscreen'] + bindings: ['alt+f'] + + # Minimize focused window. + - commands: ['toggle-minimized'] + bindings: ['alt+m'] + + # Close focused window. + - commands: ['close'] + bindings: ['alt+q'] + + # Kill GlazeWM process safely. + - commands: ['wm-exit'] + bindings: ['alt+m'] + + # Re-evaluate configuration file. + - commands: ['wm-reload-config'] + bindings: ['alt+shift+r'] + + # Redraw all windows. + - commands: ['wm-redraw'] + bindings: ['alt+shift+w'] + + # Launch CMD terminal. Alternatively, use `shell-exec wt` or + # `shell-exec %ProgramFiles%/Git/git-bash.exe` to start Windows + # Terminal and Git Bash respectively. + - commands: ['shell-exec pwsh'] + bindings: ['alt+enter'] + + - commands: ['shell-exec wt ubuntu'] + bindings: ['alt+t'] + + - commands: ['shell-exec explorer.exe'] + bindings: ['alt+e'] + + - commands: ['shell-exec steam.exe'] + bindings: ['alt+shift+s'] + + # Focus the next/previous active workspace defined in `workspaces` config. + - commands: ['focus --next-active-workspace'] + bindings: ['alt+s'] + - commands: ['focus --prev-active-workspace'] + bindings: ['alt+a'] + + # Focus the workspace that last had focus. + - commands: ['focus --recent-workspace'] + bindings: ['alt+d'] + + # Change focus to a workspace defined in `workspaces` config. + - commands: ['focus --workspace 1'] + bindings: ['alt+1'] + - commands: ['focus --workspace 2'] + bindings: ['alt+2'] + - commands: ['focus --workspace 3'] + bindings: ['alt+3'] + - commands: ['focus --workspace 4'] + bindings: ['alt+4'] + - commands: ['focus --workspace 5'] + bindings: ['alt+5'] + - commands: ['focus --workspace 6'] + bindings: ['alt+6'] + - commands: ['focus --workspace 7'] + bindings: ['alt+7'] + - commands: ['focus --workspace 8'] + bindings: ['alt+8'] + - commands: ['focus --workspace 9'] + bindings: ['alt+9'] + + # Move the focused window's parent workspace to a monitor in a given + # direction. + # - commands: ['move-workspace --direction left'] + # bindings: ['alt+shift+a'] + # - commands: ['move-workspace --direction right'] + # bindings: ['alt+shift+f'] + # - commands: ['move-workspace --direction up'] + # bindings: ['alt+shift+d'] + # - commands: ['move-workspace --direction down'] + # bindings: ['alt+shift+s'] + + # Move focused window to a workspace defined in `workspaces` config. + - commands: ['move --workspace 1', 'focus --workspace 1'] + bindings: ['alt+shift+1'] + - commands: ['move --workspace 2', 'focus --workspace 2'] + bindings: ['alt+shift+2'] + - commands: ['move --workspace 3', 'focus --workspace 3'] + bindings: ['alt+shift+3'] + - commands: ['move --workspace 4', 'focus --workspace 4'] + bindings: ['alt+shift+4'] + - commands: ['move --workspace 5', 'focus --workspace 5'] + bindings: ['alt+shift+5'] + - commands: ['move --workspace 6', 'focus --workspace 6'] + bindings: ['alt+shift+6'] + - commands: ['move --workspace 7', 'focus --workspace 7'] + bindings: ['alt+shift+7'] + - commands: ['move --workspace 8', 'focus --workspace 8'] + bindings: ['alt+shift+8'] + - commands: ['move --workspace 9', 'focus --workspace 9'] + bindings: ['alt+shift+9']