A fully programmable Wayland Compositor
Find a file
buffet 2349092d02 Removed default.nix
- Clutter for most users
- Did it for the meme mostly though
2018-09-27 16:53:35 +02:00
lit Added basic client and almost empty wm 2018-09-27 16:43:17 +02:00
.gitignore Initial commit 2018-09-27 16:42:20 +02:00
config.mk Added Makefile 2018-09-27 16:42:31 +02:00
LICENSE Initial commit 2018-09-27 16:42:20 +02:00
Makefile Added Makefile 2018-09-27 16:42:31 +02:00
README.adoc Fixed readme 2018-09-27 16:51:09 +02:00

wmaffle

A fully manual tiling window manager for the X window system.

Why?

Theres not enough so called "manual" tiling window managers and none of the existing ones is fully manual.

When a new window opens, without having space assigned, I dont want my WM to suddenly be dynamic and just put it somewhere or even on top something thats already existing.

Wheres the source at?

In lit/.

wmaffle is a literate program. Its a cool thing by Knuth. Im not going to explain this, since this does it better anyways. Im using the Literate utility for this, since it gets the job done, while keeping a light syntax for me.

Why? Literate programming is awesome. This allows people to learn from my stuff while making it easy to contribute. Also its easier to write documentation like this. Who does comments anyway?

Concepts

I dont know what you expect to find here.

Its a window manager: theres tags (workspaces), windows and they get arranged.

So what happens when a window is created when theres no space yet? Its put in a queue, from where it can be popped into available space (which is also getting a cool name soon). This also solves the problem of creating a window and moving the focus before it spawns, since you can assign future queue positions to available space.

I plan on having available space behave like a window, so that you dont have to think about stuff, but well see about that.

Configuration

Configuration languages suck and they add a lot of complexity to a program. wmaffle listens to a socket and offers a basic client (called syrup) to communicate with the WM.

This allows you to write your configuration in any language you want, while also removing the task of listening to keybinds for me, since you can use tools like sxhkd to do that.

Contribution

Ill add contribution guidelines later, when its clear where the project is going. For now feel free to open issues.