Sideband/sbapp/plyer/platforms/linux/orientation.py

28 lines
870 B
Python

import subprocess as sb
from plyer.facades import Orientation
class LinuxOrientation(Orientation):
def _set_landscape(self, **kwargs):
self.rotate = 'normal'
self.screen = sb.check_output(
"xrandr -q | grep ' connected' | head -n 1 | cut -d ' ' -f1",
shell=True
)
self.screen = self.screen.decode('utf-8').split('\n')[0]
sb.call(["xrandr", "--output", self.screen, "--rotate", self.rotate])
def _set_portrait(self, **kwargs):
self.rotate = 'left'
self.screen = sb.check_output(
"xrandr -q | grep ' connected' | head -n 1 | cut -d ' ' -f1",
shell=True
)
self.screen = self.screen.decode('utf-8').split('\n')[0]
sb.call(["xrandr", "--output", self.screen, "--rotate", self.rotate])
def instance():
return LinuxOrientation()