Mercurial > hg > config
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 |
