GlazeWM is a tiling window manager for Windows inspired by i3 and Polybar.
GPL-3.0 License
Bot releases are hidden (Show)
Come join the Discord server⚡ for news on GlazeWM or if you're interested in desktop customization in general.
Published by lars-berger about 1 year ago
Come join the Discord server⚡ for news on GlazeWM or if you're interested in desktop customization in general.
focus_borders
in the config to configure the border surrounding active/inactive windows.Published by lars-berger about 1 year ago
Come join the Discord server⚡ for news on GlazeWM or if you're interested in desktop customization in general.
Published by lars-berger about 1 year ago
Come join the Discord server⚡ for news on GlazeWM or if you're interested in desktop customization in general.
Published by lars-berger about 1 year ago
It's been a long time coming, but a v2 release is finally ready and it's packed with new features and improvements 🎈
As always, come join the Discord server⚡ for news on GlazeWM or if you're interested in desktop customization in general.
Downloads for runnable .exe
files are attached below. Winget and Scoop are coming soon.
general.focus_follows_cursor
(thanks @HolbyFPV in #245).general.cursor_follows_focus
(thanks @HolbyFPV in #247).# Get workspaces (alternatively send 'workspaces' to IPC server).
./GlazeWM.exe workspaces
# Run a WM command (alternatively send 'command "focus workspace 1"' to IPC server).
./GlazeWM.exe command "focus workspace 1"
glazewm
. Example usage:import { GwmClient } from "glazewm";
const client = new GwmClient();
const windows = await client.getWindows();
await client.runCommand("move left", windows[0]);
bar.disabled
option (thanks @ZInvoke in #260).bar.always_on_top
option (thanks @jayrfs in #341).<attr>
tag:bar:
components_left:
- type: "cpu"
# Change font family (ie. ff) to Comic Sans for part of the label:
label: "<attr ff='Comic Sans'>CPU:</attr> {percent_usage}%"
- type: "battery"
# Show an icon by using an icon font:
label_draining: "<attr ff='Material Icons'></attr> {battery_level}%"
# Multiple attributes can be changed at once:
label_charging: "{battery_level}% <attr ff='Arial' fg='#228B22' fw='400' fs='13px'>(charging)</attr>"
workspace_auto_back_and_forth
from i3wm. The new option general.toggle_workspace_on_refocus
allows switching back and forth between the previously focused workspace when focusing the current workspace (thanks @s-v-o in #274).set height 30%
or set width 200px
(thanks @maxle5 in #268).gaps.outer_gap: 10px 5px 10px 5px
(thanks @maxle5 in #282).general.floating_window_move_amount
(thanks @Pamesta in #238).general.window_animations
.Ctrl
can be used instead of Control
when defining keybindings (thanks @JK-Flip-Flop96 in #338).The bar has been part of the WM since initial launch and it was mainly tacked on as a way to show what workspaces are active. But now it's a big part of the project and there's a lot of things that could've been done better. There's work in progress now to completely overhaul the bar and move it to its own repository. If you're a contributor, please hold off on large feature PRs for the bar in the meantime.
And also, the repo has been moved from my personal account (@lars-berger) to a GitHub org. @HolbyFPV (formerly @notblam) and I are teaming up on the MVP of the bar rework, and it made sense to house everything under one org. The bar overhaul will be open sourced in the coming months, and we've also got a future, unannounced project that's in the works (which will make the name "glazerdesktop" a bit clearer 👀).
A massive thanks to @HolbyFPV, @sewer56, @maxle5, @s-v-o, @ZInvoke, @Pamesta, @AreamanM, @jayrfs, @jovark, @groovyghoul, and @JK-Flip-Flop96. It wouldn't have been possible without your fantastic support 🎉🙌
Quick heads up for contributors: there's been some changes to the repo's branching structure. Check #contributing on Discord for how to update your forks.
Published by lars-berger over 1 year ago
⚡ Check out the Discord server
Downloads for runnable .exe
files are attached below.
Changelog
Object reference not set to an instance of an object
.Published by lars-berger over 1 year ago
⚡ Check out the Discord server
Downloads for runnable .exe
files are attached below.
Changelog
bars:
- &default_bar
bind_to_monitor: 1 # The monitor's number as shown in the Windows display settings (eg. 1, 2, 3...).
height: "30px"
background: "red"
- <<: *default_bar # Copy the properties above.
bind_to_monitor: 2
background: "green" # Override `background: "red"` with green.
<<: *default_bar
is YAML syntax for copying all the properties from the block above labelled &default_bar
. This means that height: "30px"
is copied over to the 2nd bar, reducing the amount of repeated config.
component_separator
).offset_x
and offset_y
(thanks to @notblam).type: "battery"
) for showing the battery status (thanks to @AreamanM). Documentation on usage.type: "window title"
) for showing the title of the focused window (thanks to @notblam).time_formatting
option in the clock component (thanks to @s-v-o). Documentation on usage.label_horizontal
and label_vertical
options (thanks to @jovark).general
section of the config:general:
# Whether to show floating windows as always on top.
show_floating_on_top: false
tiling direction toggle
) for toggling between a horizontal/vertical tiling direction (thanks to @notblam). This is bound to Alt+V
in the default config (replacing the separate keybindings for tiling direction <horizontal|vertical>
).There's been a lot of help from the community for this release. For the last 2 weeks, there's been a new PR almost every day, so thank you for the unreal amount of support lately ❤️
** There's been a number of changes to the default config file. The latest version of the default config can be viewed here. If you want to simply reset your config file with the default, you can delete your config file located at C:\Users\<YOUR_USER>\.glaze-wm\config.yaml
and it'll be created on startup.
Published by lars-berger almost 2 years ago
⚡ Check out the Discord server
Downloads for runnable .exe
files are attached below.
Changelog
binding mode <NAME>
to activate a binding mode that has been defined in the new binding_modes
section of the config. Use binding mode none
to exit the binding mode and return to the default keybindings.
Alt+R
in the default config.layout <horizontal | vertical>
command to tiling direction <horizontal | vertical>
. The old command naming will still work, but will eventually be removed.background: #ffffff33
for white at 20% opacity).type: "binding mode"
) for showing whether a binding mode is currently active.type: "tiling direction"
) for showing the current tiling direction.set tiling
for making a window tile (similar to set floating
, set minimized
, etc.). Can be useful for forcing a window to tile if it floats by default.focus workspace recent
command (thanks to @gtsherman). It will now switch back and forth between the last focused workspace, and should hopefully be more intuitive than before. It is also now mapped to Alt+Y
by default instead of Alt+R
.winget install lars-berger.GlazeWM
, GlazeWM can then launched by running glazewm
in a terminal (it gets added to $PATH by Winget).move workspace <DIRECTION>
for moving the focused workspace to a monitor in the given direction (thanks to @kuznetsovvj). These are bound by default to Alt+<ASDF>
(depending on the direction).** There's been a number of changes to the default config file. The latest version of the default config can be viewed here. If you want to simply reset your config file with the default, you can delete your config file located at C:\Users\<YOUR_USER>\.glaze-wm\config.yaml
and it'll be created on startup.
Published by lars-berger almost 2 years ago
The server might be pretty dead to start out with, but at least it'll be a good way to get announcements when new releases come out.
Downloads for runnable .exe
files are attached below.
Changelog
"focus workspace <prev | next>"
for focusing the next or previous workspaces defined in the workspaces config (thanks to @kuznetsovvj). This is bound to Alt+T
/ Alt+Shift+T
in the new default config."focus workspace recent"
for focusing the last focused workspace (thanks to @kuznetsovvj). This is bound to Alt+R
in the new default config.Published by lars-berger almost 2 years ago
Downloads for runnable .exe
files are attached below.
Changelog
["set floating", "resize borders 0px -7px -7px -7px"]
).Published by lars-berger about 2 years ago
Downloads for runnable .exe
files are attached below.
Changelog
ignore
command) is focused.bar:
components_left:
- type: "text"
text: "⊞"
left_click_command: "exec cmd"
right_click_command: "exec chrome"
ignore
command to be run via keybindings. Previously the ignore
command could only be used in window rules.Published by lars-berger about 2 years ago
Downloads for runnable .exe
files are attached below.
Changelog
Published by lars-berger about 2 years ago
Downloads for runnable .exe
files are attached below.
Changelog
reload config
command for reloading the user config. This means no more exiting and re-launching GlazeWM to see config changes.exec ...
command for launching an arbitrary executable, like a terminal or browser window (thanks to @AreamanM). This behaves similarly to Windows Run and can be used to launch an executable via its process name (eg. exec chrome
) or a file path (eg. exec %ProgramFiles%/Google/Chrome/Application/chrome.exe
). To handle file paths that have spaces, surround the file path in single quotes (eg. exec 'C:/Program Files/Google/Chrome/Application/chrome.exe'
).keep_alive
property in workspace configs (thanks to @KiLLeRRaT).bind_to_monitor
property in workspace configs (thanks to @lyze237). Use the monitor's number as shown in the Windows display settings (eg. bind_to_monitor: 2
).--config="path/to/config.yaml"
when launching GlazeWM to use a different config file path than the default (thanks to @lyze237). See readme for example usage.** There have been changes to the sample config. The latest version of the sample config can be found here. If you want to simply override your config file with the sample, delete your config file at C:\Users\<YOUR_USER>\.glaze-wm\config.yaml
and run the GlazeWM executable.
Published by lars-berger about 2 years ago
Downloads for runnable .exe
files are attached below.
Changelog
set minimized
for minimizing the focused window (bound to Alt+M
by default).set maximized
for maximizing the focused window.toggle maximized
for toggling maximized state of the focused window (bound to Alt+X
by default).Alt+1
, it won't fire when Control+Alt+1
is pressed (thanks to @KiLLeRRaT).Published by lars-berger about 2 years ago
Downloads for runnable .exe
files are attached below.
Changelog
ignore
command. In most cases, the more appropriate command is set floating
, whereas ignore
should only be used if you want the WM to fully ignore the window.font_weight
property in bar config (thanks to @KiLLeRRaT).Published by lars-berger over 2 years ago
Downloads for runnable .exe
files are attached below.
Changelog
Published by lars-berger over 2 years ago
Downloads for runnable .exe
files are attached below.
Changelog
Published by lars-berger over 2 years ago
Downloads for runnable .exe
files are attached below.
Changelog
"resize borders"
. An example of this has been added to the sample user config."set floating"
to float a window regardless of its current state. Previously, "toggle floating"
was the only way to float a window.Published by lars-berger over 2 years ago
Downloads for runnable .exe
files are attached below.
Changelog
ignore
command was not working..exe
file, which was unintuitive and not future-proof if an MSI installer is added later on.position
property in bar config (thanks to @lyze237).name
in the bar config via new display_name
property (thanks to @lyze237).Published by lars-berger over 2 years ago
Downloads for runnable .exe
files are attached below.
Changelog