Update windoof/.glzr/glazewm/config.yaml

This commit is contained in:
Alexander Pieck 2025-02-17 20:35:53 +00:00
parent c80e2b1272
commit 3216b737a7

View file

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