Skip to content
/ mwm Public

The smallest, actually usable window manager.

License

Notifications You must be signed in to change notification settings

lslvr/mwm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mwm

The window manager for the true minimalist:

  • 20 LOC.
  • No modes.
  • No "eye-candy".
  • No mouse control.
  • No virtual desktops.
  • No configuration files.
  • Not standards-compliant.
  • No title bars, no status bars, no buttons, no borders, no menus, etc.
  • All windows are full-screen, just one is visible at any given time.
  • Absolutely adaptable to your needs.
  • Includes just what is strictly needed.

This is the smallest, actually usable window manager I know about. Even TinyWM is twice as large. However, it doesn't let you launch programs, or assign key bindings. mwm does.


xterm, with the micro editor, editing mwm's source.

2024-12-27-172602_1920x1080_scrot

Why?

Most software today is crappy. Do you really need all the bells and whistles? Probably not.

We are in dire need of software that is hackable, fun, small, malleable, and that you can wrap your head around, because: is it truly free software if, due to its complexity, you cannot modify it? ;)

How?

The very essential things a window manager should let me do are:

  • Launch applications (which might create new windows).
  • Switch between windows.
  • Close windows.

Well, so that's all what mwm lets you do.

Two macros are available for assigning keybindings: grab and map. Read mwm-custom.c for an example on how to use them (my own setup).

You first need to grab the keys you want to be able to bind. Then you map them to actions.

Building.

Run ./build.sh. Pass CC=... to use a different C compiler (I use tcc). Dead simple.

About

The smallest, actually usable window manager.

Resources

License

Stars

Watchers

Forks