Leftwm
A tiling window manager for Adventurers
Install / Use
/learn @leftwm/LeftwmREADME

IMPORTANT NOTE: LeftWM has changed the config language from TOML to RON with the 0.4.0 release and removed support for TOML entirely in 0.6.0. Please use leftwm-config migrate to migrate your config and visit the wiki for more info.
Table of contents
- Why go left
- Dependencies
- Installation (with package manager)
- Manual Installation (no package manager)
- Theming
- Configuring
- Troubleshooting
- Support
Why go left
LeftWM is a tiling window manager written in Rust that aims to be stable and performant. LeftWM is designed to do one thing and to do that one thing well: be a window manager. LeftWM follows the following mantra:
LeftWM is not a compositor. LeftWM is not a lock screen. LeftWM is not a bar. But, there are lots of good bars out there. With themes, picking one is as simple as setting a symlink.
Because you probably want more than just a black screen, LeftWM is built around the concept of themes. With themes, you can choose between different bars, compositors, backgrounds, colors, docks, and whatever else makes you happy.
LeftWM was built from the very beginning to support multiple screens and ultrawide monitors. The default keybindings support ultrawide monitors and multiple screens.
One of the core concepts/features of LeftWM is theming
With LeftWM, there are two types of configuration files:
-
LeftWM Configuration files: LeftWM configurations are specific to you and don’t change for different themes. These are settings like keybindings, workspace locations, and names of desktops/tags. These settings can be found in
$XDG_CONFIG_HOME/leftwm/config.ron. -
Theme Configuration files: The appearance of your desktop is different. It’s fun to try new looks and feels. It’s fun to tweak and customize the appearance (AKA: ricing). It’s fun to share so others can experience your awesome desktop! LeftWM is built around this concept. By pulling all these settings out into themes, you can now easily tweak, switch, and share your experiences. This configuration is spread between
theme.ronand related files contained within a theme's folder.
Note: some example config and themes can be found in the share dir, e.g. /usr/share/leftwm on Arch based disros.
Dependencies
While LeftWM has very few dependencies, this isn't always the case for themes. Themes typically require the following to be installed. However, this is up to the author of the theme and could be different.
List of LeftWM dependencies:
- xorg (runtime, build): specifically libx11, xrandr, xorg-server, libxinerama
- sh (runtime): any posix-compliant shell for starting up and down files
- rust (build): >= 1.74.0
- bash (optional): Most of the themes available use bash, though the scripts maybe converted to any posix-compliant shell
List of common dependencies for themes:
| Dependency<br>(git) | Ubuntu 24.04<br> sudo apt install {} | Arch<br> sudo pacman -S {} | Fedora 42<br> sudo dnf install {} | PKGS | | ------------------------ | --------------------------------------- | ---------------------------- | ----------------------------------- | ------------------------ | | feh | feh | feh | feh | feh | | compton | compton | picom | compton | compton | | picom | picom ** | picom | picom | picom | | polybar | polybar ** | polybar | polybar | polybar | | xmobar | xmobar | xmobar | xmobar | xmobar | | lemonbar | lemonbar | paru -S lemonbar* | manual ** | lemonbar | | conky | conky | conky | conky | conky | | dmenu | dmenu | dmenu | dmenu | dmenu |
* You can use whichever AUR wrapper you like. See [paru] and [yay]. ** See the git page (link in first column) for how to install these manually
Installation (with package manager)
Gentoo (GURU)
sudo layman -a guru && sudo emerge --sync
sudo emerge --ask --verbose x11-wm/leftwm
Archlinux (AUR)
paru -S leftwm
[paru] is an AUR helper like [yay], but written in Rust.
Fedora (copr)
sudo dnf copr enable th3-s4lm0n/leftwm -y && sudo dnf install leftwm
NetBSD (Official repositories)
pkgin install leftwm
or, if you prefer to build it from source
cd /usr/pkgsrc/wm/leftwm
make install
Void ([XBPS])
sudo xbps-install -S leftwm
Cargo ([crates.io])
cargo install leftwm
If you install LeftWM with crates.io, you will need to link to the xsession desktop file if you want to be able to login to LeftWM from a display manager (GDM, SSDM, LightDM, etc.):
sudo cp PATH_TO_LEFTWM/leftwm.desktop /usr/share/xsessions
Also see the build options for more feature options, especially if you don't use systemd or want to use your own hotkey daemon like sxhkd.
OpenBSD ([OpenBSD])
At the moment LeftWM is not packaged with OpenBSD package manager, but it could be installed via Cargo.
cargo install leftwm --no-default-features --features lefthk,leftwm-watchdog
leftwm-config not yet ported to OpenBSD, as it requires a nightly Rust compiler to build.
The default config is generated by LeftWM when it is first started.
To start LeftWM with xenodm add the following to your ~/.xsession. Make sure to remove or comment-out the exec to the previous WM you had there.
exec dbus-launch ~/.cargo/bin/leftwm >> ~/.cache/leftwm.log 2>&1
