summaryrefslogtreecommitdiffstats
path: root/.local/bin/toggle-tablet
blob: 819af42f3ee378590f9e5b92b67053367c28a584 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/sh

# This script toggles between a 'normal' mode and a 'tablet' mode, doing
# a few things:

# - rotates the screen using =xrandr=, so that rotating the physical
#   display of my X220t would have the laptop's battery on the right
#   hand side,
# - enables touch screen,
# - properly rotates the stylus pen and touch screen pointers, and
# - toggles between RGB and Vertical BGR sub-pixel order.

case $(xfconf-query -c pointers -p /Wacom_ISDv4_E6_Pen_stylus/Properties/Wacom_Rotation) in
    0)  # Screen is not rotated, we should rotate it right (90°)
        xrandr -o 3
        xfconf-query -c pointers -p /Wacom_ISDv4_E6_Pen_stylus/Properties/Wacom_Rotation -s 1
        xfconf-query -c pointers -p /Wacom_ISDv4_E6_Finger_touch/Properties/Device_Enabled -s 1
        xfconf-query -c pointers -p /Wacom_ISDv4_E6_Finger_touch/Properties/Wacom_Rotation -s 1
        xfconf-query -c xsettings -p /Xft/RGBA -s vbgr
        ;;
    1)  # Currently top is rotated right, we should set it normal (0°)
        xrandr -o 0
        xfconf-query -c pointers -p /Wacom_ISDv4_E6_Pen_stylus/Properties/Wacom_Rotation -s 0
        xfconf-query -c pointers -p /Wacom_ISDv4_E6_Finger_touch/Properties/Wacom_Rotation -s 0
        xfconf-query -c pointers -p /Wacom_ISDv4_E6_Finger_touch/Properties/Device_Enabled -s 0
        xfconf-query -c xsettings -p /Xft/RGBA -s rgb
        ;;
    *)
        echo "Unknown result from 'xfconf-query -c pointers -p /Wacom_ISDv4_E6_Pen_stylus/Properties/Wacom_Rotation'" >&2
        exit 1
        ;;
esac