/ bin / arrange
arrange
 1  #!/bin/ksh
 2  
 3  ROOT=$(lswin -r)
 4  W=$(wattr w ${ROOT})
 5  H=$(wattr h ${ROOT})
 6  
 7  # Layout
 8  #         x
 9  #   ______________
10  #   | brw  |     |
11  #   |  0   |     |
12  #   |______| xtm |
13  # y | emx  |  2  |
14  #   |  1   |     |
15  #   |      |     |
16  #   --------------
17  
18  set -A windows
19  
20  for i in $(lswin); do
21  	n=$(wname $i)
22  	echo "name: $n"
23  	case $n in
24  		emacs*)
25  			echo "[X] emacs $i"
26  			windows[1]=$i
27  			;;
28  		Main*|st)
29  			echo "[X] ksh $i"
30  			windows[2]=$i
31  			;;
32  		*)
33  			echo "[X] chrome $i"
34  			windows[0]=$i
35  	esac
36  done
37  
38  OS=18
39  GAP=3
40  
41  Y=$((H-OS-GAP))
42  
43  HH=$((H/2))
44  HW=$((W/2))
45  HOS=$((OS/2))
46  
47  echo "Moving ${#windows[@]} windows"
48  # wtp	x		y		w		h			id
49  wtp	$((0+GAP))	$((OS+GAP))	$((HW-GAP))	$((HH-HOS))		${windows[0]} # chrome
50  wtp	$((0+GAP))	$((OS+HH-GAP))	$((HW-GAP))	$((HH-HOS-GAP))		${windows[1]} # emacs
51  wtp	$((HW+GAP))	$((OS+GAP))	$((HW-GAP-GAP))	$((H-OS-GAP-GAP))	${windows[2]} # xterm