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/fullscreen.sh | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 wmutils/bin/fullscreen.sh (limited to 'wmutils/bin/fullscreen.sh') diff --git a/wmutils/bin/fullscreen.sh b/wmutils/bin/fullscreen.sh new file mode 100755 index 0000000..497e560 --- /dev/null +++ b/wmutils/bin/fullscreen.sh @@ -0,0 +1,41 @@ +#!/bin/sh +# +# z3bra - 2014 (c) wtfpl +# toggle the fullscreen state of a window +# depends on: focus.sh + +# this file is used to store the previous geometry of a window +FSFILE=${FSFILE:-~/.fwin} + +# it's pretty simple, but anyway... +usage() { + echo "usage: $(basename $0) " + exit 1 +} + +# exit if no argument given +test -z "$1" && usage + +# this will unset the fullscreen state of any fullscreen window if there is one. +# this way, there will only be one window in fullscreen at a time, and no window +# will loose their previous geometry info +test -f $FSFILE && wtp $(cat $FSFILE) + +# if file exist and contain our window id, it means that out window is in +# fullscreen mode +if test -f $FSFILE && grep -q $1 $FSFILE; then + # if the window we removed was our window, delete the file, so we can + # fullscreen it again later + rm -f $FSFILE + +else + # if not, then put the current window in fullscreen mode, after saving its + # geometry and id to $FSFILE we also remove any border from this window. + wattr xywhi $1 > $FSFILE + wtp $(wattr xywh `lsw -r`) $1 + chwb -s 0 $1 +fi + +# now focus the window, and put it in front, no matter which state we're in, and +# put the cursor on its bottom-right corner (for consistency) +focus.sh $1 -- cgit v1.2.1