28 lines
870 B
Python
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()
|