/weem

weem is the beest wm

Primary LanguageCGNU General Public License v3.0GPL-3.0

weem

A small, lightweight, customizable X window manager written in C.

screenshot

My weem/weembar config, catppuccin macchiato colorscheme. Open windows: nvim, kitty, cmatrix. Font is Blex Mono Nerd Font (the nerd font version of IBM Plex Mono)

Features

  • Tiling (master and stack)
  • Fullscreen
  • Multiple Desktops
  • Multiple Layouts
  • Status Bar
  • Autostart script

Dependencies

weem itself doesn't require any libraries other than X11, however some bar modules need some tools in order to work:

  • Audio: amixer
  • Disk Space: df
  • CPU Usage: mpstat
  • Memory Usage: free
  • Temperature: sensors
  • Notifications: dunst
  • Battery: upower

Installing

Clone the repo:

git clone https://github.com/adamtherookie/weem

Copy config.def.h to config.h:

cp config.def.h config.h

Edit config.h to match your preferences. Setup the startup script at ~/.config/weem/autostart.sh. Make sure you execute bar.sh in the background there to update the status bar. For example, a startup script that launches picom and the bar script:

#!/bin/sh

picom &
path_to_where_you_cloned_weem/bar.sh &

You can also edit bar.sh to change what is shown in the status bar.

Then, run the install script (requires root access): sudo sh install.sh.

Upon changing the configuration, you need to rerun the install script for the changes to take place.

Finally, add exec weem to the end of your xinitrc.

Default Keybindings

Key Action
Super + Enter Spawn terminal
Super + Q Spawn web browser
Super + D Spawn application launcher
Super + W Close window
Super + G Screenshot
Super + Up Move up in list
Super + Down Move down in list
Super + Right Increase master size
Super + Left Decrease master size
Super + F Make window fullscreen
Super + T Make window tiled
Super + S Make window floating
Super + Shift + T Set layout to master + stack
Super + Shift + V Set layout to vertical stripes
Super + Shift + H Set layout to horizontal stripes
Super + B Toggle bar
Super + Shift + B Toggle bar position
Super + K Kill weem
Super + NUM_KEY Switch to desktop
Super + Shift + NUM_KEY Send window to desktop

Thanks

A big thanks to these awesome people and projects without which weem wouldn't exist: