diff --git a/dist/main/system_handlers.js b/dist/main/system_handlers.js index 6fc4612..a6b5745 100644 --- a/dist/main/system_handlers.js +++ b/dist/main/system_handlers.js @@ -221,18 +221,41 @@ function registerSystemHandlers() { } } if (os.platform() === 'linux') { - let img_path = imagePath ? (0, file_utils_1.expandPath)(imagePath) : null; - if (!img_path && url) { - const result = await download_wallpaper_image(url, 'wallpaper_primary'); - if (!result.success || !result.path) - return { success: false, error: result.error }; - img_path = result.path; - } - if (!img_path) + // Dev test mode: never touch the desktop on Linux. Running gsettings during + // development would reset the dev workstation monitors on every test cycle. + // Return what would have run so the Svelte side can show a debug popup. + const would_run = []; + const cache_dir = wallpaper_cache_dir; + if (!imagePath && !url && !url_external) { return { success: false, error: 'No image source provided' }; - if (!fs.existsSync(img_path)) - return { success: false, error: 'Image file not found' }; - return await runExec(`gsettings set org.gnome.desktop.background picture-uri "file://${img_path}"`); + } + if (imagePath) { + const clean = (0, file_utils_1.expandPath)(imagePath); + if (!fs.existsSync(clean)) + return { success: false, error: 'Image file not found' }; + } + if (url) + would_run.push(`download: ${url}\n → ${path.join(cache_dir, 'wallpaper_primary.jpg')}`); + if (url_external) + would_run.push(`download: ${url_external}\n → ${path.join(cache_dir, 'wallpaper_external.jpg')}`); + if (imagePath) { + would_run.push(`gsettings set org.gnome.desktop.background picture-uri "file://${(0, file_utils_1.expandPath)(imagePath)}"`); + } + else if (url) { + would_run.push(`gsettings set org.gnome.desktop.background picture-uri "file://${path.join(cache_dir, 'wallpaper_primary.jpg')}"`); + } + if (url_external) { + would_run.push(`(external display: gsettings has no per-display wallpaper support)`); + } + return { + success: true, + linux_test_mode: true, + platform: 'linux', + display, + url: url ?? null, + url_external: url_external ?? null, + would_run + }; } return { success: false, error: 'Platform not supported' }; }); diff --git a/dist/main/system_handlers.js.map b/dist/main/system_handlers.js.map index ce8290b..50d8189 100644 --- a/dist/main/system_handlers.js.map +++ b/dist/main/system_handlers.js.map @@ -1 +1 @@ -{"version":3,"file":"system_handlers.js","sourceRoot":"","sources":["../../src/main/system_handlers.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"system_handlers.js","sourceRoot":"","sources":["../../src/main/system_handlers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,wDAwXC;AAhZD,uCAA8D;AAC9D,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,iDAA4C;AAC5C,kDAA0B;AAC1B,6CAA0C;AAE1C,mCAAmC;AACnC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAmF,EAAE;IAC/G,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAA,oBAAI,EAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YAClC,OAAO,CAAC;gBACN,OAAO,EAAE,CAAC,KAAK;gBACf,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;gBACrB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;gBACrB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;aACzC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,IAAI,gBAAgB,GAAQ,IAAI,CAAC;AAEjC,SAAgB,sBAAsB;IAEpC,oBAAoB;IACpB,kBAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;QACzE,MAAM,GAAG,GAAG,wBAAa,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;QAE9D,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,UAAU;gBAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAAC,MAAM;YACvC,KAAK,YAAY;gBAAE,GAAG,CAAC,UAAU,EAAE,CAAC;gBAAC,MAAM;YAC3C,KAAK,UAAU;gBAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAAC,MAAM;YACvC,KAAK,SAAS;gBAAE,GAAG,CAAC,OAAO,EAAE,CAAC;gBAAC,MAAM;YACrC,KAAK,OAAO;gBAAE,GAAG,CAAC,KAAK,EAAE,CAAC;gBAAC,MAAM;YACjC,KAAK,UAAU;gBACb,IAAI,KAAK;oBAAE,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;;oBACrC,GAAG,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;gBACrC,MAAM;YACR,KAAK,OAAO;gBAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAAC,MAAM;YAC3C,KAAK,YAAY;gBAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAAC,MAAM;YACrD,KAAK,QAAQ;gBAAE,GAAG,CAAC,MAAM,EAAE,CAAC;gBAAC,MAAM;YACnC,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,MAAM,EAAE,EAAE,CAAC;QACzE,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,mBAAmB;IACnB,kFAAkF;IAClF,yDAAyD;IACzD,yFAAyF;IACzF,mEAAmE;IACnE,kBAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,EACnD,IAAI,EAAE,SAAS,EACf,GAAG,EACH,YAAY,EACZ,OAAO,GAAG,KAAK,EACf,OAAO,EACP,UAAU,EAQX,EAAE,EAAE;QACH,yFAAyF;QACzF,sEAAsE;QACtE,MAAM,mBAAmB,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,QAAQ;YACpD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC;YACnE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAE3D,KAAK,UAAU,wBAAwB,CAAC,SAAiB,EAAE,QAAgB;YACzE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBACxC,EAAE,CAAC,SAAS,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,mDAAmD;YACnD,IAAI,GAAG,GAAG,MAAM,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;gBAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;gBACtD,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1D,GAAG,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACjD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YAEV,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAC;YAEjE,MAAM,OAAO,GAA2B,EAAE,CAAC;YAC3C,IAAI,OAAO;gBAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC;YACnD,IAAI,UAAU;gBAAE,OAAO,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC;YAErD,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBACjG,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,CAAW,CAAC;gBACxE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACxB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8CAA8C,YAAY,GAAG,EAAE,CAAC;gBAClG,CAAC;gBAED,MAAM,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAC/C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1C,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBAC7B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC7B,CAAC,CAAC,CAAC;gBACH,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;gBAC9C,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBACpB,IAAI,CAAC;wBAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;oBAC1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC;gBAC9E,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;YAC5C,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,oFAAoF;QACpF,mFAAmF;QACnF,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,cAA8C;YACjG,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACrE,IAAI,MAAc,CAAC;YACnB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAM,GAAG,2EAA2E,OAAO,yBAAyB,CAAC;YACvH,CAAC;iBAAM,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;gBACzC,MAAM,GAAG,2EAA2E,OAAO,yBAAyB,CAAC;YACvH,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,+EAA+E,OAAO,yBAAyB,CAAC;YAC3H,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC9E,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC;gBACH,OAAO,MAAM,OAAO,CAAC,cAAc,WAAW,GAAG,CAAC,CAAC;YACrD,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC;oBAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC/B,6BAA6B;YAC7B,IAAI,YAAY,GAAkB,IAAI,CAAC;YAEvC,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,KAAK,GAAG,IAAA,uBAAU,EAAC,SAAS,CAAC,CAAC;gBACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;oBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;gBACpF,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;iBAAM,IAAI,GAAG,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;gBACxE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI;oBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;gBACpF,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;YAC7B,CAAC;YAED,IAAI,CAAC,YAAY,IAAI,YAAY,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC5D,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;gBACtF,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI;oBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;gBAChG,OAAO,MAAM,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,CAAC,YAAY;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC;YAEhF,IAAI,YAAY,EAAE,CAAC;gBACjB,8EAA8E;gBAC9E,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;gBAC1E,IAAI,CAAC,cAAc,CAAC,OAAO;oBAAE,OAAO,cAAc,CAAC;gBAEnD,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;gBACtF,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI;oBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;gBAChG,OAAO,MAAM,mBAAmB,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAED,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;YAC9B,4EAA4E;YAC5E,4EAA4E;YAC5E,wEAAwE;YACxE,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,mBAAmB,CAAC;YAEtC,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC;YAC/D,CAAC;YAED,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,KAAK,GAAG,IAAA,uBAAU,EAAC,SAAS,CAAC,CAAC;gBACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;oBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;YACtF,CAAC;YAED,IAAI,GAAG;gBAAE,SAAS,CAAC,IAAI,CAAC,aAAa,GAAG,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,EAAE,CAAC,CAAC;YAClG,IAAI,YAAY;gBAAE,SAAS,CAAC,IAAI,CAAC,aAAa,YAAY,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,EAAE,CAAC,CAAC;YAErH,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,IAAI,CAAC,kEAAkE,IAAA,uBAAU,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC7G,CAAC;iBAAM,IAAI,GAAG,EAAE,CAAC;gBACf,SAAS,CAAC,IAAI,CAAC,kEAAkE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,GAAG,CAAC,CAAC;YACrI,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,SAAS,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;YACvF,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,eAAe,EAAE,IAAI;gBACrB,QAAQ,EAAE,OAAO;gBACjB,OAAO;gBACP,GAAG,EAAE,GAAG,IAAI,IAAI;gBAChB,YAAY,EAAE,YAAY,IAAI,IAAI;gBAClC,SAAS;aACV,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,mBAAmB;IACnB,kBAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACjE,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC;QACzC,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC;QAE1C,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,IAAI,KAAK;gBAAE,GAAG,GAAG,iBAAiB,CAAC,CAAC,8BAA8B;YAClE,IAAI,OAAO;gBAAE,GAAG,GAAG,iBAAiB,CAAC;QACvC,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,KAAK;gBAAE,GAAG,GAAG,iBAAiB,CAAC;YACnC,IAAI,OAAO;gBAAE,GAAG,GAAG,QAAQ,CAAC;QAC9B,CAAC;aAAM,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YAC9B,IAAI,KAAK;gBAAE,GAAG,GAAG,gBAAgB,CAAC;YAClC,IAAI,OAAO;gBAAE,GAAG,GAAG,mBAAmB,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;QAEnE,4CAA4C;QAC5C,4FAA4F;QAC5F,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,kBAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;QAC5E,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,MAAM,OAAO,CAAC,4BAA4B,GAAG,GAAG,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;gBACrC,OAAO,MAAM,OAAO,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO,MAAM,OAAO,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC;YACvD,CAAC;iBAAM,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE,CAAC;gBACnC,OAAO,MAAM,OAAO,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC;QAED,yBAAyB;QACzB,MAAM,gBAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,yCAAyC;IACzC,kBAAO,CAAC,MAAM,CAAC,yBAAyB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;QAC7E,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,QAAQ;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;QAEtG,kCAAkC;QAClC,mCAAmC;QACnC,8CAA8C;QAC9C,MAAM,OAAO,GAAG,cAAG,CAAC,UAAU;YAC5B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,8BAA8B,CAAC,CAAC,CAAC,4BAA4B;QAEtF,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,IAAI,gBAAgB;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAC;YAExF,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;YAC1D,MAAM,WAAW,GAAG,IAAA,uBAAU,EAAC,MAAM,IAAI,qBAAqB,CAAC,CAAC;YAEhE,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;YAC5D,IAAI,aAAa;gBAAE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;YAEjE,gBAAgB;YAChB,qFAAqF;YACrF,8BAA8B;YAC9B,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChE,gBAAgB,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAExC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;oBACtC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;oBACvC,gBAAgB,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBAEH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE;oBACtC,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;oBAClD,gBAAgB,GAAG,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,gBAAgB,CAAC,GAAG,EAAE,CAAC;YACtD,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YAC9C,CAAC;QAEH,CAAC;aAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YAC7B,IAAI,CAAC,gBAAgB;gBAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC;YAEpF,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,iCAAiC;YAClE,gBAAgB,GAAG,IAAI,CAAC;YACxB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC5D,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,wCAAwC;IACxC,kBAAO,CAAC,MAAM,CAAC,2BAA2B,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;QAC/E,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,QAAQ;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC;QAE5G,MAAM,OAAO,GAAG,cAAG,CAAC,UAAU;YAC5B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,eAAe,CAAC;YAC1D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mCAAmC,CAAC,CAAC;QAE9D,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpB,gEAAgE;YAChE,qEAAqE;YACrE,IAAI,SAAS,EAAE,CAAC;gBACZ,GAAG,GAAG,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;YACxE,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,SAAS,EAAE,CAAC;gBACZ,GAAG,GAAG,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACtC,CAAC;QACL,CAAC;QAED,IAAI,GAAG,EAAE,CAAC;YACN,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,kBAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;QACpF,2BAA2B;QAC3B,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,qBAAqB;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAE9C,IAAI,MAAM,KAAK,KAAK,IAAI,GAAG,EAAE,CAAC;YAC1B,WAAW;YACX,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAK,EAAC;oBACzB,MAAM,EAAE,KAAK;oBACb,GAAG,EAAE,GAAG;oBACR,YAAY,EAAE,QAAQ;iBACzB,CAAC,CAAC;gBAEH,MAAM,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBAC9C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAE3B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAClC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;oBACzC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC;gBACH,UAAU,GAAG,QAAQ,CAAC;YAC1B,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACtE,CAAC;QACL,CAAC;aAAM,IAAI,MAAM,KAAK,MAAM,IAAI,SAAS,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,IAAA,uBAAU,EAAC,SAAS,CAAC,CAAC;YACzC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,UAAU,GAAG,UAAU,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACJ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC;YACpE,CAAC;QACL,CAAC;QAED,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;QAE/E,0BAA0B;QAC1B,0DAA0D;QAC1D,+DAA+D;QAC/D,qCAAqC;QAErC,OAAO,CAAC,GAAG,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC;QAE3D,mEAAmE;QACnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,6EAA6E,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;IAC/I,CAAC,CAAC,CAAC;AACL,CAAC"} \ No newline at end of file diff --git a/src/main/system_handlers.ts b/src/main/system_handlers.ts index 4ee4d56..4e267e4 100644 --- a/src/main/system_handlers.ts +++ b/src/main/system_handlers.ts @@ -23,7 +23,7 @@ const runExec = (cmd: string): Promise<{ success: boolean; stdout?: string; stde let recordingProcess: any = null; export function registerSystemHandlers() { - + // 1. Window Control ipcMain.handle('native:window-control', async (event, { action, value }) => { const win = BrowserWindow.fromWebContents(event.sender); @@ -35,7 +35,7 @@ export function registerSystemHandlers() { case 'minimize': win.minimize(); break; case 'restore': win.restore(); break; case 'close': win.close(); break; - case 'devtools': + case 'devtools': if (value) win.webContents.openDevTools(); else win.webContents.closeDevTools(); break; @@ -177,18 +177,42 @@ export function registerSystemHandlers() { } if (os.platform() === 'linux') { - let img_path: string | null = imagePath ? expandPath(imagePath) : null; + // Dev test mode: never touch the desktop on Linux. Running gsettings during + // development would reset the dev workstation monitors on every test cycle. + // Return what would have run so the Svelte side can show a debug popup. + const would_run: string[] = []; + const cache_dir = wallpaper_cache_dir; - if (!img_path && url) { - const result = await download_wallpaper_image(url, 'wallpaper_primary'); - if (!result.success || !result.path) return { success: false, error: result.error }; - img_path = result.path; + if (!imagePath && !url && !url_external) { + return { success: false, error: 'No image source provided' }; } - if (!img_path) return { success: false, error: 'No image source provided' }; - if (!fs.existsSync(img_path)) return { success: false, error: 'Image file not found' }; + if (imagePath) { + const clean = expandPath(imagePath); + if (!fs.existsSync(clean)) return { success: false, error: 'Image file not found' }; + } - return await runExec(`gsettings set org.gnome.desktop.background picture-uri "file://${img_path}"`); + if (url) would_run.push(`download: ${url}\n → ${path.join(cache_dir, 'wallpaper_primary.jpg')}`); + if (url_external) would_run.push(`download: ${url_external}\n → ${path.join(cache_dir, 'wallpaper_external.jpg')}`); + + if (imagePath) { + would_run.push(`gsettings set org.gnome.desktop.background picture-uri "file://${expandPath(imagePath)}"`); + } else if (url) { + would_run.push(`gsettings set org.gnome.desktop.background picture-uri "file://${path.join(cache_dir, 'wallpaper_primary.jpg')}"`); + } + if (url_external) { + would_run.push(`(external display: gsettings has no per-display wallpaper support)`); + } + + return { + success: true, + linux_test_mode: true, + platform: 'linux', + display, + url: url ?? null, + url_external: url_external ?? null, + would_run + }; } return { success: false, error: 'Platform not supported' }; @@ -212,8 +236,8 @@ export function registerSystemHandlers() { } if (!cmd) return { success: false, error: 'Action not supported' }; - - // NOTE: These commands often require root. + + // NOTE: These commands often require root. // For a kiosk, you might configure sudoers to allow this specific command without password. return await runExec(cmd); }); @@ -233,7 +257,7 @@ export function registerSystemHandlers() { return await runExec(`firefox "${url}"`); } } - + // Default system handler await shell.openExternal(url); return { success: true }; @@ -242,30 +266,30 @@ export function registerSystemHandlers() { // 5. Manage Recording (Aperture Wrapper) ipcMain.handle('native:manage-recording', async (event, { action, options }) => { if (os.platform() !== 'darwin') return { success: false, error: 'Recording only supported on macOS' }; - + // Path to bundled aperture binary // In dev: ./resources/bin/aperture // In prod: process.resourcesPath/bin/aperture - const binPath = app.isPackaged + const binPath = app.isPackaged ? path.join(process.resourcesPath, 'bin', 'aperture') : path.join(__dirname, '../../resources/bin/aperture'); // Adjust based on structure if (action === 'start') { if (recordingProcess) return { success: false, error: 'Recording already in progress' }; - + const { fps = 30, audioDeviceId, output } = options || {}; const cleanOutput = expandPath(output || '~/tmp/recording.mp4'); - + const args = ['run', '--fps', fps, '--output', cleanOutput]; if (audioDeviceId) args.push('--audio-device-id', audioDeviceId); - + // Spawn process // Note: aperture is a CLI tool. We might need 'aperture' node package or the binary. // Assuming binary usage here. try { console.log(`Starting recording: ${binPath} ${args.join(' ')}`); recordingProcess = spawn(binPath, args); - + recordingProcess.on('error', (err: any) => { console.error('Recording error:', err); recordingProcess = null; @@ -283,7 +307,7 @@ export function registerSystemHandlers() { } else if (action === 'stop') { if (!recordingProcess) return { success: false, error: 'No recording in progress' }; - + recordingProcess.kill('SIGINT'); // Send interrupt to stop cleanly recordingProcess = null; return { success: true }; @@ -297,13 +321,13 @@ export function registerSystemHandlers() { // 6. Set Display Layout (Displayplacer) ipcMain.handle('native:set-display-layout', async (event, { mode, configStr }) => { if (os.platform() !== 'darwin') return { success: false, error: 'Display control only supported on macOS' }; - - const binPath = app.isPackaged + + const binPath = app.isPackaged ? path.join(process.resourcesPath, 'bin', 'displayplacer') : path.join(__dirname, '../../resources/bin/displayplacer'); let cmd = ''; - + if (mode === 'mirror') { // This usually requires querying current IDs, which is complex. // If configStr is provided (output of 'displayplacer list'), use it. @@ -321,7 +345,7 @@ export function registerSystemHandlers() { if (cmd) { return await runExec(cmd); } - + return { success: false, error: 'Invalid mode or missing config' }; }); @@ -341,10 +365,10 @@ export function registerSystemHandlers() { url: url, responseType: 'stream' }); - + const writer = fs.createWriteStream(destPath); response.data.pipe(writer); - + await new Promise((resolve, reject) => { writer.on('finish', () => resolve(true)); writer.on('error', reject); @@ -368,9 +392,9 @@ export function registerSystemHandlers() { // Real implementation depends on OS and packaging format. // macOS: Mount DMG, copy .app to /Applications? Or Unzip .app? // Linux: chmod +x AppImage and move? - + console.log(`Ready to install update from: ${updateFile}`); - + // For now, just return success so the UI knows we "downloaded" it. return { success: true, message: 'Update downloaded/located. Installation logic requires packaging specifics.', downloadedPath: updateFile }; });