MicWM is an ultra-lightweight, spartan window manager written in pure C using the Xlib library. It’s designed for speed, zero bloat, and total user control.
"Because RAM is for processing, not for desktop animations."
- Featherweight: Memory footprint around 2 MB.
- Suckless Philosophy: Configured via
config.h(requires recompilation). - Dynamic Status Bar: Real-time updates (Clock, RAM, etc.) via
xsetroot. - Custom Autostart: Dedicated
~/.autoconfigscriptmicwmscript for wallpapers and startup apps. - Brutal Management: Uses
XKillClientfor aggressive process termination to save resources. - The Glow: A border that can have a color selected from the
config.hfile. - Option to change the sound level and brightness: As in other systems, use the f keys.
- Blocking and unblocking windows: Lock and unlock apps to remove the cursor from apps that grab the cursor or to simply keep it out of the way.
- Dependencies Install X11 libraries and build tools:
sudo apt install libx11-dev gcc make feh x11-xserver-utils xterm brightnessctl alsa-utils
- Build and Install
make
sudo make install
The installer automatically creates a template autostart script in your home directory.
| Keybind | Action |
|---|---|
| Super + T | Launch Terminal (st) |
| Super + Q | Kill active window (Brutal/Instant) |
| Super + Shift + F | Fullscreen Mode (No borders) |
| Super + Shift + W | Windowed Mode (800x600, Centered) |
| Super + Shift + Q | Exit MicWM (Return to TTY) |
| Super + Left Click | Move Window |
| Super + Right Click | Resize Window |
| Super + D | Lock and Unlock Window |
- Appearance: Edit
config.hto change colors (HEX), border width, or the default terminal. Runmake && sudo make installto apply. - Wallpaper & Status: Edit
~/.autoconfigscriptmicwm. Uncomment thefehline and set the path to your image.
If you are logged in as root (e.g., in a TTY) but want to launch applications that belong to your regular user (to keep config files clean and avoid permission issues), use the following command inside your MicWM terminal:
sudo -u yourusername program_name
Example: sudo -u oem xterm or sudo -u oem bash /home/oem/script.sh.
If you can't start the GUI without sudo, allow non-root users to run the X server:
sudo dpkg-reconfigure xserver-xorg-legacy
# Select "Anybody"
Launch from a clean TTY (e.g., Ctrl+Alt+F3):
xinit /usr/local/bin/micwm -- :1
The GUI is open source, so you can compile it any way you like, but it is not for distribution under your own name.
With respect, Kamil Malicki