Commit 780e1d4
feat: add RemoteDesktop portal with EIS input injection and consent dialog
Implements org.freedesktop.impl.portal.RemoteDesktop, enabling remote
keyboard, mouse, and touchscreen input injection via the EIS protocol.
The portal provides:
- CreateSession/SelectDevices/SelectSources/Start/ConnectToEIS methods
- A consent dialog with device type chips and screen/window selection
- EIS socket pair creation forwarded to the compositor via D-Bus
- Session lifecycle management with proper cleanup
- Reuse of existing ScreenCast infrastructure for video streams
Security model:
- Consent dialog is always shown (never skipped via restore data)
- Device types are masked to valid bits only
- Per-session UNIX socket isolation
- Portal's own D-Bus connection used for compositor calls
Requires compositor support for AcceptEisSocket D-Bus method
(com.system76.CosmicComp.RemoteDesktop).
Closes #23
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent 276af0b commit 780e1d4
File tree
9 files changed
+1105
-16
lines changed- data
- i18n/en
- src
9 files changed
+1105
-16
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
2 | 5 | | |
3 | 6 | | |
4 | 7 | | |
| |||
38 | 41 | | |
39 | 42 | | |
40 | 43 | | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
41 | 47 | | |
42 | 48 | | |
43 | 49 | | |
| |||
63 | 69 | | |
64 | 70 | | |
65 | 71 | | |
| 72 | + | |
66 | 73 | | |
67 | 74 | | |
68 | 75 | | |
| |||
112 | 119 | | |
113 | 120 | | |
114 | 121 | | |
| 122 | + | |
| 123 | + | |
115 | 124 | | |
116 | 125 | | |
117 | 126 | | |
| |||
132 | 141 | | |
133 | 142 | | |
134 | 143 | | |
| 144 | + | |
| 145 | + | |
135 | 146 | | |
136 | 147 | | |
137 | 148 | | |
| |||
160 | 171 | | |
161 | 172 | | |
162 | 173 | | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
163 | 180 | | |
164 | 181 | | |
165 | 182 | | |
| |||
175 | 192 | | |
176 | 193 | | |
177 | 194 | | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
178 | 198 | | |
179 | 199 | | |
180 | 200 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
| 18 | + | |
17 | 19 | | |
18 | 20 | | |
19 | 21 | | |
| |||
0 commit comments