Author: z3bra <firstname.lastname@example.org>
Date: Thu, 8 Jan 2015 21:41:23 +0100
New article released !
3 files changed, 90 insertions(+), 1 deletion(-)
diff --git a/2015/01/you-are-the-wm.txt b/2015/01/you-are-the-wm.txt
@@ -0,0 +1,87 @@
+# [You are the WM](#)
+## — 08 January, 2015
+A window manager is a program that runs in the background, and give you keybinds
+and/or mouse moves to move/resize and arrange your windows on your screen.
+Abbreviated "WM", the window manager is an important part of your system,
+because without it, you'd probably end up with all your windows pop in the
+bottom left hand-corner of your screen, unable to switch between them.
+But guess what...
+### You don't need it !
+It's a fact. A
+[study](http://www.nytimes.com/2005/01/11/health/11anim.html) determined that
+some rat could be able to determine which language you are speaking. But that's
+totally unrelated here, I agree.
+What is a window manager ?
+<q>It's a program !</q> woah. Thank you Timmy.
+A window manager is a program (thank you Timmy) that runs in the background, and
+wait for X events (I wont talk about wayland here). Those X events can be of
+any form: key press, window creation/deletion, mouse move, and so on.
+The most used events being the keypress events, because the window manager will
+perform different actions to arrange you windows.
+With [dcat](http://vps.iotek.org/~dcat), we realized that some programs (sxhkd,
+xbindkeys and others) already handle those events, and could start programs when
+receiving them. Following the Ô so true Unix way, we decided to create a set of
+small tools to perform all the task a window manager is supposed to do.
+We ended up with [wmutils](http://github.com/wmutils/core).
+### Coreutils, for Xorg
+This project aims to provide all the tools needed to manage a list of X windows,
+while keeping each tool as simple as possible, so that they can easily be glued
+together to create complex behaviors.
+Using wmutils, you can list windows, move/resize/teleport them, change their
+borders, change their visibility, stacking order, ignore them, focus them, and
+It's power reside in its simplicity. As you can chain commands together, you
+could easily perform some action that other WM can't even do.
+For example, here is how you kill all the windows that are not shown on screen
+(eg, attached to other workspaces):
+ lsw -u | xargs killw
+Put a window in the top-left corner ? pff. easy:
+ wtp 0 0 $(wattr whi `$pfw`)
+bottom-left corner ?
+ w=$(wattr w $wid)
+ h=$(wattr h $wid)
+ fh=$(wattr h `lsw -r`)
+ wtp 0 $((fh - h)) $(wattr whi $wid))
+You get the idea. As a matter of fact, the following as been done using ONLY\*
+[![gif showing floating
+[![gif showing tiling
+<span class="caption">\*only exception is the use of x-move-resize from
+[no-wm](https://github.com/patrickhaller/no-wm), which is planned to be added to
+Check out the "[contrib](http://github.com/wmutils/contrib)" repo. There are
+some nice scripts in there !
+Now throw your window manager away, you don't need it anymore. **YOU ARE THE WM
+<!-- vim: set ft=markdown ts=4 et tw=80: -->
diff --git a/config.mk b/config.mk
@@ -22,7 +22,8 @@ PAGES = index.html \
+ 2014/12/so-tox-me-maybe.html \
FEEDS = rss/feed.xml
EXTRA = css img vid errors favicon.ico
diff --git a/index.txt b/index.txt
@@ -1,3 +1,4 @@
+* 0x0013 - [You are the WM](/2015/01/you-are-the-wm.html)
* 0x0012 - [So tox me maybe](/2014/12/so-tox-me-maybe.html)
* 0x0011 - [Avoid workspaces](/2014/11/avoid-workspaces.html)
* 0x0010 - [Backup, someone ?](/2014/09/backup-someone.html)