diff options
Diffstat (limited to 'fmurphy/.glzr/glazewm/config.yaml')
-rwxr-xr-x | fmurphy/.glzr/glazewm/config.yaml | 297 |
1 files changed, 297 insertions, 0 deletions
diff --git a/fmurphy/.glzr/glazewm/config.yaml b/fmurphy/.glzr/glazewm/config.yaml new file mode 100755 index 0000000..ee28f85 --- /dev/null +++ b/fmurphy/.glzr/glazewm/config.yaml @@ -0,0 +1,297 @@ +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: 'monitor_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: '5px' + + # Gap between windows and the screen edge. + outer_gap: + top: '29px' + right: '5px' + bottom: '5px' + left: '5px' + +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: '#89b4fa' + + # 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: 'rounded' + + # Change the transparency of the window. + transparency: + enabled: true + # 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: '#585b70' + hide_title_bar: + enabled: false + corner_style: + enabled: true + style: 'rounded' + transparency: + enabled: true + opacity: '95%' + +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: false + + 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 + + # Whether to show fullscreen windows as always on top. + shown_on_top: false + +workspaces: + - name: '1' + bind_to_monitor: 1 + keep_alive: true + - name: '2' + - name: '3' + - name: '4' + - name: '5' + - name: '6' + - name: '7' + - name: '8' + - name: '9' + bind_to_monitor: 0 + keep_alive: true + +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' } + - window_process: { equals: 'EXCEL' } + window_class: { not_regex: 'XLMAIN' } + - window_process: { equals: 'WINWORD' } + window_class: { not_regex: 'OpusApp' } + - window_process: { equals: 'POWERPNT' } + window_class: { not_regex: 'PPTFrameClass' } + +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: ['LWin+left'] + - commands: ['focus --direction right'] + bindings: ['LWin+right'] + - commands: ['focus --direction up'] + bindings: ['LWin+up'] + - commands: ['focus --direction down'] + bindings: ['LWin+down'] + + # Move focused window in a given direction. + - commands: ['move --direction left'] + bindings: ['LWin+shift+left'] + - commands: ['move --direction right'] + bindings: ['LWin+shift+right'] + - commands: ['move --direction up'] + bindings: ['LWin+shift+up'] + - commands: ['move --direction down'] + bindings: ['LWin+shift+down'] + + # As an Winernative 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: ['LWin+r'] + + # Disables window management and all other keybindings until LWin+shift+p + # is pressed again. + - commands: ['wm-toggle-pause'] + bindings: ['LWin+shift+p'] + + # Change tiling direction. This determines where new tiling windows will + # be inserted. + - commands: ['toggle-tiling-direction'] + bindings: ['LWin+v'] + + # Change focus from tiling windows -> floating -> fullscreen. + - commands: ['wm-cycle-focus'] + bindings: ['LWin+space'] + + # Change the focused window to be floating. + - commands: ['toggle-floating --centered'] + bindings: ['LWin+shift+space'] + + # Change the focused window to be tiling. + - commands: ['toggle-tiling'] + bindings: ['LWin+t'] + + # Change the focused window to be fullscreen. + - commands: ['toggle-fullscreen'] + bindings: ['LWin+f'] + + # Minimize focused window. + - commands: ['toggle-minimized'] + bindings: ['LWin+m'] + + # Close focused window. + - commands: ['close'] + bindings: ['LWin+shift+q'] + + # Kill GlazeWM process safely. + - commands: ['wm-exit'] + bindings: ['LWin+shift+e'] + + # Re-evaluate configuration file. + - commands: ['wm-reload-config'] + bindings: ['LWin+shift+r'] + + # Redraw all windows. + - commands: ['wm-redraw'] + bindings: ['LWin+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 wt'] + bindings: ['LWin+enter'] + + - commands: ['shell-exec %ProgramFiles%/LibreWolf/librewolf.exe'] + bindings: ['LWin+w'] + + # Change focus to a workspace defined in `workspaces` config. + - commands: ['focus --workspace 1'] + bindings: ['LWin+1'] + - commands: ['focus --workspace 2'] + bindings: ['LWin+2'] + - commands: ['focus --workspace 3'] + bindings: ['LWin+3'] + - commands: ['focus --workspace 4'] + bindings: ['LWin+4'] + - commands: ['focus --workspace 5'] + bindings: ['LWin+5'] + - commands: ['focus --workspace 6'] + bindings: ['LWin+6'] + - commands: ['focus --workspace 7'] + bindings: ['LWin+7'] + - commands: ['focus --workspace 8'] + bindings: ['LWin+8'] + - commands: ['focus --workspace 9'] + bindings: ['LWin+9'] + + # Move focused window to a workspace defined in `workspaces` config. + - commands: ['move --workspace 1'] + bindings: ['LWin+shift+1'] + - commands: ['move --workspace 2'] + bindings: ['LWin+shift+2'] + - commands: ['move --workspace 3'] + bindings: ['LWin+shift+3'] + - commands: ['move --workspace 4'] + bindings: ['LWin+shift+4'] + - commands: ['move --workspace 5'] + bindings: ['LWin+shift+5'] + - commands: ['move --workspace 6'] + bindings: ['LWin+shift+6'] + - commands: ['move --workspace 7'] + bindings: ['LWin+shift+7'] + - commands: ['move --workspace 8'] + bindings: ['LWin+shift+8'] + - commands: ['move --workspace 9'] + bindings: ['LWin+shift+9'] |