You are not logged in.

#1 2015-02-23 07:54:19

Lineaxe
Member
Registered: 2015-02-07
Posts: 29

A great XCB-based WM: µWM!

I finally found a great WM to use as a base for mine: µWM!
It has all the essential technical features of JWM, and it's a much smaller code-base, and it's based on XCB! Which means you can move around media-playing windows without X11 being locked down!
And it's obviously more efficient on multi-core processors, and frees up developers to do a lot of neat things.
So now I'm just enjoying UWM as a replacement to JWM, and I'm starting to implement my C++ classes for XCB and for the µWM framework (which seems to be very solid).

Too bad development stopped back in 2011/2012...

But it's definitely useable!
What I don't like is the sidebar -- but it can be removed
The configuration is definitely cleaner than JWM, as you don't have to deal with the tag-hell of XML, just script-like plain-text, and some brackets.

Interesting features (what I found so far):
*You can build a simple standard desktop with it, through static buttons (as it calls them). Though you can't drag them around, like icons on a desktop.
*Easily create a wbar-replacement, with either static buttons, or a panel, just with icons without titles.
*A file-explorer using menus! Though I don't know if you can bind programs to it, yet.
*You can easily have windows tiled.
*You can have separate config-files for keybindings and such.
*Autohidden panels! Yay!
*Dragging windows from workspaces! (which you can't do in JWM)
More features listed here: http://hack.org/mc/blog/uwm.html

Link: http://sourceforge.net/projects/uwm/files/
First download it with git: git clone git://uwm.git.sourceforge.net/gitroot/uwm/uwm
Then just follow the README.
To run it according to the example in the README, you need Xephyr (to run a virtual Xorg server) and ttf-dejavu.

To use it as your real WM, run it in .xinitrc as "uwm -c ~/.uwmrc", just copying the uwmrc.example, and renaming it ".uwmrc" in your home-dir.

Damn! I'm so happy I found this XCB-based WM!
Now I can finally start implementing the features I want, and not have to worry about low-level stuff, and feel uneasy about using Xlib.
Though, I will be refining the low-level stuff, iteratively, when I feel like it, and at important parts. The menu code could probably be optimized, and cleaned up a bit...
Well, wish me luck! I will be making THE next-gen WM for all distros.

I will add more to this later, as I use it more.

Edit: it's "µWM", not "UWM", and you get more relevant results with "µWM".
It's much snappier than JWM, is something I'm noticing right away, even in applications... it seems like...

I haven't found any fully fleshed-out config file on the web, but these two keybindings are pretty essential:
    [ [ mod1 tab ] task-next-window = true ]
    [ [ mod1 f4 ] close = true ]
Just replace the [mod4 tab]... keybinding with these two.
I haven't found how to close the currently active window yet, so you have to click on it to close it after pressing alt+F4.

Last edited by Lineaxe (2015-02-23 10:00:16)

Offline

Board footer

Powered by FluxBB