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