LINUX.ORG.RU

Вращение изображения на экране относительно текущего положения

 


0

2

У моего новоприобретённого ноутбукопланшета есть кнопка для ручного вращения дисплея (с датчиком ориентации буду разбираться потом, если он есть, чего я не знаю пока что). Под виндой оно вело себя следующим образом: в цикле переключало варианты ориентации дисплея.

Я знаю про xrandr --rotate left|right|inverted|normal, но этого мне недостаточно. Я бы хотел, чтобы ориентация переключалась относительно текущей ориентации дисплея. То есть если сейчас normal, то становилось left, если сейчас left, то становилось inverted, если сейчас inverted, то становилось right, и, наконец, если сейчас right, то становилось normal.

Как бы такое организовать?

★★★★★

Решение: следующий скрипт:

#!/bin/sh

rotation="$(xrandr -q --verbose | grep 'LVDS1 connected' | egrep -o  '\) (normal|left|inverted|right) \(' | egrep -o '(normal|left|inverted|right)')"

case "$rotation" in
    normal)
        thinkpad-rotate left
        ;;
    left)
        thinkpad-rotate inverted
        ;;
    inverted)
        thinkpad-rotate right
        ;;
    right)
        thinkpad-rotate normal
        ;;
esac

Вместо thinkpad-rotate можно подставить xrandr --output LVDS1 -o XXX. Разумеется, при этом придётся самостоятельно также изменять ориентацию wacom и т. п.

KivApple ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.