Refactor process calling
This commit is contained in:
parent
569a9d156a
commit
aac4de33ab
57
modeset2.py
57
modeset2.py
@ -3,9 +3,8 @@
|
|||||||
# Ferit Yiğit BALABAN <f@fybx.dev>, 2022
|
# Ferit Yiğit BALABAN <f@fybx.dev>, 2022
|
||||||
#
|
#
|
||||||
from datetime import datetime as dt
|
from datetime import datetime as dt
|
||||||
from subprocess import run
|
from subprocess import run, Popen, PIPE
|
||||||
import shlex
|
import shlex
|
||||||
import subprocess
|
|
||||||
import random
|
import random
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
@ -20,6 +19,7 @@ PATH_RESC_SCRLGT = "$HOME/.config/navi/screen"
|
|||||||
PATH_RESC_LIGHTW = "$HOME/sources/wallpapers/light/"
|
PATH_RESC_LIGHTW = "$HOME/sources/wallpapers/light/"
|
||||||
PATH_RESC_DARKW = "$HOME/sources/wallpapers/dark/"
|
PATH_RESC_DARKW = "$HOME/sources/wallpapers/dark/"
|
||||||
PATH_RESC_WALLPS = "$HOME/.config/navi/wallpapers"
|
PATH_RESC_WALLPS = "$HOME/.config/navi/wallpapers"
|
||||||
|
PATH_RESC_NAVILG = "$HOME/navi.log"
|
||||||
VAR_KBDNAME = "asus::kbd_backlight"
|
VAR_KBDNAME = "asus::kbd_backlight"
|
||||||
|
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ def set_brightness(device: int, value: int, save_state=False):
|
|||||||
value = int(f.read())
|
value = int(f.read())
|
||||||
f.close()
|
f.close()
|
||||||
command = f"brightnessctl set {value}%" if device == 0 else f"brightnessctl --device {VAR_KBDNAME} set {value}%"
|
command = f"brightnessctl set {value}%" if device == 0 else f"brightnessctl --device {VAR_KBDNAME} set {value}%"
|
||||||
open_subprocess(command)
|
run_command(command)
|
||||||
if save_state:
|
if save_state:
|
||||||
with open(os.path.expandvars(PATH_RESC_SCRLGT if device == 0 else PATH_RESC_KBDLGT), 'w') as f:
|
with open(os.path.expandvars(PATH_RESC_SCRLGT if device == 0 else PATH_RESC_KBDLGT), 'w') as f:
|
||||||
f.write(str(state_scrlgt if device == 0 else state_kbdlgt))
|
f.write(str(state_scrlgt if device == 0 else state_kbdlgt))
|
||||||
@ -39,8 +39,7 @@ def set_brightness(device: int, value: int, save_state=False):
|
|||||||
|
|
||||||
|
|
||||||
def connect_keyboard():
|
def connect_keyboard():
|
||||||
command = 'bash ' + PATH_SCPT_KEYBRD
|
run_command(f"bash {PATH_SCPT_KEYBRD}")
|
||||||
open_subprocess(command)
|
|
||||||
|
|
||||||
|
|
||||||
def set_volume(value: int, save_state=False):
|
def set_volume(value: int, save_state=False):
|
||||||
@ -50,41 +49,41 @@ def set_volume(value: int, save_state=False):
|
|||||||
value = int(f.read())
|
value = int(f.read())
|
||||||
f.close()
|
f.close()
|
||||||
value = 100 if value > 100 else 0 if value < 0 else value
|
value = 100 if value > 100 else 0 if value < 0 else value
|
||||||
command = f'pactl set-sink-volume @DEFAULT_SINK@ {value}%'
|
run_command(f'pactl set-sink-volume @DEFAULT_SINK@ {value}%')
|
||||||
open_subprocess(command)
|
|
||||||
if save_state:
|
if save_state:
|
||||||
with open(os.path.expandvars(PATH_RESC_VOLUME), 'w') as f:
|
with open(os.path.expandvars(PATH_RESC_VOLUME), 'w') as f:
|
||||||
f.write(str(state))
|
f.write(str(state))
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
|
|
||||||
def open_subprocess(cmd: str):
|
def run_command(cmd: str):
|
||||||
subprocess.Popen(shlex.split(cmd), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
Popen(shlex.split(cmd), stdout=PIPE, stderr=PIPE)
|
||||||
|
|
||||||
|
|
||||||
|
def do_query(cmd: str):
|
||||||
|
return run(shlex.split(cmd), text=True, capture_output=True).stdout
|
||||||
|
|
||||||
|
|
||||||
def change_wallpaper(mode: int, cringe=False):
|
def change_wallpaper(mode: int, cringe=False):
|
||||||
if not os.path.exists(PATH_RESC_WALLPS):
|
if not os.path.exists(PATH_RESC_WALLPS):
|
||||||
get_wallpapers()
|
get_wallpapers()
|
||||||
region = f"{mode}{1 if cringe else 0}"
|
|
||||||
with open(PATH_RESC_WALLPS, 'r') as f:
|
with open(PATH_RESC_WALLPS, 'r') as f:
|
||||||
file = f.read()
|
file = f.read()
|
||||||
f.close()
|
f.close()
|
||||||
list = file.split(region)[1].split("EOR")[0].lstrip('\n').splitlines()
|
wlist = file.split(f"{mode}{1 if cringe else 0}")[1].split("EOR")[0].lstrip('\n').splitlines()
|
||||||
wallpaper = random.choice(list)
|
wallpaper = random.choice(wlist)
|
||||||
command = f"wal -i {wallpaper}"
|
run_command(f"wal -i {wallpaper}")
|
||||||
open_subprocess(command)
|
run_command(f"betterlockscreen -u {wallpaper}")
|
||||||
command = f"betterlockscreen -u {wallpaper}"
|
|
||||||
open_subprocess(command)
|
|
||||||
|
|
||||||
|
|
||||||
def lock():
|
def lock():
|
||||||
open_subprocess(f"bash {PATH_SCPT_LOCKER}")
|
run_command(f"bash {PATH_SCPT_LOCKER}")
|
||||||
open_subprocess(f"betterlockscreen --lock --off 5")
|
run_command(f"betterlockscreen --lock --off 5")
|
||||||
|
|
||||||
|
|
||||||
def pause_media():
|
def pause_media():
|
||||||
if run(["playerctl", "status"], text=True, capture_output=True).stdout == "Playing":
|
if do_query("playerctl status") == "Playing":
|
||||||
run(["playerctl", "pause"], text=True, capture_output=True)
|
run_command("playerctl pause")
|
||||||
|
|
||||||
|
|
||||||
def get_wallpapers():
|
def get_wallpapers():
|
||||||
@ -112,22 +111,19 @@ def get_wallpapers():
|
|||||||
|
|
||||||
|
|
||||||
def get_brightness(device: int):
|
def get_brightness(device: int):
|
||||||
if device == 0:
|
command = "brightnessctl" if device == 0 else f"brightness --device {VAR_KBDNAME}"
|
||||||
cmd = ['brightnessctl']
|
return int(do_query(command).split('(')[1].split(')')[0].replace('%', ''))
|
||||||
elif device == 1:
|
|
||||||
cmd = ['brightnessctl', '--device', VAR_KBDNAME]
|
|
||||||
return int(run(cmd, text=True, capture_output=True).stdout.split('(')[1].split(')')[0].replace('%', ''))
|
|
||||||
|
|
||||||
|
|
||||||
def get_volume():
|
def get_volume():
|
||||||
r = run(["pactl", "list"], text=True, capture_output=True)
|
r = do_query("pactl list")
|
||||||
for x in r.stdout.split("Sink #0")[1].split("Base Volume:")[0].split(' '):
|
for x in r.split("Sink #0")[1].split("Base Volume:")[0].split(' '):
|
||||||
if '%' in x:
|
if '%' in x:
|
||||||
return int(x.replace('%', ''))
|
return int(x.replace('%', ''))
|
||||||
|
|
||||||
|
|
||||||
def log(message: str):
|
def log(message: str):
|
||||||
with open(os.path.expandvars("$HOME/navi.log"), 'a') as f:
|
with open(PATH_RESC_NAVILG, 'a') as f:
|
||||||
f.write(f"[{dt.now().strftime('%m/%d/%y-%H.%M.%S')}] {message}\n")
|
f.write(f"[{dt.now().strftime('%m/%d/%y-%H.%M.%S')}] {message}\n")
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
@ -141,8 +137,7 @@ def get_hour():
|
|||||||
def get_hour_spec(hour_str=None):
|
def get_hour_spec(hour_str=None):
|
||||||
if hour_str is not None:
|
if hour_str is not None:
|
||||||
return (int(hour_str.split('.')[0]) * 60) + int(hour_str.split('.')[0])
|
return (int(hour_str.split('.')[0]) * 60) + int(hour_str.split('.')[0])
|
||||||
else:
|
return (dt.now().hour * 60) + dt.now().minute
|
||||||
return (dt.now().hour * 60) + dt.now().minute
|
|
||||||
|
|
||||||
|
|
||||||
def get_mode():
|
def get_mode():
|
||||||
@ -161,6 +156,7 @@ def expand_vars():
|
|||||||
global PATH_RESC_LIGHTW
|
global PATH_RESC_LIGHTW
|
||||||
global PATH_RESC_DARKW
|
global PATH_RESC_DARKW
|
||||||
global PATH_RESC_WALLPS
|
global PATH_RESC_WALLPS
|
||||||
|
global PATH_RESC_NAVILG
|
||||||
PATH_SCPT_KEYBRD = os.path.expandvars(PATH_SCPT_KEYBRD)
|
PATH_SCPT_KEYBRD = os.path.expandvars(PATH_SCPT_KEYBRD)
|
||||||
PATH_SCPT_LOCKER = os.path.expandvars(PATH_SCPT_LOCKER)
|
PATH_SCPT_LOCKER = os.path.expandvars(PATH_SCPT_LOCKER)
|
||||||
PATH_RESC_VOLUME = os.path.expandvars(PATH_RESC_VOLUME)
|
PATH_RESC_VOLUME = os.path.expandvars(PATH_RESC_VOLUME)
|
||||||
@ -169,6 +165,7 @@ def expand_vars():
|
|||||||
PATH_RESC_LIGHTW = os.path.expandvars(PATH_RESC_LIGHTW)
|
PATH_RESC_LIGHTW = os.path.expandvars(PATH_RESC_LIGHTW)
|
||||||
PATH_RESC_DARKW = os.path.expandvars(PATH_RESC_DARKW)
|
PATH_RESC_DARKW = os.path.expandvars(PATH_RESC_DARKW)
|
||||||
PATH_RESC_WALLPS = os.path.expandvars(PATH_RESC_WALLPS)
|
PATH_RESC_WALLPS = os.path.expandvars(PATH_RESC_WALLPS)
|
||||||
|
PATH_RESC_NAVILG = os.path.expandvars(PATH_RESC_NAVILG)
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
Loading…
x
Reference in New Issue
Block a user