lucas revised this gist 1 month ago. Go to revision
1 file changed, 201 insertions
asdf.md(file created)
| @@ -0,0 +1,201 @@ | |||
| 1 | + | Here’s a **GlazeWM `config.yaml`** that mirrors your Sway/i3-style **hjkl navigation, move, workspaces 1–10 (0 = 10), split direction, fullscreen, floating, resize mode**, plus **Firefox on startup**. | |
| 2 | + | ||
| 3 | + | > Note: GlazeWM **recommends using `alt` as the mod** because Windows reserves a bunch of `lwin+…` combos (lock screen, show desktop, etc.). If you *really* want Super/Win, you can swap `alt+` → `lwin+` later, just expect some binds to never fire. ([DeepWiki][1]) | |
| 4 | + | ||
| 5 | + | ```yaml | |
| 6 | + | # GlazeWM config inspired by your Sway/i3 setup (single monitor, hjkl focus/move, 1–10 workspaces). | |
| 7 | + | # If you want Super/Win as mod: replace "alt+" with "lwin+" (some Win combos are reserved by Windows). :contentReference[oaicite:1]{index=1} | |
| 8 | + | ||
| 9 | + | general: | |
| 10 | + | startup_commands: | |
| 11 | + | - shell-exec firefox | |
| 12 | + | shutdown_commands: [] | |
| 13 | + | config_reload_commands: [] | |
| 14 | + | ||
| 15 | + | # Like: focus_follows_mouse yes | |
| 16 | + | focus_follows_cursor: true | |
| 17 | + | toggle_workspace_on_refocus: false | |
| 18 | + | ||
| 19 | + | # Single monitor: usually nicer with cursor jump off | |
| 20 | + | cursor_jump: | |
| 21 | + | enabled: false | |
| 22 | + | trigger: monitor_focus | |
| 23 | + | ||
| 24 | + | # More "workspace-like" isolation in taskbar | |
| 25 | + | hide_method: "cloak" | |
| 26 | + | show_all_in_taskbar: false | |
| 27 | + | ||
| 28 | + | # i3-ish: no gaps by default (tweak if you want breathing room) | |
| 29 | + | gaps: | |
| 30 | + | scale_with_dpi: true | |
| 31 | + | inner_gap: "0px" | |
| 32 | + | outer_gap: | |
| 33 | + | top: "0px" | |
| 34 | + | right: "0px" | |
| 35 | + | bottom: "0px" | |
| 36 | + | left: "0px" | |
| 37 | + | ||
| 38 | + | # Optional: subtle focus indication (Windows 11 border effects) :contentReference[oaicite:2]{index=2} | |
| 39 | + | window_effects: | |
| 40 | + | focused_window: | |
| 41 | + | border: | |
| 42 | + | enabled: true | |
| 43 | + | color: "#DDDDDD" | |
| 44 | + | other_windows: | |
| 45 | + | border: | |
| 46 | + | enabled: true | |
| 47 | + | color: "#333333" | |
| 48 | + | ||
| 49 | + | window_behavior: | |
| 50 | + | initial_state: "tiling" | |
| 51 | + | state_defaults: | |
| 52 | + | floating: | |
| 53 | + | centered: true | |
| 54 | + | shown_on_top: true | |
| 55 | + | fullscreen: | |
| 56 | + | maximized: true | |
| 57 | + | shown_on_top: false | |
| 58 | + | ||
| 59 | + | workspaces: | |
| 60 | + | - name: "1" | |
| 61 | + | - name: "2" | |
| 62 | + | - name: "3" | |
| 63 | + | - name: "4" | |
| 64 | + | - name: "5" | |
| 65 | + | - name: "6" | |
| 66 | + | - name: "7" | |
| 67 | + | - name: "8" | |
| 68 | + | - name: "9" | |
| 69 | + | - name: "10" | |
| 70 | + | ||
| 71 | + | keybindings: | |
| 72 | + | # (Optional) terminal launcher — edit/remove if you don't want any app binds | |
| 73 | + | - bindings: ["alt+enter"] | |
| 74 | + | commands: ["shell-exec wt"] | |
| 75 | + | ||
| 76 | + | # Firefox (kept, per your request) | |
| 77 | + | - bindings: ["alt+shift+f"] | |
| 78 | + | commands: ["shell-exec firefox"] | |
| 79 | + | ||
| 80 | + | # Focus: hjkl + arrows :contentReference[oaicite:3]{index=3} | |
| 81 | + | - bindings: ["alt+h", "alt+left"] | |
| 82 | + | commands: ["focus --direction left"] | |
| 83 | + | - bindings: ["alt+j", "alt+down"] | |
| 84 | + | commands: ["focus --direction down"] | |
| 85 | + | - bindings: ["alt+k", "alt+up"] | |
| 86 | + | commands: ["focus --direction up"] | |
| 87 | + | - bindings: ["alt+l", "alt+right"] | |
| 88 | + | commands: ["focus --direction right"] | |
| 89 | + | ||
| 90 | + | # Move window: Shift+hjkl + Shift+arrows :contentReference[oaicite:4]{index=4} | |
| 91 | + | - bindings: ["alt+shift+h", "alt+shift+left"] | |
| 92 | + | commands: ["move --direction left"] | |
| 93 | + | - bindings: ["alt+shift+j", "alt+shift+down"] | |
| 94 | + | commands: ["move --direction down"] | |
| 95 | + | - bindings: ["alt+shift+k", "alt+shift+up"] | |
| 96 | + | commands: ["move --direction up"] | |
| 97 | + | - bindings: ["alt+shift+l", "alt+shift+right"] | |
| 98 | + | commands: ["move --direction right"] | |
| 99 | + | ||
| 100 | + | # Workspaces: alt+1..9, alt+0 -> 10 | |
| 101 | + | - bindings: ["alt+1"] | |
| 102 | + | commands: ["focus --workspace 1"] | |
| 103 | + | - bindings: ["alt+2"] | |
| 104 | + | commands: ["focus --workspace 2"] | |
| 105 | + | - bindings: ["alt+3"] | |
| 106 | + | commands: ["focus --workspace 3"] | |
| 107 | + | - bindings: ["alt+4"] | |
| 108 | + | commands: ["focus --workspace 4"] | |
| 109 | + | - bindings: ["alt+5"] | |
| 110 | + | commands: ["focus --workspace 5"] | |
| 111 | + | - bindings: ["alt+6"] | |
| 112 | + | commands: ["focus --workspace 6"] | |
| 113 | + | - bindings: ["alt+7"] | |
| 114 | + | commands: ["focus --workspace 7"] | |
| 115 | + | - bindings: ["alt+8"] | |
| 116 | + | commands: ["focus --workspace 8"] | |
| 117 | + | - bindings: ["alt+9"] | |
| 118 | + | commands: ["focus --workspace 9"] | |
| 119 | + | - bindings: ["alt+0"] | |
| 120 | + | commands: ["focus --workspace 10"] | |
| 121 | + | ||
| 122 | + | # Move to workspace (no "follow", like your Sway config) | |
| 123 | + | - bindings: ["alt+shift+1"] | |
| 124 | + | commands: ["move --workspace 1"] | |
| 125 | + | - bindings: ["alt+shift+2"] | |
| 126 | + | commands: ["move --workspace 2"] | |
| 127 | + | - bindings: ["alt+shift+3"] | |
| 128 | + | commands: ["move --workspace 3"] | |
| 129 | + | - bindings: ["alt+shift+4"] | |
| 130 | + | commands: ["move --workspace 4"] | |
| 131 | + | - bindings: ["alt+shift+5"] | |
| 132 | + | commands: ["move --workspace 5"] | |
| 133 | + | - bindings: ["alt+shift+6"] | |
| 134 | + | commands: ["move --workspace 6"] | |
| 135 | + | - bindings: ["alt+shift+7"] | |
| 136 | + | commands: ["move --workspace 7"] | |
| 137 | + | - bindings: ["alt+shift+8"] | |
| 138 | + | commands: ["move --workspace 8"] | |
| 139 | + | - bindings: ["alt+shift+9"] | |
| 140 | + | commands: ["move --workspace 9"] | |
| 141 | + | - bindings: ["alt+shift+0"] | |
| 142 | + | commands: ["move --workspace 10"] | |
| 143 | + | ||
| 144 | + | # Split direction / layout-ish | |
| 145 | + | - bindings: ["alt+b"] | |
| 146 | + | commands: ["set-tiling-direction --tiling-direction horizontal"] | |
| 147 | + | - bindings: ["alt+v"] | |
| 148 | + | commands: ["set-tiling-direction --tiling-direction vertical"] | |
| 149 | + | - bindings: ["alt+e"] | |
| 150 | + | commands: ["toggle-tiling-direction"] | |
| 151 | + | ||
| 152 | + | # Fullscreen / floating / focus cycling :contentReference[oaicite:5]{index=5} | |
| 153 | + | - bindings: ["alt+f"] | |
| 154 | + | commands: ["toggle-fullscreen"] | |
| 155 | + | - bindings: ["alt+space"] | |
| 156 | + | commands: ["wm-cycle-focus"] | |
| 157 | + | - bindings: ["alt+shift+space"] | |
| 158 | + | commands: ["toggle-floating --centered"] | |
| 159 | + | ||
| 160 | + | # Scratchpad-ish (closest equivalent): minimize toggle | |
| 161 | + | - bindings: ["alt+oem_minus"] | |
| 162 | + | commands: ["toggle-minimized"] | |
| 163 | + | - bindings: ["alt+shift+oem_minus"] | |
| 164 | + | commands: ["set-minimized"] | |
| 165 | + | ||
| 166 | + | # Kill / reload / exit :contentReference[oaicite:6]{index=6} | |
| 167 | + | - bindings: ["alt+shift+q"] | |
| 168 | + | commands: ["close"] | |
| 169 | + | - bindings: ["alt+shift+c"] | |
| 170 | + | commands: ["wm-reload-config"] | |
| 171 | + | - bindings: ["alt+shift+e"] | |
| 172 | + | commands: ["wm-exit"] | |
| 173 | + | ||
| 174 | + | # Easy “back to normal WM” toggle (pauses GlazeWM) :contentReference[oaicite:7]{index=7} | |
| 175 | + | - bindings: ["alt+shift+p"] | |
| 176 | + | commands: ["wm-toggle-pause"] | |
| 177 | + | ||
| 178 | + | # Resize mode (like i3) :contentReference[oaicite:8]{index=8} | |
| 179 | + | - bindings: ["alt+r"] | |
| 180 | + | commands: ["wm-enable-binding-mode --name resize"] | |
| 181 | + | ||
| 182 | + | binding_modes: | |
| 183 | + | - name: resize | |
| 184 | + | keybindings: | |
| 185 | + | - bindings: ["h", "left"] | |
| 186 | + | commands: ["resize --width -10px"] | |
| 187 | + | - bindings: ["l", "right"] | |
| 188 | + | commands: ["resize --width +10px"] | |
| 189 | + | - bindings: ["k", "up"] | |
| 190 | + | commands: ["resize --height -10px"] | |
| 191 | + | - bindings: ["j", "down"] | |
| 192 | + | commands: ["resize --height +10px"] | |
| 193 | + | ||
| 194 | + | # exit resize mode | |
| 195 | + | - bindings: ["enter", "escape"] | |
| 196 | + | commands: ["wm-disable-binding-mode --name resize"] | |
| 197 | + | ``` | |
| 198 | + | ||
| 199 | + | If you want, paste your preferred “mod” choice (Alt vs Win) and whether you want **“move-to-workspace also follows”** (i3 has both styles), and I’ll adjust the workspace move bindings accordingly. | |
| 200 | + | ||
| 201 | + | [1]: https://deepwiki.com/glzr-io/glazewm/2.2.3-keybindings-and-commands "Keybindings and Commands | glzr-io/glazewm | DeepWiki" | |
Newer
Older