i3: Move bar to bottom
This commit is contained in:
@@ -1 +0,0 @@
|
||||
/home/hannes-work/archive/screencfg/screencfg.py
|
||||
60
bin/screencfg
Executable file
60
bin/screencfg
Executable file
@@ -0,0 +1,60 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
import subprocess
|
||||
import time
|
||||
import argparse
|
||||
|
||||
import yaml
|
||||
|
||||
XRANDR = 'xrandr'
|
||||
|
||||
def run(cmd):
|
||||
print('>>> ' + ' '.join(cmd))
|
||||
start = time.time()
|
||||
ret = subprocess.run(
|
||||
cmd,
|
||||
stdout=sys.stdout,
|
||||
stderr=sys.stderr)
|
||||
end = time.time()
|
||||
print("exit code: {}".format(ret.returncode))
|
||||
print("exec time: {}".format(end - start))
|
||||
|
||||
def fail(msg, code=1):
|
||||
print(msg)
|
||||
sys.exit(code)
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('config')
|
||||
|
||||
args = parser.parse_args()
|
||||
config_path = args.config
|
||||
|
||||
try:
|
||||
config = yaml.load(open(config_path))
|
||||
except FileNotFoundError:
|
||||
fail("File {0} not found".format(config_path))
|
||||
|
||||
# reset
|
||||
for output in config['outputs']:
|
||||
if config.get('reset') and output.get('reset'):
|
||||
run([XRANDR, '--output', output['name'], '--off'])
|
||||
run([XRANDR, '--delmode', output['name'], output['opts']['mode']])
|
||||
run([XRANDR, '--addmode', output['name'], output['opts']['mode']])
|
||||
run([XRANDR, '--output', output['name'], '--mode', output['opts']['mode']])
|
||||
|
||||
cmd = [XRANDR]
|
||||
for output in config['outputs']:
|
||||
cmd.extend(['--output', output['name']])
|
||||
if output.get('disable'):
|
||||
cmd.append('--off')
|
||||
else:
|
||||
if output.get('primary', False):
|
||||
cmd.append("--primary")
|
||||
# cmd.append('--auto')
|
||||
for k, v in output['opts'].items():
|
||||
cmd.extend(['--{}'.format(k), str(v)])
|
||||
|
||||
run(cmd)
|
||||
run(['i3-msg', 'restart'])
|
||||
run(['systemctl', '--user', 'restart', 'keyboard'])
|
||||
Reference in New Issue
Block a user