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']