dewm - A pure go autotiling window manager written with literate programming

  •        12

dewm is written in a literate programming style, in the hopes that it can inspire anyone else who's ever wanted to write their own window manager that they can learn enough to do it. I knew next to nothing about the X11 protocol or ICCCM conventions when I started this (and still don't), so if I got anything wrong please feel free to either send a pull request or email me so I can correct it. I don't want to misinform anyone who reads the markdown source in the src/ directory. By default, all columns are equally sized, and each window in any given column is equally sized, but they can be resized dynamically (see keybindings below).

https://github.com/driusan/dewm

Tags
Implementation
License
Platform

   




Related Projects

quicktile - Adds window-tiling keybindings to any X11-based desktop

  •    Python

As of QuickTile 0.3.0, the installation process has changed. This was necessary to allow QuickTile to be split across multiple files so I could get past some mental blocks and start to clean up the code and implement new features.

euclid-wm

  •    

euclid-wm is a minimalist tiling window manager for X11. It is designed to allow quick and easy management of numerous windows entirely from easy-to-learn, Vim-like key-bindings.

i3 - i3-gaps – i3 with more features (forked from https://github.com/i3/i3)

  •    C

This is a fork of i3wm, a tiling window manager for Linux. It includes a few additional features which you can read up on below. If you want to check out how you could use them, you could check out my dotfiles repository.

spectrwm - A small dynamic tiling window manager for X11.

  •    C

spectrwm is a small dynamic tiling and reparenting window manager for X11. It tries to stay out of the way so that valuable screen real estate can be used for much more important stuff. It has sane defaults and does not require one to learn a language to do any configuration. It is written by hackers for hackers and it strives to be small, compact and fast. It was largely inspired by xmonad and dwm. Both are fine products but suffer from things like: crazy-unportable-language-syndrome, silly defaults, asymmetrical window layout, "how hard can it be?" and good old NIH. Nevertheless dwm was a phenomenal resource and many good ideas and code was borrowed from it. On the other hand xmonad has great defaults, key bindings and xinerama support but is crippled by not being written in C.

dvtm - dvtm brings the concept of tiling window management, popularized by X11-window managers like dwm to the console

  •    C

dvtm brings the concept of tiling window management, popularized by X11-window managers like dwm to the console. As a console window manager it tries to make it easy to work with multiple console based programs. dvtm strives to adhere to the Unix philosophy. It tries to do one thing, dynamic window management on the console, and to do it well.


TAL/wm

  •    C

TAL/wm is a Tiling Application Launcher/window manager for X. Currently TAL/wm is based loosely on the dynamic window manager (dwm) code. The goal is to be even more minimal and equally as customizable. TAL/wm is no longer maintained, and should be treat

PaperWM - Tiled scrollable window management for Gnome Shell

  •    Javascript

PaperWM is an experimental Gnome Shell extension providing scrollable tiling of windows and per monitor workspaces. It's inspired by paper notebooks and tiling window managers. Supports Gnome Shell 3.28, 3.30 and 3.32 on X11 and wayland.

nwm - Tiling Node.js window manager for X11

  •    Javascript

Tiling Node.js window manager for X11

howm - A lightweight, X11 tiling window manager that behaves like vim

  •    C

If you can't use the AUR, then there may be a package available for your distro. After howm is installed, you'll want to copy over some configuration files.

nwm - Tiling window manager for X11 written in Node.js

  •    Javascript

nwm is what I use for window management in ChromeOS, Arch, Debian and Ubuntu. New in 1.1.0: simplified the installation process by adding a nwm command, and simplified customization by introducing a new ~/.nwm-user loading mechanism.

i3 - A tiling window manager

  •    C

i3 is a tiling window manager for X11. For more information about i3, please see the project's website and online documentation.

taffybar - A gtk based status bar for tiling window managers such as XMonad

  •    Haskell

Taffybar is a gtk+3 (through gi-gtk) based desktop information bar, intended primarily for use with XMonad, though it can also function alongside other EWMH compliant window managers. It is similar in spirit to xmobar, but it differs in that it gives up some simplicity for a reasonable helping of eye candy. Taffybar has a number of non-haskell dependencies. It is recommended that you follow the installation instructions for haskell-gi before attempting to install taffybar.

2bwm - A fast floating WM written over the XCB library and derived from mcwm.

  •    C

A fast floating WM, with the particularity of having 2 borders, written over the XCB library and derived from mcwm written by Michael Cardell. In 2bWM everything is accessible from the keyboard but a pointing device can be used for move, resize and raise/lower. WARNING: This WM and this repository are experimental, 2bwm is only meant for advanced users. When comparing compiled executables' size, 2bwm is 36KB, dwm is 33KB, dvtm 37KB, and i3 343KB.

XTags

  •    C

XTags is a little keyboard-driven program which implements tags for X11. It’s a pseudo-WM called WHM (Window Helper Manager). It’s main goal is to get rid of a quot;realquot; WM by using it with dvtm on the master tag and put the secondary clients away.

shellshape - tiling window manager extension for gnome-shell

  •    TypeScript

I am no longer using or actively developing shellshape. I have focused my efforts on slinger, which I created as a simpler window management utility with many of the same benefits as shellshape, but with a fraction of the code, complexity and bugs. If anyone wishes to maintain shellshape (and fix said bugs ;)), please get in touch. A tiling window manager extension for gnome-shell. Many tiling window managers are an all-or-nothing affair, shellshape allows you to tile your windows when it makes sense, and still provides powerful direct manipulation when you need it. You don't have to give up any of the gnome features you like, so it makes for a very smooth learning curve.

wmfs - Window Manager From Scratch, A tiling window manager highly configurable.

  •    C

Window Manager From Scratch, A tiling window manager highly configurable.

notion

  •    Lua

Tabbed, tiling window manager.

Amethyst - Automatic tiling window manager for macOS à la xmonad.

  •    Swift

Tiling window manager for macOS along the lines of xmonad. Amethyst is available for direct download here or using homebrew cask.

xmonad - The core of xmonad, a small but functional ICCCM-compliant tiling window manager

  •    Haskell

xmonad is a tiling window manager for X. Windows are arranged automatically to tile the screen without gaps or overlap, maximising screen use. Window manager features are accessible from the keyboard: a mouse is optional. xmonad is written, configured and extensible in Haskell. Custom layout algorithms, key bindings and other extensions may be written by the user in config files. Layouts are applied dynamically, and different layouts may be used on each workspace. Xinerama is fully supported, allowing windows to be tiled on several physical screens. For the full story, read on.