support autodetection of current workspace; convert spaces to tabs
This commit is contained in:
parent
339f942f00
commit
f21e07d674
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
|||||||
BSD 2-Clause License
|
BSD 2-Clause License
|
||||||
|
|
||||||
Copyright (c) 2017, 2020, Evgeny Zinoviev
|
Copyright (c) 2017, 2020, 2021 Evgeny Zinoviev
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
current_workspace() {
|
||||||
|
wmctrl -d | awk '{print $1" "$2}' | grep "*" | awk '{print $1}'
|
||||||
|
}
|
||||||
|
|
||||||
workspace_exists() {
|
workspace_exists() {
|
||||||
wmctrl -d | awk '{print $1}' | grep -w -- "${1}"
|
wmctrl -d | awk '{print $1}' | grep -w -- "${1}"
|
||||||
}
|
}
|
||||||
@ -22,17 +26,24 @@ move_window() {
|
|||||||
wmctrl -i -r "$1" -t "$2"
|
wmctrl -i -r "$1" -t "$2"
|
||||||
}
|
}
|
||||||
|
|
||||||
USAGE="A program to move all windows from workspace <1> to workspace <2> and
|
usage() {
|
||||||
|
cat <<-_EOF
|
||||||
|
A program to move all windows from workspace <1> to workspace <2> and
|
||||||
vice versa.
|
vice versa.
|
||||||
|
|
||||||
|
If the first workspace number is not specified, current workspace is assumed.
|
||||||
|
Workspace numbering starts with 0.
|
||||||
|
|
||||||
This is useful when you want to reorder workspaces but your DE doesn't have such
|
This is useful when you want to reorder workspaces but your DE doesn't have such
|
||||||
feature (XFCE as an example).
|
feature.
|
||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
$(basename "$0") <1> <2>
|
$(basename "$0") [<1>] <2>
|
||||||
|
|
||||||
Dependencies:
|
Dependencies:
|
||||||
wmctrl"
|
wmctrl
|
||||||
|
_EOF
|
||||||
|
}
|
||||||
|
|
||||||
FROM=$1
|
FROM=$1
|
||||||
TO=$2
|
TO=$2
|
||||||
@ -42,10 +53,14 @@ if [ ! -x "$(command -v wmctrl)" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$FROM" ] || [ -z "$TO" ]; then
|
if [ -z "$TO" ]; then
|
||||||
|
if [ -z "$FROM" ]; then
|
||||||
echo "$USAGE"
|
echo "$USAGE"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
TO="$FROM"
|
||||||
|
FROM=$(current_workspace)
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$FROM" == "$TO" ]; then
|
if [ "$FROM" == "$TO" ]; then
|
||||||
exit
|
exit
|
||||||
|
Loading…
x
Reference in New Issue
Block a user