diff --git a/startup_bernina_terminal b/startup_bernina_terminal index 71aaf7e..e00fbc6 100755 --- a/startup_bernina_terminal +++ b/startup_bernina_terminal @@ -1,5 +1,9 @@ #!/bin/bash source /opt/gfa/python +gsettings set org.gnome.settings-daemon.plugins.media-keys calculator [] +gsettings set org.gnome.settings-daemon.plugins.media-keys email [] +gsettings set org.gnome.settings-daemon.plugins.media-keys home [] + set_gnome_keyboard_shortcut 'stop_fel' 'feloff' 'Calculator' set_gnome_keyboard_shortcut 'open_fel' 'felon' 'Calculator' set_gnome_keyboard_shortcut 'eco' 'gnome-terminal -- eco' 'c' diff --git a/window_arrange.py b/window_arrange.py new file mode 100644 index 0000000..c857e76 --- /dev/null +++ b/window_arrange.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +import subprocess +import os +import sys + +wfile = os.environ["HOME"]+"/.windowlist" +arg = sys.argv[1] + +def get(command): + return subprocess.check_output(["/bin/bash", "-c", command]).decode("utf-8") + +def check_window(w_id): + w_type = get("xprop -id "+w_id) + if " _NET_WM_WINDOW_TYPE_NORMAL" in w_type: + return True + else: + return False + +def read_windows(): + w_list = [l.split()[:6] for l in get("wmctrl -lG").splitlines()] + relevant = [(" ").join(w) for w in w_list if check_window(w[0]) == True] + with open(wfile, "wt") as out: + for item in relevant: + out.write(item+"\n") + +def restore_windows(): + try: + wlist = [l.split() for l in open(wfile).read().splitlines()] + except FileNotFoundError: + pass + else: + for w in wlist: + try: + cmd = "wmctrl -ir "+w[0]+" -e 0,"+(",").join(w[2:]) + subprocess.Popen(["/bin/bash", "-c", cmd]) + except: + pass + +if arg == "-restore": + restore_windows() +elif arg == "-get": + read_windows() \ No newline at end of file