Recover Rime faults, persist window modes and fix GPU allocation
This commit is contained in:
1 parent
8e9a5838ab
commit
6f34fd080f
27 files changed
+1260
-34
No files matched your search
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/python3
|
||||
"""App-scoped native Wayland QQ/Teams checks with separate application profiles.
|
||||
Never imports the host IBus/Fcitx launchers or modifies their desktop entries.
|
||||
"""
|
||||
import argparse
|
||||
import importlib.util
|
||||
import os
|
||||
from pathlib import Path
|
||||
import subprocess
|
||||
|
||||
ROOT=Path(__file__).resolve().parents[1]
|
||||
spec=importlib.util.spec_from_file_location("preview",ROOT/"scripts/rime-preview.py")
|
||||
p=importlib.util.module_from_spec(spec);spec.loader.exec_module(p)
|
||||
APPS={"qq":"/usr/bin/linuxqq","teams":"/usr/bin/teams-for-linux-electron"}
|
||||
|
||||
def unit(name):return f"ferese-rime-app-{name}-20261028.service"
|
||||
|
||||
if __name__=="__main__":
|
||||
parser=argparse.ArgumentParser();parser.add_argument("action",choices=[*APPS,"stop","status"]);args=parser.parse_args()
|
||||
if args.action=="stop":
|
||||
for name in APPS:subprocess.run(["systemctl","--user","stop",unit(name)],capture_output=True)
|
||||
elif args.action=="status":
|
||||
for name in APPS:print(name,p.prop(unit(name),"ActiveState"))
|
||||
else:
|
||||
name=args.action;p.start()
|
||||
if p.prop(unit(name),"ActiveState")=="active":print(f"{name} test instance is already running")
|
||||
else:
|
||||
data=p.DATA/f"app-{name}";data.mkdir(mode=0o700,exist_ok=True);data.chmod(0o700)
|
||||
command=[APPS[name],"--ozone-platform=wayland","--enable-wayland-ime","--wayland-text-input-version=3",f"--user-data-dir={data}"]
|
||||
if name=="qq":command += ["--no-sandbox"]
|
||||
p.start_unit(unit(name),command,p.child_environment(),"2G")
|
||||
print(f"{name} native Wayland validation instance opened")
|
||||
Reference in new issue
Block a user