257 lines
11 KiB
YAML
257 lines
11 KiB
YAML
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']
|