Code Monkey home page Code Monkey logo

mmwm's Introduction

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

mmwm's People

Contributors

kaugm avatar shmalebx9 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

mmwm's Issues

Segfault if user does not specify colorfile

With the newest update, when the program is first compiled it causes a segmentation fault. The user needs to specify the colorfile or the default "/home/USER/.cache/wal/colors-mmwm.h" leads the dynamic colors function to nowhere and causes a segfault. The solution might be remedied by pulling the user's home directory through the $HOME environmental variable with the getenv function or by making the colors function check if the given path is valid before proceeding. I'd submit a pull request with a fix if I could but I'm a landscaper, not an engineer, and it seems like diagnosing the problem is as far as my minimal knowledge of C can get me.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.