52 lines
2.1 KiB
Python
Executable File
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()
|