feat: foreground window (WIP)

This commit is contained in:
aclist 2026-05-07 22:08:55 +09:00
parent 2b10fcaaad
commit c0708b9358
2 changed files with 10 additions and 4 deletions

View File

@ -65,4 +65,4 @@ CHANGELOG_PATH = "data/CHANGELOG.md"
CSS_PATH = "data/app.css"
LOG_FILTERS = ("CRITICAL", "WARNING", "INFO", "DEBUG")
FOREGROUND_CMDS = ("wmctrlu", "xdotool")
FOREGROUND_CMDS = ("wmctrl", "xdotool")

View File

@ -43,8 +43,14 @@ def has_cmd(cmd: str) -> bool:
def foreground(cmd: str, pid: int) -> None:
if cmd == "wmctrl":
# TODO: convert wid from hexadecimal
args = [cmd, "-a", "DZGUI"]
proc = subprocess.run(["wmctrl", "-ilp"], capture_output=True, text=True)
lines = proc.stdout.splitlines()
for line in lines:
els = line.split(" ")
if str(pid) in els:
wid = els[0]
break
subprocess.run(["wmctrl", "-ia", wid])
elif cmd == "xdotool":
args = [cmd, "search", "--onlyvisible", "--name", "DZGUI", "windowactivate"]
subprocess.Popen([*args])
subprocess.Popen([*args])