comparison bin/xmoveall.sh @ 306:1166c65328f7

stub
author Jeff Hammel <jhammel@mozilla.com>
date Wed, 15 May 2013 14:46:05 -0700
parents
children 655a40db0977
comparison
equal deleted inserted replaced
305:fac01a1bcedf 306:1166c65328f7
1 #!/bin/bash
2
3 # move all windows to a desktop
4 # by default, the final one (graveyard)
5
6 # List all desktops managed by the window manager. One line is
7 # output for each desktop, with the line broken up into space sep‐
8 # arated columns. The first column contains an integer desktop
9 # number. The second column contains a '*' character for the cur‐
10 # rent desktop, otherwise it contains a '-' character. The next
11 # two columns contain the fixed string DG: and then the desktop
12 # geometry as '<width>x<height>' (e.g. '1280x1024'). The following
13 # two columns contain the fixed string VP: and then the viewport
14 # position in the format '<y>,<y>' (e.g. '0,0'). The next three
15 # columns after this contains the fixed string WA: and then two
16 # columns with the workarea geometry as 'X,Y and WxH' (e.g. '0,0
17 # 1280x998'). The rest of the line contains the name of the desktop
18 # (possibly containing multiple spaces).
19 DESKTOP=$(wmctrl -d | awk '{if ($2 == "*") {print $1}}')
20
21 # find the last desktop
22 if (( $# ))
23 then
24 LAST=$1
25 else
26 LAST=$(wmctrl -d | tail -n 1 | awk '{print $1}')
27 fi
28
29 # -l List the windows being managed by the window manager.
30 wmctrl -l | awk '{if ($2 == "'${DESKTOP}'") {print $1}}' | while read line
31 do
32 # -t <DESK>
33 # Move a window that has been specified with the -r action to the
34 # desktop <DESK>.
35 echo "wmctrl -r ${line} -t ${LAST}"
36 done
37