Last active 1 month ago

asdf.md Raw

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.

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)

# GlazeWM config inspired by your Sway/i3 setup (single monitor, hjkl focus/move, 1–10 workspaces).
# If you want Super/Win as mod: replace "alt+" with "lwin+" (some Win combos are reserved by Windows). :contentReference[oaicite:1]{index=1}

general:
  startup_commands:
    - shell-exec firefox
  shutdown_commands: []
  config_reload_commands: []

  # Like: focus_follows_mouse yes
  focus_follows_cursor: true
  toggle_workspace_on_refocus: false

  # Single monitor: usually nicer with cursor jump off
  cursor_jump:
    enabled: false
    trigger: monitor_focus

  # More "workspace-like" isolation in taskbar
  hide_method: "cloak"
  show_all_in_taskbar: false

# i3-ish: no gaps by default (tweak if you want breathing room)
gaps:
  scale_with_dpi: true
  inner_gap: "0px"
  outer_gap:
    top: "0px"
    right: "0px"
    bottom: "0px"
    left: "0px"

# Optional: subtle focus indication (Windows 11 border effects) :contentReference[oaicite:2]{index=2}
window_effects:
  focused_window:
    border:
      enabled: true
      color: "#DDDDDD"
  other_windows:
    border:
      enabled: true
      color: "#333333"

window_behavior:
  initial_state: "tiling"
  state_defaults:
    floating:
      centered: true
      shown_on_top: true
    fullscreen:
      maximized: true
      shown_on_top: false

workspaces:
  - name: "1"
  - name: "2"
  - name: "3"
  - name: "4"
  - name: "5"
  - name: "6"
  - name: "7"
  - name: "8"
  - name: "9"
  - name: "10"

keybindings:
  # (Optional) terminal launcher — edit/remove if you don't want any app binds
  - bindings: ["alt+enter"]
    commands: ["shell-exec wt"]

  # Firefox (kept, per your request)
  - bindings: ["alt+shift+f"]
    commands: ["shell-exec firefox"]

  # Focus: hjkl + arrows :contentReference[oaicite:3]{index=3}
  - bindings: ["alt+h", "alt+left"]
    commands: ["focus --direction left"]
  - bindings: ["alt+j", "alt+down"]
    commands: ["focus --direction down"]
  - bindings: ["alt+k", "alt+up"]
    commands: ["focus --direction up"]
  - bindings: ["alt+l", "alt+right"]
    commands: ["focus --direction right"]

  # Move window: Shift+hjkl + Shift+arrows :contentReference[oaicite:4]{index=4}
  - bindings: ["alt+shift+h", "alt+shift+left"]
    commands: ["move --direction left"]
  - bindings: ["alt+shift+j", "alt+shift+down"]
    commands: ["move --direction down"]
  - bindings: ["alt+shift+k", "alt+shift+up"]
    commands: ["move --direction up"]
  - bindings: ["alt+shift+l", "alt+shift+right"]
    commands: ["move --direction right"]

  # Workspaces: alt+1..9, alt+0 -> 10
  - bindings: ["alt+1"]
    commands: ["focus --workspace 1"]
  - bindings: ["alt+2"]
    commands: ["focus --workspace 2"]
  - bindings: ["alt+3"]
    commands: ["focus --workspace 3"]
  - bindings: ["alt+4"]
    commands: ["focus --workspace 4"]
  - bindings: ["alt+5"]
    commands: ["focus --workspace 5"]
  - bindings: ["alt+6"]
    commands: ["focus --workspace 6"]
  - bindings: ["alt+7"]
    commands: ["focus --workspace 7"]
  - bindings: ["alt+8"]
    commands: ["focus --workspace 8"]
  - bindings: ["alt+9"]
    commands: ["focus --workspace 9"]
  - bindings: ["alt+0"]
    commands: ["focus --workspace 10"]

  # Move to workspace (no "follow", like your Sway config)
  - bindings: ["alt+shift+1"]
    commands: ["move --workspace 1"]
  - bindings: ["alt+shift+2"]
    commands: ["move --workspace 2"]
  - bindings: ["alt+shift+3"]
    commands: ["move --workspace 3"]
  - bindings: ["alt+shift+4"]
    commands: ["move --workspace 4"]
  - bindings: ["alt+shift+5"]
    commands: ["move --workspace 5"]
  - bindings: ["alt+shift+6"]
    commands: ["move --workspace 6"]
  - bindings: ["alt+shift+7"]
    commands: ["move --workspace 7"]
  - bindings: ["alt+shift+8"]
    commands: ["move --workspace 8"]
  - bindings: ["alt+shift+9"]
    commands: ["move --workspace 9"]
  - bindings: ["alt+shift+0"]
    commands: ["move --workspace 10"]

  # Split direction / layout-ish
  - bindings: ["alt+b"]
    commands: ["set-tiling-direction --tiling-direction horizontal"]
  - bindings: ["alt+v"]
    commands: ["set-tiling-direction --tiling-direction vertical"]
  - bindings: ["alt+e"]
    commands: ["toggle-tiling-direction"]

  # Fullscreen / floating / focus cycling :contentReference[oaicite:5]{index=5}
  - bindings: ["alt+f"]
    commands: ["toggle-fullscreen"]
  - bindings: ["alt+space"]
    commands: ["wm-cycle-focus"]
  - bindings: ["alt+shift+space"]
    commands: ["toggle-floating --centered"]

  # Scratchpad-ish (closest equivalent): minimize toggle
  - bindings: ["alt+oem_minus"]
    commands: ["toggle-minimized"]
  - bindings: ["alt+shift+oem_minus"]
    commands: ["set-minimized"]

  # Kill / reload / exit :contentReference[oaicite:6]{index=6}
  - bindings: ["alt+shift+q"]
    commands: ["close"]
  - bindings: ["alt+shift+c"]
    commands: ["wm-reload-config"]
  - bindings: ["alt+shift+e"]
    commands: ["wm-exit"]

  # Easy “back to normal WM” toggle (pauses GlazeWM) :contentReference[oaicite:7]{index=7}
  - bindings: ["alt+shift+p"]
    commands: ["wm-toggle-pause"]

  # Resize mode (like i3) :contentReference[oaicite:8]{index=8}
  - bindings: ["alt+r"]
    commands: ["wm-enable-binding-mode --name resize"]

binding_modes:
  - name: resize
    keybindings:
      - bindings: ["h", "left"]
        commands: ["resize --width -10px"]
      - bindings: ["l", "right"]
        commands: ["resize --width +10px"]
      - bindings: ["k", "up"]
        commands: ["resize --height -10px"]
      - bindings: ["j", "down"]
        commands: ["resize --height +10px"]

      # exit resize mode
      - bindings: ["enter", "escape"]
        commands: ["wm-disable-binding-mode --name resize"]

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.