fenrir/tools/fenrir-unignore-screen
2018-09-21 17:32:55 +02:00

52 lines
2.1 KiB
Python
Executable File

#!/usr/bin/env python3
import os, argparse
def removeScreenFromIgnoreList(ignoreFileName = '/tmp/fenrirSuspend', screen = '1', useCurrentScreen = True):
if useCurrentScreen:
tty = open('/sys/devices/virtual/tty/tty0/active','r')
screen = str(tty.read()[3:-1])
if not screen:
print('No screen given.')
ignoreScreens = []
ignoreScreensStr = ''
if ignoreFileName != '':
if os.access(ignoreFileName, os.R_OK):
with open(ignoreFileName, 'r') as fp:
try:
ignoreScreens = []
content = str(fp.read())
if content != '':
ignoreScreens = content.split(',')
except Exception as e:
print(e)
removed = False
if screen in ignoreScreens:
ignoreScreens.remove(screen)
removed = True
ignoreScreensStr = ','.join(ignoreScreens)
with open(ignoreFileName, 'w') as fp:
fp.write(ignoreScreensStr)
if removed:
print('Remove screen {0} to ignore file:{1}'.format(screen, ignoreFileName))
else:
print('Screen {0} does not exists in ignore file:{1}'.format(screen, ignoreFileName))
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='Unignore screens in fenrir to make it active again. If no screen is given use current screen.')
parser.add_argument('-s', '--screen', metavar='SCREEN', default=None, help='Ignore a given screen. Use current screen as default.')
parser.add_argument('-f', '--file', metavar='File', default='/tmp/fenrirSuspend', help='Specify the suspendingScreenFile')
try:
args = parser.parse_args()
ignoreFileName = args.file
useCurrentScreen = False
screen = None
if args.screen:
screen = args.screen
else:
useCurrentScreen = True
removeScreenFromIgnoreList(ignoreFileName, screen, useCurrentScreen)
except Exception as e:
parser.print_help()