Table of Contents

Whim vs. other window managers

Comparison table

Note

The table was last updated in August 2024.

The information in this table represents a best-effort attempt to compare Whim to other window managers, but may be out of date and not be completely accurate.

This table is based on the Arch Linux Comparison of tiling window managers table.

Symbol Meaning
Yes
☑️ Yes, but with caveats
💡 Planned
No
Feature\Window Manager Whim bug.n FancyWM GlazeWM Komorebi PowerToys' FancyZones Workspacer
Written in C# AutoHotkey C# Rust Rust C++ C#
Configured with C#/YAML/JSON AutoHotkey GUI/JSON YAML YAML or shell script GUI C#
Dynamic management
Manual management ☑️ but not tiling
Customizable layouts ☑️ with limited manual panels ☑️ with custom dynamic layouts ☑️ with custom manual layouts
Plugin architecture ✅ via C# ☑️ via external control ☑️ via external control ✅ via C#
System tray support 💡 in backlog
On the fly reload 💡 ❌ - see settings.json
Information bars ✅, via Yasb
External control 💡 in backlog ✅ via shell scripting ✅, via komorebic, named pipes and TCP
Maintenance Active Not active Active Active Active Active Not active
License MIT GPL-3.0 MIT GPL-3.0 PolyForm Strict License 1.0.0 MIT MIT

Definitions:

  • External control refers to the ability to control the window manager from outside the window manager itself. For example, this could be done via a command line interface, or via a socket interface.
  • Dynamic management emphasizes automatic management of window layouts for speed and simplicity.
  • Manual management (i3-style) emphasizes manual adjustment of layout and sizing with potentially more precise control, at the cost of more time spent moving and sizing windows.

Whim is the only window manager which is capable of both dynamic and manual management, with the ability to add custom layouts.

Comparison notes

Warning

Some of the information presented in following sections is subjective.

bug.n

Repository | Documentation

bug.n is an interesting idea, especially for users who already use AutoHotKey. Unfortunately, bug.n is no longer actively developed or maintained.

FancyWM

Repository | Documentation

FancyWM calls itself a "dynamic tiling window manager", with what appears to be some a limited capability for manual management via panels. It has an interesting capability called "Windows Actions Dropdowns" for customizing window behavior.

GlazeWM

Repository | Documentation

GlazeWM is in very active development, and has the ability to run from a single executable without requiring installation. It currently has a richer set of bar components compared to Whim.

Komorebi

Repository | Documentation

Komorebi is Rust 🦀-based window manager with a distinctly different philosophy than Whim.

[Komorebi] follows the sockets model of bspwm and yabai, which means that all config can be managed through AutoHotKey (or any other hotkey daemon of your choice) instead of trying to reinvent the wheel, and makes the TWM experience as scriptable as bspwm and yabai without increasing the complexity of the TWM codebase itself.

Written by the author of Komorebi relating to Komorebi's predecessor, yatta.

Komorebi is written in Rust 🦀, and has an elegant socket model which works well with other tools. However, it requires significant use of YAML or an external scripting language to configure. Komorebi has a community-driven repository for application-specific configuration, to deal with the various quirks of different applications - Whim currently consumes a subset of this repository as part of its core rules

PowerToys' FancyZones

Repository | Documentation

FancyZones is a utility for arranging and snapping windows into sets of zone locations. It is not a tiling window manager, in comparison to each of the other window managers in this comparison. The user must manually move windows into zones. It does support custom layouts, but again, these do not apply any automatic tiling.

Workspacer

Repository | Documentation

Workspacer is the inspiration for Whim - see more at Inspiration.