replicas-computer 0.2.13 → 0.2.15

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 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="#082b24" stop-opacity="0.95"/><stop offset="1" stop-color="#005b45" stop-opacity="0.82"/></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.12"/></pattern>
5
- <filter id="cell-glow" x="-25%" y="-25%" width="150%" height="150%"><feDropShadow dx="0" dy="0" stdDeviation="10" flood-color="#3eeba3" flood-opacity="0.16"/></filter>
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="#3eeba3" 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="#3eeba3"><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>
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>
@@ -4,7 +4,6 @@ gtk-icon-theme-name=Yaru-viridian
4
4
  gtk-cursor-theme-name=Bibata-Modern-Ice
5
5
  gtk-cursor-theme-size=22
6
6
  gtk-font-name=General Sans 10
7
- gtk-application-prefer-dark-theme=@GTK_PREFER_DARK@
8
7
  gtk-xft-antialias=1
9
8
  gtk-xft-hinting=1
10
9
  gtk-xft-hintstyle=hintslight
@@ -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
- export GTK_THEME="$GTK_THEME_NAME"
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='#3eeba3'
16
- ACCENT_INK='#3eeba3'
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'
@@ -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 = PLT:C
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: #3eeba3;
35
- --replicas-mark-glow: rgb(62 235 163 / 45%);
36
- --replicas-mark-filter: brightness(1);
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 / 12%);
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.13";
2930
+ var COMPUTER_USE_VERSION = "0.2.15";
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replicas-computer",
3
- "version": "0.2.13",
3
+ "version": "0.2.15",
4
4
  "description": "Replicas workspace computer-use runtime",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,3 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 360" fill="#2fc487">
2
- <path d="M68 30h75v75H68zm75 0h75v75h-75zm75 75h75v75h-75zM68 180h75v75H68zm75 0h75v75h-75zm-75 75h75v75H68zm150 0h75v75h-75z"/>
3
- </svg>