mmWM is a dynamic window manager that is heavily based off of FrankenWM but with many unnecessary features stripped out, and others added. Its goal is to simplify your workflow with some automated window management and less, more logical hotkeys.
Menu on desktop is xmenu
mmWM is lightweight. smem
outputs USS and PSS at 368k and 409k respectively.
Standard WM features (Can be toggled On/Off): Borders, Gaps, Panel, Follow Mouse, Multiple Desktops
No per-app rules. All windows start tiled and focused on current desktop (unless desktop is full)
Simplified, fewer, and more logical keyboard shortcuts following the pattern: {MOD4 + Single Key}
Single Tiling mode: Main window + secondary & tertiary on the side
Automatic switch to next open desktop when opening a new window in a full desktop
Automatic switch to previous populated desktop if last window on desktop is killed
User defined maximum allowed windows per desktop
A smart gapless mode
Command executed when clicking on root window / desktop
Brightness and volume XF86Keysym support for laptop keys (see Vendorkeys branch for code addition)
Pywal Support (Must re-add this manually. See add_pywal_support.txt)
BUG FIX: If a desktkop is full, transient windows are mapped in next available desktop, not the current one
You need xcb and xcb-utils then, copy config.def.h
as config.h
and edit to
suit your needs. Build and install.
$ cp config.def.h config.h
$ $EDITOR config.h
$ make
# make clean install
Dependencies:
libxcb
xcb-util
xcb-util-wm
xcb-util-keysyms
You can configure mmWM by editing config.h
before compiling.\
Without panel: Add the following to your .xinitrc
$ exec mmwm
With Panel:
Download a panel script from FrankenWM's Github page, make it executable, and save it somewhere.
Add the following to your .xinitrc
$ exec [PATH TO BAR SCRIPT]
FrankenWM by sulami
Customized Panel Scripts by shmalebx9
2bwm by venam