Skip to main content

GlazeWM Guide

·467 words·3 mins·
Windows Guide Open-Source Windows
Table of Contents

Recently, I came across this Tiling window manager for Windows called GlazeWM. Written in C#, it uses the Windows API under the hood for positioning windows.

You can checkout the project here: https://github.com/glzr-io/glazewm.

Features:

  • Multi-monitor support
  • Customizable bar window
  • Customizable rules for specific windows
  • Simple YAML configuration
  • Easy installation

The GlazeWM project is much better than the old SackWM.

Also, Fancy Zones from PowerToys does more or less the same thing as StackWM.

Installation


Winget (Recommended)


winget install GlazeWM

Winget installs portable packages in %LOCALAPPDATA%\Microsoft\Winget\Packages\ by default. This can be overridden with the flag --location \path\to\folder.

Scoop


The  Extras bucket.

scoop bucket add extras # Ensure bucket is added first
scoop install glazewm

GitHub Releases


Download the latest .exe from the releases page.

Example: GlazeWM_x64_2.1.1.exe

Configuration


We can customize the GlazeWM using the config.yaml file which is present at this path.

C:\Users\{username}\.glaze-wm\config.yaml

If config.yaml is not at that location, use the  default config.

Keybindings


Customize the keybinds using the keybindings property in the config file. Keybinding is the use of one or more keys to run one or more commands when pressed.

The full list of keys that can be used for keybindings is  here.

By default, the Alt key is the mod key for keybindings. The Windows key is hard to remap.

keybindings:
  # Command to run.
  - command: "focus workspace 1"

    # Key combination to trigger the keybinding.
    binding: "Alt+1"

  # To run multiple commands in a sequence, use the `commands` property (eg. to move a window to a
  # workspace + focus workspace).
  - commands: ["move to workspace 1", "focus workspace 1"]
    binding: "Alt+Shift+1"

  - command: "focus left"
    # To have multiple key combinations that can trigger a command, use the `bindings` property.
    bindings: ["Alt+H", "Alt+Left"]

Official Keybindings


Keybindings with Alt pressed:

Alt key pressed - with key bindings

Keybindings with Alt+Shift pressed:

Alt+shift key pressed - with key bindings

Apart from the Alt+Shift+E binding for exiting GlazeWM, it’s also possible to safely exit via the system tray icon.

Custom Keybindings


keybindings:
  - command: "exec 'C:\\Program Files\\Thorium\\Application\\thorium.exe'"
    bindings: ["Alt+B"]
  - command: "exec wt" # Windows terminal
    bindings: ["Alt+T"]
  - command: "exec explorer"
    bindings: ["Alt+E"]

Custom Gaps like i3


gaps:
  # Gap between adjacent windows.
  inner_gap: "2px"

  # Gap between windows and the screen edge.
  outer_gap: "2px"

My Personal Config


There are not a lot of changes to my configuration file. But check it out here: file

Final Thoughts


To-Do’s

  • I will be customizing both the WM and the bar much more in the next few days.
  • Finding ways (if possible) such that only GlazeWM runs, not the Microsoft Desktop Window Manager (DWM). This will be to reduce the system usage of DWM.
  • Making a script for Windows tools and driver installation in a new Windows system. And adding the installation and config file of GlazeWM within it.

Additional learning: