Skip to content

Commit 6f2c7a1

Browse files
committed
make window ids expire in a given amount of time
1 parent 10156a5 commit 6f2c7a1

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

pushpop

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
ACTION=auto
44
FILENAME=${HOME}/.pushpop
55

6-
while getopts c:i:s:w:h:x:y:d:? FLAG; do
6+
while getopts a:i:e:f: FLAG; do
77
ARGS=1;
88
case $FLAG in
99
i)
@@ -15,13 +15,17 @@ while getopts c:i:s:w:h:x:y:d:? FLAG; do
1515
f)
1616
FILENAME=$OPTARG
1717
;;
18+
e)
19+
EXPIRES=$OPTARG
20+
;;
1821
esac
1922
done
2023

2124
if [ ! -e $FILENAME ]; then
2225
touch $FILENAME
2326
fi
2427

28+
NOW=$(date +"%s")
2529

2630
if [ "${WINDOW}x" == "x" ]; then
2731
WINDOW=$(xdotool getactivewindow)
@@ -62,7 +66,7 @@ if [ "$ACTION" == "push" ]; then
6266

6367
SIZEDATA=$(get_position $FILENAME $WINDOW)
6468

65-
NEWSIZEDATA=$(echo $WINDOW $WINDOWPOS)
69+
NEWSIZEDATA=$(echo $WINDOW $WINDOWPOS $NOW)
6670

6771
if [ "${SIZEDATA}" != "${NEWSIZEDATA}" ]; then
6872
echo $NEWSIZEDATA >> $FILENAME
@@ -72,7 +76,15 @@ fi
7276
if [ "$ACTION" == "pop" ]; then
7377
TMPFILE=$(mktemp)
7478
SIZEDATA=$(get_position $FILENAME $WINDOW)
75-
echo $SIZEDATA
79+
if [ -n "$EXPIRES" ]; then
80+
TIME=$(echo $SIZEDATA|awk '{print $4}')
81+
AGE=$(expr $NOW - $TIME)
82+
if [ "$AGE" -lt "$EXPIRES" ]; then
83+
echo $SIZEDATA
84+
fi
85+
else
86+
echo $SIZEDATA
87+
fi
7688
grep -v "$SIZEDATA" $FILENAME > $TMPFILE
7789
if [ $? -le 1 ]; then
7890
mv -f $TMPFILE $FILENAME;

toggle_full

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
55
PUSHPOP=${DIR}/pushpop
66
WINDOWGRID=${DIR}/window_grid
77

8-
RES=$($PUSHPOP)
8+
RES=$($PUSHPOP -e 43200 )
99

1010
if [ "${RES}x" == "x" ]; then
1111
$WINDOWGRID -d 16 -x 1 -y 1 -w 14 -h 14

0 commit comments

Comments
 (0)