From 5a4d4a06a287985fbf5b458056881d3d0a0c71aa Mon Sep 17 00:00:00 2001 From: xero Date: Sun, 22 Jan 2017 23:22:55 -0500 Subject: add wmutils setup --- wmutils/bin/tile.sh | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 wmutils/bin/tile.sh (limited to 'wmutils/bin/tile.sh') diff --git a/wmutils/bin/tile.sh b/wmutils/bin/tile.sh new file mode 100755 index 0000000..2b89960 --- /dev/null +++ b/wmutils/bin/tile.sh @@ -0,0 +1,39 @@ +#!/bin/sh +# +# z3bra - 2014 (c) wtfpl +# arrange windows in a tiled pattern + +# default values for gaps and master area +PANEL=${PANEL:-0} +GAP=${GAP:-20} +MASTER=${MASTER:-900} + +# get current window id and its borderwidth +PFW=$(pfw) +BW=$(wattr b $PFW) + +# get root window's size (beware, multi-head setups...) +ROOT=$(lsw -r) +SW=$(wattr w $ROOT) +SH=$(wattr h $ROOT) + +# get the number of windows to put in the stacking area +MAX=$(lsw|grep -v $PFW|wc -l) + +# calculate usable screen size (without borders and gaps) +SW=$((SW - GAP - 2*BW)) +SH=$((SH - GAP - 2*BW - PANEL)) + +Y=$((0 + GAP + PANEL)) +# put current window in master area +wtp $GAP $Y $((MASTER - GAP - 2*BW)) $((SH - GAP)) $PFW + +# and now, stack up all remaining windows on the right +X=$((MASTER + GAP)) +W=$((SW - MASTER - GAP)) +H=$((SH / MAX - GAP - 2*BW)) + +for wid in $(lsw|grep -v $PFW); do + wtp $X $Y $W $H $wid + Y=$((Y + H + GAP + 2*BW)) +done -- cgit v1.2.1