From 7727fafeec3946c1ff7599caff61650d20c49073 Mon Sep 17 00:00:00 2001 From: Juergen Kunz Date: Sat, 10 Jan 2026 00:03:22 +0000 Subject: [PATCH] update --- ecoos_daemon/ts/daemon/process-manager.ts | 5 +++++ ecoos_daemon/ts/version.ts | 2 +- ecoos_daemon/vdagent/eco-vdagent.py | 11 +++++++++-- .../includes.chroot/opt/eco/bin/eco-daemon | Bin 87002825 -> 87003309 bytes .../includes.chroot/opt/eco/bin/eco-vdagent | 11 +++++++++-- package.json | 2 +- 6 files changed, 25 insertions(+), 6 deletions(-) diff --git a/ecoos_daemon/ts/daemon/process-manager.ts b/ecoos_daemon/ts/daemon/process-manager.ts index 2151442..6eab4d5 100644 --- a/ecoos_daemon/ts/daemon/process-manager.ts +++ b/ecoos_daemon/ts/daemon/process-manager.ts @@ -131,9 +131,14 @@ for_window [app_id="chromium-browser"] fullscreen enable // Write sway config before starting const configPath = await this.writeSwayConfig(config); + // Use a fixed socket path so we can reliably connect + const swaySocketPath = `${config.runtimeDir}/sway-ipc.sock`; + this.swaySocket = swaySocketPath; + const env: Record = { XDG_RUNTIME_DIR: config.runtimeDir, WLR_BACKENDS: config.backends, + SWAYSOCK: swaySocketPath, }; if (config.allowSoftwareRendering) { diff --git a/ecoos_daemon/ts/version.ts b/ecoos_daemon/ts/version.ts index 0fdd7d6..430296b 100644 --- a/ecoos_daemon/ts/version.ts +++ b/ecoos_daemon/ts/version.ts @@ -1 +1 @@ -export const VERSION = "0.4.11"; +export const VERSION = "0.4.12"; diff --git a/ecoos_daemon/vdagent/eco-vdagent.py b/ecoos_daemon/vdagent/eco-vdagent.py index f1ddda3..58e642a 100644 --- a/ecoos_daemon/vdagent/eco-vdagent.py +++ b/ecoos_daemon/vdagent/eco-vdagent.py @@ -110,9 +110,16 @@ class EcoVDAgent: # Search common locations runtime_dir = os.environ.get('XDG_RUNTIME_DIR', '/run/user/1000') - # Try to find sway socket + # Try to find sway socket - check fixed path first, then glob patterns + import glob + + # Check for fixed socket path first (set by eco-daemon) + fixed_socket = f'{runtime_dir}/sway-ipc.sock' + if os.path.exists(fixed_socket): + return fixed_socket + + # Fall back to glob patterns for standard Sway socket naming for pattern in [f'{runtime_dir}/sway-ipc.*.sock', '/run/user/*/sway-ipc.*.sock']: - import glob sockets = glob.glob(pattern) if sockets: return sockets[0] diff --git a/isobuild/config/includes.chroot/opt/eco/bin/eco-daemon b/isobuild/config/includes.chroot/opt/eco/bin/eco-daemon index 1412263cb37bba12b1146e4d2169d26b6e039c3c..eb46dba88c0e1a9040fff7b041cf1baecf8fc488 100755 GIT binary patch delta 4617 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 delta 4158 zcmZXP1(elg*Tp^Yr@K3bhC48KX71cOlmZrFV1R_EAee*_21w}vQGbYvfq^3y24GO4 z2#SG(-B{R|prB&%jo_Bwm*z0Y30WJ9Mdi#K$d6%ra29!XS)icu*l zN0q1=)uMXTh?-F=YDb-@8}*`oG>C@LC>lqTXd2C;d9;X@(JER;UbKm}(JtCYhv*oc zqH}bKROCn3=oST$j>0I4;>bivWFr@)(LH)Z&*&AsyAAaaNoi z=ft^jUW|=#F+L{5`Efx^j7c#$ro@GDQCu9C#MGD;m&Wv%5i?^}%#O?A@`#udbK{Db z7gxqradi;$NfsZjME9OWYc_#qF^;?ufFuGnT|%ad+Gk_r`s( zH13ZF;=y<*mc{Z|5f8^B@n}32D`Qoxjy1719*=eLL_8Vmd>!A!xA9$kA3wzI*b_g-Pq8=l#n16e{2Ke?xA;B&h(F`6_&W~F6GTwK z1Q!yaf>2SYBvclv2vvn@LUo~rP*bQS)E4Rpb%lCDeW8KSP-rAH7Mci6g=Ru?p@q;= zXeG23@`N@*TcMrMUg#in6gml=g)Tx$$QQZ_-Gl-mEffkxLa~q$N`$PC6H0~dLJy&* z&`ano94s6n^bz_B{e(k>!-T_yBZMP`{=!kh0O4ri7~xpqIANf0yl{eWqHvNhNEj@f zEDRBb3d4lq!YRTC;Z)%?;dEi7FiJQ>7%hwu&J@lP&KAxQ&K1rR#tP$v@xlb*eBlCN zqA*FAEKCtD6fP1j7A_H{3e$v3h3Uc!VWu!km@Ql;TrPw#N0=*IAxG5F4Z@AWO~TE>BHx3tSCx!LGQ^E#eqwuuwjIc>~ zR(MW$UU)&+EW9Xe5w;53gzdsh!pp)d!mGk-!t25t!kfZd!rQ_-!n?wI!Vckm;RE4A z;UnQ=VW;qk@Tu^b@VW4X@TKsTuuJ$__(u3v_)hp<_(9k$>=AwxeiHTy`-Go`UxZ(U z{lag;@4_F#pTb|l-@*Zzr--78DXt_+1*M`=NvW(MHe= z`bq<(q0&fctTa)YD$SJUN(-f>(n@Kq7(>j`YDGhhbf0EM<_=s{gtDX0m{+J zG0L&ZamqmDc;y7;MCBx9kTO^~Ss9`XRfZ|Ul~a@v%Bjj}%IV5TWt4J;GFlm#L}ijPS(&0-s9dC6tX!f@Ri-JID$|u2%1mXJGF!P! zxm*cljxtxdLYb#rsa&O8t)R?Tu2B{!*DBX3*DDK^8}qHI;RDchBol$VuPlvkD4l-HFv zlsA>Pl(&_4ly{Z)lpV_Z$_L7a%16q_%1-4Ibi} zj8l!%jMI&g#wgHyJk@i;P>0TaDX{+l|G>9Y&dPr?JGi%edRP$GF$H&sb{QZ#-Z;Xgp*rGnN}G zjE9X!j7N>fjFrYJW3{oySZh3PtTUc4o;21QPZ=AGjmFc)GsY(4S>rk5dE*6Rv+<&_ z#n@_WGqxKq87~{J7_S@$8geldPE_8Y$$zZ-uTe;R)o ze;WsEo+FMr=D3qM6`YDrC8x4e#i{C4bE-QvoSIH8r?ykasq55p>N^dbhE5}=vD3t9 z>NInjJ1v}+PAjLiljpQ?+B)r=_D%<~wKbPQKIC>E;wTX{XRBa*CadQ{rTu zoKxy_cX~KIonB6F=V0d$r;pRu>E|5k9OfME9N`@4^mmSO1~^AM$2iA2$2kL?vUQv2%$t)tTm8>P&ZLI5VAD&TQv0=W-{UInG??3TK{k zrE`^YwSzO?xyD)GTq~uw>yiSJDf7-PG^a8mvgss zk8`hcpR?4t-+91!(0RyN<}7zsI1f9IIFCAyIV+u2&T40kv(|asS?4_AJn5`=o^m!g z8=a?}XPiyWv(9tQ^Ue#-X6Hp`i?h|)=4^Lfa$a^`ab9&^b6$7eaNcy@a^7~{ao%;_ zb9OlIJ0Cb7Iv+V7J3F0EoKKz4oX?#voG+cPoL$b>&Nt4t&UeoD&JWIRXOHuv^OLjJ z+2{Q1{NnuT?00^1es}(G{&fCw{&o)dyaY+m1WWLQB%wk=#e_-;l@qEYR86RsP(7hW zLd}F)3AGdIB-Bl)mry^UK|;fXMhT4*nj|z$XqM1Cp+!Q=gjNZy6Y>(;B(zOvm(V_; zLqf-dP6?e8x+LpU$*fIvvnAQ$f^<4pSdz<>78GSl)9H;1H>HyK75n50G9yxXQ}Vh` zo;YPpDsNm~_u-l1OmRAuE-Wf3DW@itZ%Rr^3$m$fE?rc##6C8C=$LYJSpY z%X;m|PiiLp`}FJ9cfs&-ym9!Bu1U$7X6d{hRYn($FBn@qesqh02OYFj4?1Y}_VQ8w F{s&}1)8+sG diff --git a/isobuild/config/includes.chroot/opt/eco/bin/eco-vdagent b/isobuild/config/includes.chroot/opt/eco/bin/eco-vdagent index f1ddda3..58e642a 100755 --- a/isobuild/config/includes.chroot/opt/eco/bin/eco-vdagent +++ b/isobuild/config/includes.chroot/opt/eco/bin/eco-vdagent @@ -110,9 +110,16 @@ class EcoVDAgent: # Search common locations runtime_dir = os.environ.get('XDG_RUNTIME_DIR', '/run/user/1000') - # Try to find sway socket + # Try to find sway socket - check fixed path first, then glob patterns + import glob + + # Check for fixed socket path first (set by eco-daemon) + fixed_socket = f'{runtime_dir}/sway-ipc.sock' + if os.path.exists(fixed_socket): + return fixed_socket + + # Fall back to glob patterns for standard Sway socket naming for pattern in [f'{runtime_dir}/sway-ipc.*.sock', '/run/user/*/sway-ipc.*.sock']: - import glob sockets = glob.glob(pattern) if sockets: return sockets[0] diff --git a/package.json b/package.json index 96aa707..e2daf5b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@ecobridge/eco-os", - "version": "0.4.11", + "version": "0.4.12", "private": true, "scripts": { "build": "[ -z \"$CI\" ] && npm version patch --no-git-tag-version || true && node -e \"const v=require('./package.json').version; require('fs').writeFileSync('ecoos_daemon/ts/version.ts', 'export const VERSION = \\\"'+v+'\\\";\\n');\" && pnpm run daemon:bundle && cp ecoos_daemon/bundle/eco-daemon isobuild/config/includes.chroot/opt/eco/bin/ && mkdir -p .nogit/iso && docker build --no-cache -t ecoos-builder -f isobuild/Dockerfile . && docker run --privileged --name ecoos-build ecoos-builder && docker cp ecoos-build:/output/ecoos.iso .nogit/iso/ecoos.iso && docker rm ecoos-build",