import os,json,socket,struct,subprocess,time,tempfile from pathlib import Path SWAY='/nix/store/79la7mgp4dg2p0nxkiw0lqwvfmz7ygp2-sway-unwrapped-riscv64-unknown-linux-gnu-1.12/bin/sway' RUST='/mnt/MediaVolume/home/jadams/src/gitlab.daringbit.com/josh/tdisplay-k230/.scratch/coordinated-work/navigation-ux/nix/rust-shell-client/target/debug/k230-shell-rust' procs=[];checks=[] with tempfile.TemporaryDirectory(prefix='navigation-host-',dir='/home/jadams/tmp') as d: p=Path(d);(p/'apps').mkdir();(p/'state').mkdir();conf=p/'sway.conf';conf.write_text('output HEADLESS-1 mode 1080x1920\nseat seat0 fallback true\nfocus_follows_mouse no\n') env=dict(os.environ,XDG_RUNTIME_DIR=d,XDG_DATA_HOME=str(p/'apps'),XDG_DATA_DIRS=str(p/'apps'),XDG_STATE_HOME=str(p/'state'),WLR_BACKENDS='headless',WLR_HEADLESS_OUTPUTS='1',WLR_RENDERER='pixman',SWAY_K230_CARD_SHELL='1',SWAY_K230_CARD_TOUCH_FIRST='1',SWAY_K230_CARD_SURFACE_HELPER=RUST,K230_SETTINGS='/bin/false',K230_THEME_HELPER_SOCKET='',K230_THEME_COMMAND='',K230_CARD_APPEARANCE_SOCKET='') sl=(p/'sway.log').open('w');rl=(p/'rust.log').open('w') def wait(pred,seconds=25): end=time.monotonic()+seconds while time.monotonic()