You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
aldum c71550090c hide empty tags by default 2 years ago
.vscode add scratchpad and fix animation issues 2 years ago
themes fix emoji size 3 years ago
.gitignore fix floating bug 2 years ago
LICENSE Prepare 6.2 release. 4 years ago
Makefile add instantwmctrl 2 years ago fix screenshot 2 years ago deprecate 2 years ago
config.def.h tweak keybindings 2 years ago change empty text 2 years ago
drw.c fixed transparent windows also having tranparent borders with dwm-fixborders patch 2 years ago
drw.h remove unused variables/functions 2 years ago
instantwm.1 change to instantmenu 3 years ago
instantwm.c hide empty tags by default 2 years ago
instantwm.desktop add startinstantos 3 years ago
instantwm.h more instanwmctrl commands 2 years ago fix typo 2 years ago
layouts.c improve tag switching in float layout 2 years ago
layouts.h add changesnap 2 years ago
push.c more instanwmctrl commands 2 years ago
push.h add push.h eol 2 years ago
startinstantos change log location 2 years ago the codacy has spoken 3 years ago
util.c die() on calloc failure 6 years ago
util.h import new drw from libsl and minor fixes. 7 years ago


Window manager for instantOS

instantWM the window manager of instantOS.



It is preinstalled on instantOS
You can manually install the git build by cloning the repo and then running

git clone --depth=1
cd instantWM

You can use this to get access to new features early. It can be used outside of instantOS but depends on instantassist, instantutils and slop.

Download latest release


Documentation for instantWM can be found in the general documentation for instantOS and the instructional screencasts. It is not described in this README


This is just a quick list of some features. For a full list and explanation, please refer to the documentation.

  • General
    • hybrid-wm: tiling and floating mode
    • Keyboard and Mouse based workflows
    • start menu
    • desktop bindings
    • full multi monitor support
    • tag system
    • overview mode
    • overlays
  • Graphical Features
    • Animations
    • Hover indicators
    • Status markup
    • color indicators for sticky windows, tag status etc.
  • Mouse support
    • Drag windows by grabbing the title
    • Drag windows onto other tags
    • Rio-like drawing feature

Background information

instantWM is a dwm fork, but contains less than 40% original dwm code. Most of the changed and added code is completely original which means there are no patches replicating the behaviour for dwm. It also makes instantWM incompatible with dwm patches.
Why go this route? Why not just use dwm patches? The features patches introduce are by nature completely isolated. They have no way of knowing what else is applied to the WM and therefore are limited in their usage of other parts of the WM. Not relying on patches enables huge amounts of freedom. Take for instance sticky windows. They are a simple concept, but need a few checks in some places that adjust behaviour based on wether a window is sticky or not. A patch can only apply this to code present in the barren vanilla version. Other examples of this include animations and overlays or scratchpads. Most features weren't available as patches anyway. instantWM has different goals than dwm.
It prioritizes stability, speed and features over lines of code. It aims to have excellent mouse and touch screen support. It contains graphical features like animations and hover indicators that make it look more appealing. It is meant to be used as is. instantOS has every feature that a desktop enviroment has or offers a replacement and instantWM closely follows this "just works" approach and in many ways goes beyond the capabilities of a desktop environment. This makes it a possible choice for new or casual users that cannot be bothered to learn C, vim, git, bash and loads of other stuff just to do their email.

instantOS is still in early beta, contributions always welcome