aboutsummaryrefslogtreecommitdiff
path: root/xres
diff options
context:
space:
mode:
Diffstat (limited to 'xres')
-rwxr-xr-xxres31
1 files changed, 31 insertions, 0 deletions
diff --git a/xres b/xres
new file mode 100755
index 0000000..200753d
--- /dev/null
+++ b/xres
@@ -0,0 +1,31 @@
+#!/bin/bash
+#
+# Wrapper around xrandr to set screen resolution.
+#
+
+# Parameters
+BASENAME="`basename $0`"
+X="$1"
+Y="$2"
+
+# Check
+if [ -z "$Y" ]; then
+ echo "usage: $BASENAME <x-res> <y-res>"
+ exit 1
+elif ! which cvt &> /dev/null; then
+ echo "please install cvt from xserver-xorg-core"
+ exit 1
+elif ! which xrandr &> /dev/null; then
+ echo "please install xrandr from x11-xserver-utils"
+ exit 1
+fi
+
+# Get modeline and interface
+MODELINE="`cvt $X $Y | grep -v '^#'` | sed -e 's/^Modeline //'"
+INTERFACE="`xrandr | grep " connected" | cut -d ' ' -f 1 | head`"
+NAME="`echo $MODELINE | cut -d ' ' -f 1 | sed -e 's/"//g'`"
+
+# Apply
+xrandr --newmode $MODELINE
+xrandr --addmode $INTERFACE $NAME
+xrandr --output $INTERFACE --mode $NAME