replicas-computer 0.2.12 → 0.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/assets/desktop/brand-wallpaper-light.svg +0 -2
- package/assets/desktop/brand-wallpaper.svg +5 -7
- package/assets/desktop/gtk-settings.ini +0 -1
- package/assets/desktop/novnc-index.html +0 -5
- package/assets/desktop/replicas-chrome +3 -0
- package/assets/desktop/start-services.sh +11 -2
- package/assets/desktop/stream-index.html +0 -5
- package/assets/desktop/themes/dark.env +2 -4
- package/assets/desktop/themes/light.env +0 -2
- package/assets/desktop/tint2rc +1 -9
- package/assets/desktop/viewer-theme.css +4 -26
- package/dist/index.js +3 -1
- package/package.json +1 -1
- package/assets/desktop/viewer-icon-light.svg +0 -3
package/README.md
CHANGED
|
@@ -8,6 +8,7 @@ The versioned computer-use runtime for Replicas workspace images.
|
|
|
8
8
|
- `src/stream-viewer.ts` owns browser decoding, audio playback, reconnects, and interactive input.
|
|
9
9
|
- `src/viewer.ts` owns the optional noVNC fallback.
|
|
10
10
|
- `assets/desktop/start-services.sh` owns the X11 and stream process lifecycle.
|
|
11
|
+
- `xsettingsd` broadcasts theme changes to running GTK apps and Chrome. Chrome follows the dashboard theme without reopening tabs; launch it without a `GTK_THEME` override.
|
|
11
12
|
- `assets/desktop/` owns the desktop theme: `brand-wallpaper.svg` (regenerate with `bun scripts/render-wallpaper.ts`), `tint2rc` dock, `openbox-theme/`, `gtk-settings.ini`, the `replicas-terminal` wrapper, `themes/` palettes that `start-services.sh` renders into those templates (`--theme light|dark` switches a running desktop), and the bundled fonts (static TTF instances of General Sans and Geist Mono; variable and WOFF2 builds render with wrong metrics in Pango and VTE).
|
|
12
13
|
|
|
13
14
|
The viewer and agent command paths are independent. One on-demand encoder is shared by all viewers, stops when the last viewer disconnects, and restarts without reloading the page. The default 1920×1080 stream uses low-latency H.264 and Opus; noVNC remains available as an opt-in fallback.
|
|
@@ -9,6 +9,4 @@
|
|
|
9
9
|
<g fill="url(#cell)" stroke="#2fc487" filter="url(#cell-glow)"><rect x="768.5" y="220.5" width="64" height="64"/><rect x="768.5" y="284.5" width="64" height="64"/><rect x="832.5" y="220.5" width="64" height="64"/><rect x="832.5" y="284.5" width="64" height="64"/><rect x="896.5" y="220.5" width="64" height="64"/><rect x="896.5" y="284.5" width="64" height="64"/><rect x="960.5" y="220.5" width="64" height="64"/><rect x="960.5" y="284.5" width="64" height="64"/><rect x="1024.5" y="348.5" width="64" height="64"/><rect x="1024.5" y="412.5" width="64" height="64"/><rect x="1088.5" y="348.5" width="64" height="64"/><rect x="1088.5" y="412.5" width="64" height="64"/><rect x="768.5" y="476.5" width="64" height="64"/><rect x="768.5" y="540.5" width="64" height="64"/><rect x="832.5" y="476.5" width="64" height="64"/><rect x="832.5" y="540.5" width="64" height="64"/><rect x="896.5" y="476.5" width="64" height="64"/><rect x="896.5" y="540.5" width="64" height="64"/><rect x="960.5" y="476.5" width="64" height="64"/><rect x="960.5" y="540.5" width="64" height="64"/><rect x="768.5" y="604.5" width="64" height="64"/><rect x="768.5" y="668.5" width="64" height="64"/><rect x="832.5" y="604.5" width="64" height="64"/><rect x="832.5" y="668.5" width="64" height="64"/><rect x="1024.5" y="604.5" width="64" height="64"/><rect x="1024.5" y="668.5" width="64" height="64"/><rect x="1088.5" y="604.5" width="64" height="64"/><rect x="1088.5" y="668.5" width="64" height="64"/><rect x="320.5" y="156.5" width="64" height="64"/><rect x="384.5" y="220.5" width="64" height="64"/><rect x="256.5" y="284.5" width="64" height="64"/><rect x="320.5" y="284.5" width="64" height="64"/><rect x="384.5" y="284.5" width="64" height="64"/><rect x="1536.5" y="220.5" width="64" height="64"/><rect x="1472.5" y="284.5" width="64" height="64"/><rect x="1600.5" y="348.5" width="64" height="64"/><rect x="1536.5" y="348.5" width="64" height="64"/><rect x="1472.5" y="348.5" width="64" height="64"/><rect x="448.5" y="860.5" width="64" height="64"/><rect x="512.5" y="796.5" width="64" height="64"/><rect x="384.5" y="732.5" width="64" height="64"/><rect x="448.5" y="732.5" width="64" height="64"/><rect x="512.5" y="732.5" width="64" height="64"/><rect x="1344.5" y="796.5" width="64" height="64"/><rect x="1408.5" y="796.5" width="64" height="64"/><rect x="1472.5" y="796.5" width="64" height="64"/><rect x="1664.5" y="540.5" width="64" height="64"/><rect x="1728.5" y="540.5" width="64" height="64"/><rect x="1664.5" y="604.5" width="64" height="64"/><rect x="1728.5" y="604.5" width="64" height="64"/></g>
|
|
10
10
|
<g font-family="Geist Mono, monospace" font-size="5" font-weight="600" fill="#2f9d57"><text x="774" y="233">AGENT-73</text><text x="774" y="276">CODING</text><text x="774" y="297">AGENT-45</text><text x="774" y="340">DEPLOYING</text><text x="838" y="233">AGENT-10</text><text x="838" y="276">LINTING</text><text x="838" y="297">AGENT-82</text><text x="838" y="340">MERGING</text><text x="902" y="233">AGENT-47</text><text x="902" y="276">REFACTORING</text><text x="902" y="297">AGENT-19</text><text x="902" y="340">CODING</text><text x="966" y="233">AGENT-84</text><text x="966" y="276">RUNNING TESTS</text><text x="966" y="297">AGENT-56</text><text x="966" y="340">LINTING</text><text x="1030" y="361">AGENT-65</text><text x="1030" y="404">CODING</text><text x="1030" y="425">AGENT-37</text><text x="1030" y="468">DEPLOYING</text><text x="1094" y="361">AGENT-02</text><text x="1094" y="404">LINTING</text><text x="1094" y="425">AGENT-74</text><text x="1094" y="468">MERGING</text><text x="774" y="489">AGENT-61</text><text x="774" y="532">DEPLOYING</text><text x="774" y="553">AGENT-33</text><text x="774" y="596">REFACTORING</text><text x="838" y="489">AGENT-98</text><text x="838" y="532">MERGING</text><text x="838" y="553">AGENT-70</text><text x="838" y="596">RUNNING TESTS</text><text x="902" y="489">AGENT-35</text><text x="902" y="532">CODING</text><text x="902" y="553">AGENT-07</text><text x="902" y="596">DEPLOYING</text><text x="966" y="489">AGENT-72</text><text x="966" y="532">LINTING</text><text x="966" y="553">AGENT-44</text><text x="966" y="596">MERGING</text><text x="774" y="617">AGENT-05</text><text x="774" y="660">CODING</text><text x="774" y="681">AGENT-77</text><text x="774" y="724">DEPLOYING</text><text x="838" y="617">AGENT-42</text><text x="838" y="660">LINTING</text><text x="838" y="681">AGENT-14</text><text x="838" y="724">MERGING</text><text x="1030" y="617">AGENT-53</text><text x="1030" y="660">DEPLOYING</text><text x="1030" y="681">AGENT-25</text><text x="1030" y="724">REFACTORING</text><text x="1094" y="617">AGENT-90</text><text x="1094" y="660">MERGING</text><text x="1094" y="681">AGENT-62</text><text x="1094" y="724">RUNNING TESTS</text><text x="326" y="169">AGENT-42</text><text x="326" y="212">LINTING</text><text x="390" y="233">AGENT-51</text><text x="390" y="276">CODING</text><text x="262" y="297">AGENT-49</text><text x="262" y="340">REFACTORING</text><text x="326" y="297">AGENT-86</text><text x="326" y="340">RUNNING TESTS</text><text x="390" y="297">AGENT-23</text><text x="390" y="340">DEPLOYING</text><text x="1542" y="233">AGENT-17</text><text x="1542" y="276">CODING</text><text x="1478" y="297">AGENT-52</text><text x="1478" y="340">RUNNING TESTS</text><text x="1606" y="361">AGENT-98</text><text x="1606" y="404">RUNNING TESTS</text><text x="1542" y="361">AGENT-61</text><text x="1542" y="404">REFACTORING</text><text x="1478" y="361">AGENT-24</text><text x="1478" y="404">LINTING</text><text x="454" y="873">AGENT-08</text><text x="454" y="916">MERGING</text><text x="518" y="809">AGENT-73</text><text x="518" y="852">REFACTORING</text><text x="390" y="745">AGENT-27</text><text x="390" y="788">REFACTORING</text><text x="454" y="745">AGENT-64</text><text x="454" y="788">RUNNING TESTS</text><text x="518" y="745">AGENT-01</text><text x="518" y="788">DEPLOYING</text><text x="1350" y="809">AGENT-54</text><text x="1350" y="852">RUNNING TESTS</text><text x="1414" y="809">AGENT-91</text><text x="1414" y="852">DEPLOYING</text><text x="1478" y="809">AGENT-28</text><text x="1478" y="852">MERGING</text><text x="1670" y="553">AGENT-51</text><text x="1670" y="596">DEPLOYING</text><text x="1734" y="553">AGENT-88</text><text x="1734" y="596">MERGING</text><text x="1670" y="617">AGENT-23</text><text x="1670" y="660">REFACTORING</text><text x="1734" y="617">AGENT-60</text><text x="1734" y="660">RUNNING TESTS</text></g>
|
|
11
11
|
<path transform="translate(893.05 842)" fill="#162118" fill-opacity="0.9" d="M5.3 0H3.3V-28.7H13.2Q17.5 -28.7 20 -26.5Q22.6 -24.3 22.6 -20.2Q22.6 -16.9 20.5 -14.6Q18.4 -12.4 14.9 -12L23.3 0H20.9L12.8 -11.8H5.3ZM5.3 -27.1V-13.4H13Q16.5 -13.4 18.5 -15.2Q20.6 -17 20.6 -20.2Q20.6 -23.5 18.5 -25.3Q16.5 -27.1 13 -27.1Z M33.8 0.4Q31 0.4 28.8 -0.9Q26.6 -2.3 25.4 -4.9Q24.2 -7.4 24.2 -10.7Q24.2 -13.7 25.5 -16.2Q26.7 -18.6 28.8 -20Q30.9 -21.4 33.6 -21.4Q35.8 -21.4 37.5 -20.6Q39.2 -19.7 40.5 -18.2Q41.7 -16.7 42.3 -14.7Q42.9 -12.6 42.8 -10.1H25.2V-11.5H40.9Q40.7 -15.4 38.8 -17.7Q36.8 -19.9 33.6 -19.9Q31.4 -19.9 29.7 -18.7Q28 -17.6 27 -15.5Q26.1 -13.5 26.1 -10.7Q26.1 -7.8 27 -5.6Q27.9 -3.4 29.7 -2.3Q31.4 -1.1 33.8 -1.1Q36.7 -1.1 38.6 -2.7Q40.6 -4.3 41.1 -7.1H42.9Q42.3 -3.6 39.8 -1.6Q37.4 0.4 33.8 0.4Z M64.2 -10.5Q64.2 -7.2 63.1 -4.8Q61.9 -2.3 59.9 -1Q57.8 0.4 55 0.4Q52.5 0.4 50.5 -1Q48.5 -2.4 47.4 -4.8V7.7H45.5V-21H47.3V-15.9Q48.3 -18.5 50.4 -19.9Q52.5 -21.4 55 -21.4Q57.8 -21.4 59.9 -20Q61.9 -18.7 63.1 -16.2Q64.2 -13.8 64.2 -10.5ZM62.3 -10.5Q62.3 -14.8 60.3 -17.3Q58.3 -19.8 54.8 -19.8Q52.7 -19.8 51 -18.7Q49.3 -17.6 48.3 -15.5Q47.3 -13.5 47.3 -10.5Q47.3 -7.7 48.3 -5.6Q49.2 -3.5 50.9 -2.3Q52.6 -1.2 54.8 -1.2Q58.3 -1.2 60.3 -3.6Q62.3 -6.1 62.3 -10.5Z M68.7 0H66.8V-28.7H68.7Z M74.8 0H72.9V-21H74.8ZM75.6 -25.8Q75.6 -25.1 75.2 -24.6Q74.7 -24.1 73.9 -24.1Q73.1 -24.1 72.6 -24.6Q72.1 -25.1 72.1 -25.8Q72.1 -26.6 72.6 -27Q73.1 -27.5 73.9 -27.5Q74.7 -27.5 75.2 -27Q75.6 -26.6 75.6 -25.8Z M86.5 0.4Q83.8 0.4 81.8 -0.9Q79.7 -2.3 78.6 -4.8Q77.4 -7.3 77.4 -10.5Q77.4 -13.7 78.6 -16.2Q79.7 -18.6 81.8 -20Q83.9 -21.4 86.5 -21.4Q88.9 -21.4 90.7 -20.4Q92.6 -19.4 93.8 -17.6Q95 -15.7 95.5 -13.2H93.6Q93 -16.3 91.2 -18.1Q89.3 -19.8 86.5 -19.8Q84.4 -19.8 82.8 -18.6Q81.1 -17.4 80.2 -15.4Q79.3 -13.3 79.3 -10.5Q79.3 -7.7 80.2 -5.6Q81.1 -3.5 82.8 -2.3Q84.4 -1.1 86.5 -1.1Q89.3 -1.1 91.2 -2.9Q93.1 -4.7 93.6 -7.8H95.5Q95.1 -5.2 93.8 -3.4Q92.6 -1.6 90.8 -0.6Q88.9 0.4 86.5 0.4Z M111.1 0V-4.2Q110.3 -2.1 108.3 -0.9Q106.4 0.4 103.9 0.4Q100.6 0.4 98.7 -1.3Q96.7 -2.9 96.7 -5.7Q96.7 -8.8 99.2 -10.4Q101.6 -11.9 106.4 -11.9Q107.4 -11.9 108.3 -11.9Q109.3 -11.8 111 -11.7V-13.6Q111 -16.6 109.5 -18.2Q108.1 -19.9 105.4 -19.9Q102.6 -19.9 100.9 -18.2Q99.3 -16.5 99.2 -13.7H97.5Q97.5 -16 98.5 -17.7Q99.5 -19.4 101.3 -20.4Q103.1 -21.4 105.4 -21.4Q108.9 -21.4 110.9 -19.4Q112.8 -17.4 112.8 -13.8V0ZM98.6 -5.8Q98.6 -3.7 100.1 -2.4Q101.6 -1 104 -1Q107.2 -1 109.1 -3.1Q111 -5.1 111 -8.4V-10.4Q109.5 -10.5 108.5 -10.5Q107.4 -10.6 106.5 -10.6Q102.5 -10.6 100.5 -9.4Q98.6 -8.2 98.6 -5.8Z M131.9 -5.5Q131.9 -2.8 129.8 -1.2Q127.7 0.4 123.9 0.4Q120.3 0.4 118 -1.4Q115.8 -3.2 115.5 -6.4H117.3Q117.4 -3.9 119.2 -2.5Q121 -1.1 124 -1.1Q126.9 -1.1 128.5 -2.2Q130 -3.3 130 -5.3Q130 -7.1 128.9 -8Q127.8 -8.9 125.2 -9.4L122.4 -10Q119.3 -10.6 117.8 -12Q116.3 -13.4 116.3 -15.6Q116.3 -17.3 117.2 -18.6Q118.2 -19.9 119.8 -20.6Q121.5 -21.4 123.7 -21.4Q126 -21.4 127.7 -20.6Q129.5 -19.8 130.5 -18.3Q131.5 -16.8 131.7 -14.8H129.9Q129.7 -17.2 128 -18.6Q126.4 -19.9 123.7 -19.9Q121.2 -19.9 119.6 -18.8Q118.1 -17.7 118.1 -15.8Q118.1 -14 119.2 -13.1Q120.4 -12.1 123 -11.6L125.9 -11Q129 -10.4 130.5 -9.1Q131.9 -7.8 131.9 -5.5Z"/>
|
|
12
|
-
<g font-family="Geist Mono, monospace" font-size="14" fill="#162118" fill-opacity="0.4" text-anchor="middle"><text x="14" y="22">+</text><text x="1906" y="22">+</text><text x="14" y="1070">+</text><text x="1906" y="1070">+</text></g>
|
|
13
|
-
<text x="34" y="22" font-family="Geist Mono, monospace" font-size="10" letter-spacing="1.4" fill="#162118" fill-opacity="0.45">REPLICAS / DESKTOP</text>
|
|
14
12
|
</svg>
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
<svg width="1920" height="1080" viewBox="0 0 1920 1080" xmlns="http://www.w3.org/2000/svg">
|
|
2
2
|
<defs>
|
|
3
|
-
<linearGradient id="cell" x1="0" y1="0" x2="1" y2="1"><stop stop-color="#
|
|
4
|
-
<pattern id="grid" width="64" height="64" y="28" patternUnits="userSpaceOnUse"><path d="M0.5 0V64M0 0.5H64" stroke="#ffffff" stroke-opacity="0.
|
|
5
|
-
<filter id="cell-glow" x="-25%" y="-25%" width="150%" height="150%"><feDropShadow dx="0" dy="0" stdDeviation="10" flood-color="#
|
|
3
|
+
<linearGradient id="cell" x1="0" y1="0" x2="1" y2="1"><stop stop-color="#3eeba3" stop-opacity="0.24"/><stop offset="1" stop-color="#3eeba3" stop-opacity="0.12"/></linearGradient>
|
|
4
|
+
<pattern id="grid" width="64" height="64" y="28" patternUnits="userSpaceOnUse"><path d="M0.5 0V64M0 0.5H64" stroke="#ffffff" stroke-opacity="0.07"/></pattern>
|
|
5
|
+
<filter id="cell-glow" x="-25%" y="-25%" width="150%" height="150%"><feDropShadow dx="0" dy="0" stdDeviation="10" flood-color="#2a8f65" flood-opacity="0.06"/></filter>
|
|
6
6
|
</defs>
|
|
7
7
|
<rect width="1920" height="1080" fill="#121212"/>
|
|
8
8
|
<rect width="1920" height="1080" fill="url(#grid)"/>
|
|
9
|
-
<g fill="url(#cell)" stroke="#
|
|
10
|
-
<g font-family="Geist Mono, monospace" font-size="5" font-weight="600" fill="#
|
|
9
|
+
<g fill="url(#cell)" stroke="#2a8f65" filter="url(#cell-glow)"><rect x="768.5" y="220.5" width="64" height="64"/><rect x="768.5" y="284.5" width="64" height="64"/><rect x="832.5" y="220.5" width="64" height="64"/><rect x="832.5" y="284.5" width="64" height="64"/><rect x="896.5" y="220.5" width="64" height="64"/><rect x="896.5" y="284.5" width="64" height="64"/><rect x="960.5" y="220.5" width="64" height="64"/><rect x="960.5" y="284.5" width="64" height="64"/><rect x="1024.5" y="348.5" width="64" height="64"/><rect x="1024.5" y="412.5" width="64" height="64"/><rect x="1088.5" y="348.5" width="64" height="64"/><rect x="1088.5" y="412.5" width="64" height="64"/><rect x="768.5" y="476.5" width="64" height="64"/><rect x="768.5" y="540.5" width="64" height="64"/><rect x="832.5" y="476.5" width="64" height="64"/><rect x="832.5" y="540.5" width="64" height="64"/><rect x="896.5" y="476.5" width="64" height="64"/><rect x="896.5" y="540.5" width="64" height="64"/><rect x="960.5" y="476.5" width="64" height="64"/><rect x="960.5" y="540.5" width="64" height="64"/><rect x="768.5" y="604.5" width="64" height="64"/><rect x="768.5" y="668.5" width="64" height="64"/><rect x="832.5" y="604.5" width="64" height="64"/><rect x="832.5" y="668.5" width="64" height="64"/><rect x="1024.5" y="604.5" width="64" height="64"/><rect x="1024.5" y="668.5" width="64" height="64"/><rect x="1088.5" y="604.5" width="64" height="64"/><rect x="1088.5" y="668.5" width="64" height="64"/><rect x="320.5" y="156.5" width="64" height="64"/><rect x="384.5" y="220.5" width="64" height="64"/><rect x="256.5" y="284.5" width="64" height="64"/><rect x="320.5" y="284.5" width="64" height="64"/><rect x="384.5" y="284.5" width="64" height="64"/><rect x="1536.5" y="220.5" width="64" height="64"/><rect x="1472.5" y="284.5" width="64" height="64"/><rect x="1600.5" y="348.5" width="64" height="64"/><rect x="1536.5" y="348.5" width="64" height="64"/><rect x="1472.5" y="348.5" width="64" height="64"/><rect x="448.5" y="860.5" width="64" height="64"/><rect x="512.5" y="796.5" width="64" height="64"/><rect x="384.5" y="732.5" width="64" height="64"/><rect x="448.5" y="732.5" width="64" height="64"/><rect x="512.5" y="732.5" width="64" height="64"/><rect x="1344.5" y="796.5" width="64" height="64"/><rect x="1408.5" y="796.5" width="64" height="64"/><rect x="1472.5" y="796.5" width="64" height="64"/><rect x="1664.5" y="540.5" width="64" height="64"/><rect x="1728.5" y="540.5" width="64" height="64"/><rect x="1664.5" y="604.5" width="64" height="64"/><rect x="1728.5" y="604.5" width="64" height="64"/></g>
|
|
10
|
+
<g font-family="Geist Mono, monospace" font-size="5" font-weight="600" fill="#48ae80"><text x="774" y="233">AGENT-73</text><text x="774" y="276">CODING</text><text x="774" y="297">AGENT-45</text><text x="774" y="340">DEPLOYING</text><text x="838" y="233">AGENT-10</text><text x="838" y="276">LINTING</text><text x="838" y="297">AGENT-82</text><text x="838" y="340">MERGING</text><text x="902" y="233">AGENT-47</text><text x="902" y="276">REFACTORING</text><text x="902" y="297">AGENT-19</text><text x="902" y="340">CODING</text><text x="966" y="233">AGENT-84</text><text x="966" y="276">RUNNING TESTS</text><text x="966" y="297">AGENT-56</text><text x="966" y="340">LINTING</text><text x="1030" y="361">AGENT-65</text><text x="1030" y="404">CODING</text><text x="1030" y="425">AGENT-37</text><text x="1030" y="468">DEPLOYING</text><text x="1094" y="361">AGENT-02</text><text x="1094" y="404">LINTING</text><text x="1094" y="425">AGENT-74</text><text x="1094" y="468">MERGING</text><text x="774" y="489">AGENT-61</text><text x="774" y="532">DEPLOYING</text><text x="774" y="553">AGENT-33</text><text x="774" y="596">REFACTORING</text><text x="838" y="489">AGENT-98</text><text x="838" y="532">MERGING</text><text x="838" y="553">AGENT-70</text><text x="838" y="596">RUNNING TESTS</text><text x="902" y="489">AGENT-35</text><text x="902" y="532">CODING</text><text x="902" y="553">AGENT-07</text><text x="902" y="596">DEPLOYING</text><text x="966" y="489">AGENT-72</text><text x="966" y="532">LINTING</text><text x="966" y="553">AGENT-44</text><text x="966" y="596">MERGING</text><text x="774" y="617">AGENT-05</text><text x="774" y="660">CODING</text><text x="774" y="681">AGENT-77</text><text x="774" y="724">DEPLOYING</text><text x="838" y="617">AGENT-42</text><text x="838" y="660">LINTING</text><text x="838" y="681">AGENT-14</text><text x="838" y="724">MERGING</text><text x="1030" y="617">AGENT-53</text><text x="1030" y="660">DEPLOYING</text><text x="1030" y="681">AGENT-25</text><text x="1030" y="724">REFACTORING</text><text x="1094" y="617">AGENT-90</text><text x="1094" y="660">MERGING</text><text x="1094" y="681">AGENT-62</text><text x="1094" y="724">RUNNING TESTS</text><text x="326" y="169">AGENT-42</text><text x="326" y="212">LINTING</text><text x="390" y="233">AGENT-51</text><text x="390" y="276">CODING</text><text x="262" y="297">AGENT-49</text><text x="262" y="340">REFACTORING</text><text x="326" y="297">AGENT-86</text><text x="326" y="340">RUNNING TESTS</text><text x="390" y="297">AGENT-23</text><text x="390" y="340">DEPLOYING</text><text x="1542" y="233">AGENT-17</text><text x="1542" y="276">CODING</text><text x="1478" y="297">AGENT-52</text><text x="1478" y="340">RUNNING TESTS</text><text x="1606" y="361">AGENT-98</text><text x="1606" y="404">RUNNING TESTS</text><text x="1542" y="361">AGENT-61</text><text x="1542" y="404">REFACTORING</text><text x="1478" y="361">AGENT-24</text><text x="1478" y="404">LINTING</text><text x="454" y="873">AGENT-08</text><text x="454" y="916">MERGING</text><text x="518" y="809">AGENT-73</text><text x="518" y="852">REFACTORING</text><text x="390" y="745">AGENT-27</text><text x="390" y="788">REFACTORING</text><text x="454" y="745">AGENT-64</text><text x="454" y="788">RUNNING TESTS</text><text x="518" y="745">AGENT-01</text><text x="518" y="788">DEPLOYING</text><text x="1350" y="809">AGENT-54</text><text x="1350" y="852">RUNNING TESTS</text><text x="1414" y="809">AGENT-91</text><text x="1414" y="852">DEPLOYING</text><text x="1478" y="809">AGENT-28</text><text x="1478" y="852">MERGING</text><text x="1670" y="553">AGENT-51</text><text x="1670" y="596">DEPLOYING</text><text x="1734" y="553">AGENT-88</text><text x="1734" y="596">MERGING</text><text x="1670" y="617">AGENT-23</text><text x="1670" y="660">REFACTORING</text><text x="1734" y="617">AGENT-60</text><text x="1734" y="660">RUNNING TESTS</text></g>
|
|
11
11
|
<path transform="translate(893.05 842)" fill="#ffffff" fill-opacity="0.85" d="M5.3 0H3.3V-28.7H13.2Q17.5 -28.7 20 -26.5Q22.6 -24.3 22.6 -20.2Q22.6 -16.9 20.5 -14.6Q18.4 -12.4 14.9 -12L23.3 0H20.9L12.8 -11.8H5.3ZM5.3 -27.1V-13.4H13Q16.5 -13.4 18.5 -15.2Q20.6 -17 20.6 -20.2Q20.6 -23.5 18.5 -25.3Q16.5 -27.1 13 -27.1Z M33.8 0.4Q31 0.4 28.8 -0.9Q26.6 -2.3 25.4 -4.9Q24.2 -7.4 24.2 -10.7Q24.2 -13.7 25.5 -16.2Q26.7 -18.6 28.8 -20Q30.9 -21.4 33.6 -21.4Q35.8 -21.4 37.5 -20.6Q39.2 -19.7 40.5 -18.2Q41.7 -16.7 42.3 -14.7Q42.9 -12.6 42.8 -10.1H25.2V-11.5H40.9Q40.7 -15.4 38.8 -17.7Q36.8 -19.9 33.6 -19.9Q31.4 -19.9 29.7 -18.7Q28 -17.6 27 -15.5Q26.1 -13.5 26.1 -10.7Q26.1 -7.8 27 -5.6Q27.9 -3.4 29.7 -2.3Q31.4 -1.1 33.8 -1.1Q36.7 -1.1 38.6 -2.7Q40.6 -4.3 41.1 -7.1H42.9Q42.3 -3.6 39.8 -1.6Q37.4 0.4 33.8 0.4Z M64.2 -10.5Q64.2 -7.2 63.1 -4.8Q61.9 -2.3 59.9 -1Q57.8 0.4 55 0.4Q52.5 0.4 50.5 -1Q48.5 -2.4 47.4 -4.8V7.7H45.5V-21H47.3V-15.9Q48.3 -18.5 50.4 -19.9Q52.5 -21.4 55 -21.4Q57.8 -21.4 59.9 -20Q61.9 -18.7 63.1 -16.2Q64.2 -13.8 64.2 -10.5ZM62.3 -10.5Q62.3 -14.8 60.3 -17.3Q58.3 -19.8 54.8 -19.8Q52.7 -19.8 51 -18.7Q49.3 -17.6 48.3 -15.5Q47.3 -13.5 47.3 -10.5Q47.3 -7.7 48.3 -5.6Q49.2 -3.5 50.9 -2.3Q52.6 -1.2 54.8 -1.2Q58.3 -1.2 60.3 -3.6Q62.3 -6.1 62.3 -10.5Z M68.7 0H66.8V-28.7H68.7Z M74.8 0H72.9V-21H74.8ZM75.6 -25.8Q75.6 -25.1 75.2 -24.6Q74.7 -24.1 73.9 -24.1Q73.1 -24.1 72.6 -24.6Q72.1 -25.1 72.1 -25.8Q72.1 -26.6 72.6 -27Q73.1 -27.5 73.9 -27.5Q74.7 -27.5 75.2 -27Q75.6 -26.6 75.6 -25.8Z M86.5 0.4Q83.8 0.4 81.8 -0.9Q79.7 -2.3 78.6 -4.8Q77.4 -7.3 77.4 -10.5Q77.4 -13.7 78.6 -16.2Q79.7 -18.6 81.8 -20Q83.9 -21.4 86.5 -21.4Q88.9 -21.4 90.7 -20.4Q92.6 -19.4 93.8 -17.6Q95 -15.7 95.5 -13.2H93.6Q93 -16.3 91.2 -18.1Q89.3 -19.8 86.5 -19.8Q84.4 -19.8 82.8 -18.6Q81.1 -17.4 80.2 -15.4Q79.3 -13.3 79.3 -10.5Q79.3 -7.7 80.2 -5.6Q81.1 -3.5 82.8 -2.3Q84.4 -1.1 86.5 -1.1Q89.3 -1.1 91.2 -2.9Q93.1 -4.7 93.6 -7.8H95.5Q95.1 -5.2 93.8 -3.4Q92.6 -1.6 90.8 -0.6Q88.9 0.4 86.5 0.4Z M111.1 0V-4.2Q110.3 -2.1 108.3 -0.9Q106.4 0.4 103.9 0.4Q100.6 0.4 98.7 -1.3Q96.7 -2.9 96.7 -5.7Q96.7 -8.8 99.2 -10.4Q101.6 -11.9 106.4 -11.9Q107.4 -11.9 108.3 -11.9Q109.3 -11.8 111 -11.7V-13.6Q111 -16.6 109.5 -18.2Q108.1 -19.9 105.4 -19.9Q102.6 -19.9 100.9 -18.2Q99.3 -16.5 99.2 -13.7H97.5Q97.5 -16 98.5 -17.7Q99.5 -19.4 101.3 -20.4Q103.1 -21.4 105.4 -21.4Q108.9 -21.4 110.9 -19.4Q112.8 -17.4 112.8 -13.8V0ZM98.6 -5.8Q98.6 -3.7 100.1 -2.4Q101.6 -1 104 -1Q107.2 -1 109.1 -3.1Q111 -5.1 111 -8.4V-10.4Q109.5 -10.5 108.5 -10.5Q107.4 -10.6 106.5 -10.6Q102.5 -10.6 100.5 -9.4Q98.6 -8.2 98.6 -5.8Z M131.9 -5.5Q131.9 -2.8 129.8 -1.2Q127.7 0.4 123.9 0.4Q120.3 0.4 118 -1.4Q115.8 -3.2 115.5 -6.4H117.3Q117.4 -3.9 119.2 -2.5Q121 -1.1 124 -1.1Q126.9 -1.1 128.5 -2.2Q130 -3.3 130 -5.3Q130 -7.1 128.9 -8Q127.8 -8.9 125.2 -9.4L122.4 -10Q119.3 -10.6 117.8 -12Q116.3 -13.4 116.3 -15.6Q116.3 -17.3 117.2 -18.6Q118.2 -19.9 119.8 -20.6Q121.5 -21.4 123.7 -21.4Q126 -21.4 127.7 -20.6Q129.5 -19.8 130.5 -18.3Q131.5 -16.8 131.7 -14.8H129.9Q129.7 -17.2 128 -18.6Q126.4 -19.9 123.7 -19.9Q121.2 -19.9 119.6 -18.8Q118.1 -17.7 118.1 -15.8Q118.1 -14 119.2 -13.1Q120.4 -12.1 123 -11.6L125.9 -11Q129 -10.4 130.5 -9.1Q131.9 -7.8 131.9 -5.5Z"/>
|
|
12
|
-
<g font-family="Geist Mono, monospace" font-size="14" fill="#ffffff" fill-opacity="0.4" text-anchor="middle"><text x="14" y="22">+</text><text x="1906" y="22">+</text><text x="14" y="1070">+</text><text x="1906" y="1070">+</text></g>
|
|
13
|
-
<text x="34" y="22" font-family="Geist Mono, monospace" font-size="10" letter-spacing="1.4" fill="#ffffff" fill-opacity="0.45">REPLICAS / DESKTOP</text>
|
|
14
12
|
</svg>
|
|
@@ -12,11 +12,6 @@
|
|
|
12
12
|
<body>
|
|
13
13
|
<div id="screen"></div>
|
|
14
14
|
<div id="status" class="visible" role="status" aria-live="polite">
|
|
15
|
-
<span class="frame-corner" aria-hidden="true">+</span>
|
|
16
|
-
<span class="frame-corner" aria-hidden="true">+</span>
|
|
17
|
-
<span class="frame-corner" aria-hidden="true">+</span>
|
|
18
|
-
<span class="frame-corner" aria-hidden="true">+</span>
|
|
19
|
-
<span class="frame-label" aria-hidden="true">Replicas / Desktop</span>
|
|
20
15
|
<img src="./viewer-icon.svg" alt="">
|
|
21
16
|
<span id="status-title" aria-hidden="true">Replicas</span>
|
|
22
17
|
<span id="status-text">connecting…</span>
|
|
@@ -39,6 +39,9 @@ JSON
|
|
|
39
39
|
touch "$MARKER"
|
|
40
40
|
fi
|
|
41
41
|
|
|
42
|
+
# GTK_THEME pins the startup theme and bypasses live XSETTINGS changes.
|
|
43
|
+
unset GTK_THEME
|
|
44
|
+
|
|
42
45
|
# password-store skips a keyring D-Bus probe that stalls first launch for seconds
|
|
43
46
|
# on a headless image; the network flags keep first-run downloads off the critical path.
|
|
44
47
|
exec /usr/bin/google-chrome-stable \
|
|
@@ -268,7 +268,7 @@ clear_bridge_pid_if_unhealthy() {
|
|
|
268
268
|
paint_wallpaper() {
|
|
269
269
|
local wallpaper="${REPLICAS_DESKTOP_WALLPAPER:-$REPLICAS_DESKTOP_TEMPLATES/$WALLPAPER}"
|
|
270
270
|
local rendered_wallpaper="$STATE_DIR/wallpaper-$THEME-${WIDTH}x${HEIGHT}.png"
|
|
271
|
-
if command -v ffmpeg >/dev/null 2>&1 && [ -f "$wallpaper" ] && [ ! -f "$rendered_wallpaper" ]; then
|
|
271
|
+
if command -v ffmpeg >/dev/null 2>&1 && [ -f "$wallpaper" ] && { [ ! -f "$rendered_wallpaper" ] || [ "$wallpaper" -nt "$rendered_wallpaper" ]; }; then
|
|
272
272
|
ffmpeg -y -loglevel error \
|
|
273
273
|
-i "$wallpaper" \
|
|
274
274
|
-vf "scale=${WIDTH}:${HEIGHT}:force_original_aspect_ratio=increase,crop=${WIDTH}:${HEIGHT}" \
|
|
@@ -306,7 +306,7 @@ render_template() {
|
|
|
306
306
|
|
|
307
307
|
export XCURSOR_THEME="${XCURSOR_THEME:-Bibata-Modern-Ice}"
|
|
308
308
|
export XCURSOR_SIZE="${XCURSOR_SIZE:-22}"
|
|
309
|
-
|
|
309
|
+
unset GTK_THEME
|
|
310
310
|
export GTK_ICON_THEME="${GTK_ICON_THEME:-Yaru-viridian}"
|
|
311
311
|
|
|
312
312
|
mkdir -p \
|
|
@@ -321,6 +321,7 @@ mkdir -p \
|
|
|
321
321
|
[ -f "$REPLICAS_DESKTOP_TEMPLATES/openbox-rc.xml" ] && cp "$REPLICAS_DESKTOP_TEMPLATES/openbox-rc.xml" "$HOME/.config/openbox/rc.xml"
|
|
322
322
|
[ -f "$REPLICAS_DESKTOP_TEMPLATES/picom.conf" ] && cp "$REPLICAS_DESKTOP_TEMPLATES/picom.conf" "$HOME/.config/picom/picom.conf"
|
|
323
323
|
[ -f "$REPLICAS_DESKTOP_TEMPLATES/gtk-settings.ini" ] && render_template "$REPLICAS_DESKTOP_TEMPLATES/gtk-settings.ini" "$HOME/.config/gtk-3.0/settings.ini"
|
|
324
|
+
printf 'Net/ThemeName "%s"\n' "$GTK_THEME_NAME" > "$STATE_DIR/xsettingsd.conf"
|
|
324
325
|
if [ -d "$REPLICAS_DESKTOP_TEMPLATES/openbox-theme" ]; then
|
|
325
326
|
cp "$REPLICAS_DESKTOP_TEMPLATES/openbox-theme/"*.xbm "$HOME/.themes/Replicas-modern/openbox-3/" 2>/dev/null || true
|
|
326
327
|
render_template "$REPLICAS_DESKTOP_TEMPLATES/openbox-theme/themerc" "$HOME/.themes/Replicas-modern/openbox-3/themerc"
|
|
@@ -351,6 +352,14 @@ for _ in $(seq 1 30); do
|
|
|
351
352
|
sleep 0.1
|
|
352
353
|
done
|
|
353
354
|
|
|
355
|
+
# GTK settings.ini is read at launch; XSETTINGS notifies running apps on changes.
|
|
356
|
+
if [ -s "$STATE_DIR/xsettingsd.pid" ]; then
|
|
357
|
+
kill -HUP "$(cat "$STATE_DIR/xsettingsd.pid")" 2>/dev/null || true
|
|
358
|
+
fi
|
|
359
|
+
start_bg xsettingsd \
|
|
360
|
+
"false" \
|
|
361
|
+
"DISPLAY=:$DISPLAY_NUM exec xsettingsd --config \"$STATE_DIR/xsettingsd.conf\""
|
|
362
|
+
|
|
354
363
|
start_bg pulseaudio \
|
|
355
364
|
"pactl info" \
|
|
356
365
|
"exec pulseaudio --daemonize=no --exit-idle-time=-1 --log-target=stderr"
|
|
@@ -12,11 +12,6 @@
|
|
|
12
12
|
<body>
|
|
13
13
|
<video id="screen" tabindex="0" aria-label="Replicas desktop" autoplay muted playsinline></video>
|
|
14
14
|
<div id="status" class="visible" role="status" aria-live="polite">
|
|
15
|
-
<span class="frame-corner" aria-hidden="true">+</span>
|
|
16
|
-
<span class="frame-corner" aria-hidden="true">+</span>
|
|
17
|
-
<span class="frame-corner" aria-hidden="true">+</span>
|
|
18
|
-
<span class="frame-corner" aria-hidden="true">+</span>
|
|
19
|
-
<span class="frame-label" aria-hidden="true">Replicas / Desktop</span>
|
|
20
15
|
<img src="./viewer-icon.svg" alt="">
|
|
21
16
|
<span id="status-title" aria-hidden="true">Replicas</span>
|
|
22
17
|
<span id="status-text">connecting…</span>
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
WALLPAPER='brand-wallpaper.svg'
|
|
2
2
|
GTK_THEME_NAME='Yaru-viridian-dark'
|
|
3
|
-
GTK_PREFER_DARK='1'
|
|
4
3
|
SURFACE='#171717'
|
|
5
4
|
SURFACE_ALT='#121212'
|
|
6
5
|
SURFACE_RAISED='#2b2b2b'
|
|
@@ -12,6 +11,5 @@ INK_MUTED='#8a8a8a'
|
|
|
12
11
|
INK_FAINT='#6f6f6f'
|
|
13
12
|
INK_DISABLED='#5c5c5c'
|
|
14
13
|
LINE='#ffffff'
|
|
15
|
-
ACCENT='#
|
|
16
|
-
ACCENT_INK='#
|
|
17
|
-
MARK_ICON='viewer-icon.svg'
|
|
14
|
+
ACCENT='#3cba85'
|
|
15
|
+
ACCENT_INK='#3cba85'
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
WALLPAPER='brand-wallpaper-light.svg'
|
|
2
2
|
GTK_THEME_NAME='Yaru-viridian'
|
|
3
|
-
GTK_PREFER_DARK='0'
|
|
4
3
|
SURFACE='#ffffff'
|
|
5
4
|
SURFACE_ALT='#f2f3f1'
|
|
6
5
|
SURFACE_RAISED='#e8ece7'
|
|
@@ -14,4 +13,3 @@ INK_DISABLED='#b9c1b8'
|
|
|
14
13
|
LINE='#162118'
|
|
15
14
|
ACCENT='#2fc487'
|
|
16
15
|
ACCENT_INK='#2f9d57'
|
|
17
|
-
MARK_ICON='viewer-icon-light.svg'
|
package/assets/desktop/tint2rc
CHANGED
|
@@ -47,7 +47,7 @@ border_width = 1
|
|
|
47
47
|
background_color = @SURFACE_ALT@ 96
|
|
48
48
|
border_color = @LINE@ 16
|
|
49
49
|
|
|
50
|
-
panel_items =
|
|
50
|
+
panel_items = LT:C
|
|
51
51
|
panel_size = 100% 72
|
|
52
52
|
panel_margin = 0 12
|
|
53
53
|
panel_padding = 10 7 6
|
|
@@ -65,14 +65,6 @@ mouse_effects = 1
|
|
|
65
65
|
mouse_hover_icon_asb = 100 0 12
|
|
66
66
|
mouse_pressed_icon_asb = 100 0 -14
|
|
67
67
|
|
|
68
|
-
button = new
|
|
69
|
-
button_icon = /usr/local/share/replicas/desktop/@MARK_ICON@
|
|
70
|
-
button_tooltip = Replicas Desktop
|
|
71
|
-
button_background_id = 0
|
|
72
|
-
button_centered = 1
|
|
73
|
-
button_max_icon_size = 46
|
|
74
|
-
button_padding = 10 0
|
|
75
|
-
|
|
76
68
|
launcher_padding = 4 0 6
|
|
77
69
|
launcher_background_id = 0
|
|
78
70
|
launcher_icon_background_id = 2
|
|
@@ -31,17 +31,16 @@
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
:root {
|
|
34
|
-
--replicas-green: #
|
|
35
|
-
--replicas-mark-glow: rgb(
|
|
36
|
-
--replicas-mark-filter: brightness(
|
|
34
|
+
--replicas-green: #3cba85;
|
|
35
|
+
--replicas-mark-glow: rgb(60 186 133 / 15%);
|
|
36
|
+
--replicas-mark-filter: brightness(0.85);
|
|
37
37
|
--replicas-surface: #121212;
|
|
38
38
|
--replicas-ink: #ededed;
|
|
39
39
|
--replicas-title: #ffffff;
|
|
40
40
|
--replicas-ink-muted: rgb(255 255 255 / 60%);
|
|
41
|
-
--replicas-ink-faint: rgb(255 255 255 / 40%);
|
|
42
41
|
--replicas-hairline: rgb(255 255 255 / 16%);
|
|
43
42
|
--replicas-hairline-strong: rgb(255 255 255 / 50%);
|
|
44
|
-
--replicas-grid-line: rgb(255 255 255 /
|
|
43
|
+
--replicas-grid-line: rgb(255 255 255 / 7%);
|
|
45
44
|
--replicas-panel: rgb(18 18 18 / 90%);
|
|
46
45
|
--replicas-grid:
|
|
47
46
|
linear-gradient(to right, var(--replicas-grid-line) 1px, transparent 1px) center / 64px 64px,
|
|
@@ -57,7 +56,6 @@
|
|
|
57
56
|
--replicas-ink: #162118;
|
|
58
57
|
--replicas-title: #162118;
|
|
59
58
|
--replicas-ink-muted: rgb(22 33 24 / 60%);
|
|
60
|
-
--replicas-ink-faint: rgb(22 33 24 / 40%);
|
|
61
59
|
--replicas-hairline: rgb(22 33 24 / 14%);
|
|
62
60
|
--replicas-hairline-strong: rgb(22 33 24 / 45%);
|
|
63
61
|
--replicas-grid-line: rgb(22 33 24 / 10%);
|
|
@@ -124,23 +122,3 @@ html, body {
|
|
|
124
122
|
text-align: center;
|
|
125
123
|
text-transform: uppercase;
|
|
126
124
|
}
|
|
127
|
-
|
|
128
|
-
.frame-corner, .frame-label {
|
|
129
|
-
position: absolute;
|
|
130
|
-
color: var(--replicas-ink-faint);
|
|
131
|
-
font-size: 14px;
|
|
132
|
-
line-height: 1;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
.frame-corner:nth-of-type(1) { top: 14px; left: 14px; }
|
|
136
|
-
.frame-corner:nth-of-type(2) { top: 14px; right: 14px; }
|
|
137
|
-
.frame-corner:nth-of-type(3) { bottom: 14px; left: 14px; }
|
|
138
|
-
.frame-corner:nth-of-type(4) { bottom: 14px; right: 14px; }
|
|
139
|
-
|
|
140
|
-
.frame-label {
|
|
141
|
-
top: 16px;
|
|
142
|
-
left: 34px;
|
|
143
|
-
font-size: 10px;
|
|
144
|
-
letter-spacing: 0.14em;
|
|
145
|
-
text-transform: uppercase;
|
|
146
|
-
}
|
package/dist/index.js
CHANGED
|
@@ -2907,6 +2907,7 @@ async function computerStatusCommand() {
|
|
|
2907
2907
|
const procs = [
|
|
2908
2908
|
["Xvfb", "Xvfb"],
|
|
2909
2909
|
["openbox", "openbox"],
|
|
2910
|
+
["XSETTINGS", "xsettingsd"],
|
|
2910
2911
|
["tint2", "tint2"],
|
|
2911
2912
|
["PulseAudio", "pulseaudio"],
|
|
2912
2913
|
["desktop stream", "replicas-computer.*stream"]
|
|
@@ -2926,7 +2927,7 @@ async function computerStatusCommand() {
|
|
|
2926
2927
|
}
|
|
2927
2928
|
|
|
2928
2929
|
// src/version.ts
|
|
2929
|
-
var COMPUTER_USE_VERSION = "0.2.
|
|
2930
|
+
var COMPUTER_USE_VERSION = "0.2.14";
|
|
2930
2931
|
var COMPUTER_USE_PROTOCOL_VERSION = 1;
|
|
2931
2932
|
|
|
2932
2933
|
// src/program.ts
|
|
@@ -4006,6 +4007,7 @@ var dependencies = [
|
|
|
4006
4007
|
["Xvfb", "Xvfb"],
|
|
4007
4008
|
["xdpyinfo", "xdpyinfo"],
|
|
4008
4009
|
["xprop", "xprop"],
|
|
4010
|
+
["XSETTINGS", "xsettingsd"],
|
|
4009
4011
|
["xdotool", "xdotool"],
|
|
4010
4012
|
["scrot", "scrot"],
|
|
4011
4013
|
["openbox", "openbox"],
|
package/package.json
CHANGED