kaugm / mmwm

Modern Minimalistic Window Manager

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mmWM

Modern Minimalistic Window Manager

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.

mmwm thumbnail mmwm thumbnail Menu on desktop is xmenu

mmWM is lightweight. smem outputs USS and PSS at 368k and 409k respectively.

Minimalist Approach to Basic WM Features

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

Added features

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

Other features

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)

TODO

BUG FIX: If a desktkop is full, transient windows are mapped in next available desktop, not the current one

Installation

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

Configuration

You can configure mmWM by editing config.h before compiling.\

Usage

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]

Thanks

FrankenWM by sulami
Customized Panel Scripts by shmalebx9
2bwm by venam

About

Modern Minimalistic Window Manager

License:Other


Languages

Language:C 94.7%Language:Roff 3.8%Language:Makefile 1.3%Language:C++ 0.2%