big overhaul
This commit is contained in:
38
.local/bin/xos
Normal file
38
.local/bin/xos
Normal file
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
|
||||
usage_exit () {
|
||||
local name="${0##*/}"
|
||||
echo "\
|
||||
Usage: $name
|
||||
$name off
|
||||
$name 1.0
|
||||
$name 1.5
|
||||
$name 2.0"
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [[ -n "$2" ]]; then
|
||||
usage_exit
|
||||
fi
|
||||
|
||||
scale_go () {
|
||||
local pointer_dev=$(xinput | sed -nr '/Virtual core/d;s/^.*id=([0-9]+).*slave +pointer.*$/\1/p')
|
||||
local output_dev=$(xrandr | sed -nr 's/^(.*) connected primary.*$/\1/p')
|
||||
for x in $output_dev; do
|
||||
xrandr --output $x --scale ${1}x${1}
|
||||
done
|
||||
for x in $pointer_dev ; do
|
||||
xinput set-prop $x 'Coordinate Transformation Matrix' ${1} 0 0 0 ${1} 0 0 0 1
|
||||
done
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
(off|1|1.0)
|
||||
scale_go 1 ;;
|
||||
(1.5)
|
||||
scale_go 1.5 ;;
|
||||
(2|2.0)
|
||||
scale_go 2 ;;
|
||||
(*)
|
||||
usage_exit ;;
|
||||
esac
|
||||
Reference in New Issue
Block a user