-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multi EIS in remote desktop and PW stream integration #2
base: main
Are you sure you want to change the base?
Commits on Aug 30, 2023
-
eis: Remove meta_ prefix from variables
This is more or less never used elsewhere, so don't start here.
Configuration menu - View commit details
-
Copy full SHA for 3822e7f - Browse repository at this point
Copy the full SHA 3822e7fView commit details -
eis: Don't expose global socket
How EIS will be used depends on its context, meaning we'll have multiple EIS contexts that expose different things. To prepare for this remove the global socket since that won't work with multiple contexts.
Configuration menu - View commit details
-
Copy full SHA for 51230a7 - Browse repository at this point
Copy the full SHA 51230a7View commit details -
remote-desktop/session: Take over EIS context
This means there will be an EIS context per session, which will enable per session devices and region.
Configuration menu - View commit details
-
Copy full SHA for 6e0b658 - Browse repository at this point
Copy the full SHA 6e0b658View commit details -
Configuration menu - View commit details
-
Copy full SHA for 51443d1 - Browse repository at this point
Copy the full SHA 51443d1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 52ae2b4 - Browse repository at this point
Copy the full SHA 52ae2b4View commit details -
remote-desktop/session: Limit device type access when using libei
The portal could limit access to certain device types, but this was not forwarded to the EIS context. Add a way to do this, and make use of it.
Configuration menu - View commit details
-
Copy full SHA for bdb33fd - Browse repository at this point
Copy the full SHA bdb33fdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7e353c8 - Browse repository at this point
Copy the full SHA 7e353c8View commit details -
eis/client: Add user_data to add-device helper
This will allow passing extra context to the configure function. Currently all NULL, but preparing for the future.
Configuration menu - View commit details
-
Copy full SHA for bfe5e5e - Browse repository at this point
Copy the full SHA bfe5e5eView commit details -
A MetaEisViewport represents an absolute region backend by e.g. a pointer device. There are two kinds: a standalone viewport, which corresponds to a viewport that has no neighbours, and a non-standalone, which represents a region of a global coordinate space. The reason for having non-standalone viewports is to allow to mirror the logical monitor layout of a desktop, while the standalone are meant to represent things that are not part of the logical monitor layout.
Configuration menu - View commit details
-
Copy full SHA for e8bf360 - Browse repository at this point
Copy the full SHA e8bf360View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5ecd275 - Browse repository at this point
Copy the full SHA 5ecd275View commit details -
screen-cast: Pass remote desktop session on construction
We already have the remote desktop session ID, and we'll soon need the actual remote desktop session in the screen cast session, so pass it on construction. The old screen cast type is set implicitly instead.
Configuration menu - View commit details
-
Copy full SHA for dfd4262 - Browse repository at this point
Copy the full SHA dfd4262View commit details -
This means clients can disconnect signals without warnings being logged.
Configuration menu - View commit details
-
Copy full SHA for cac54fa - Browse repository at this point
Copy the full SHA cac54faView commit details -
remote-desktop/session: Add API to acquire new mapping ID
They are guaranteed to be unique per session, and never reused.
Configuration menu - View commit details
-
Copy full SHA for 44e11a1 - Browse repository at this point
Copy the full SHA 44e11a1View commit details -
screen-cast: Implement MetaEisViewport in all stream types
This will be used to describe a eis_region in a eis_device.
Configuration menu - View commit details
-
Copy full SHA for 51e2a43 - Browse repository at this point
Copy the full SHA 51e2a43View commit details -
eis: Use either standalone or shared devices for absolute input
Sometimes it makes no sense to have a shared pointer device, for example when they have no set region occupying the global stage coordinate space. This applies to for example window screen cast based pointer device regions - they are always local to the window, and have no position. We do need shared absolute devices in some cases though, primarily multi-head remote desktop, where it must be possible to keep a button reliably pressed when crossing monitors that have their own corresponding regions. To handle this, outsource all this policy to the one who drives the emulated input devices. Remote desktop sessions where the screen casts correspond to specific monitors (physical or virtual), we need to make sure they map to the stage coordinate space, while for window screencast or area screencasts, we create standalone absolute pointer devices with a single region each.
Configuration menu - View commit details
-
Copy full SHA for a327c23 - Browse repository at this point
Copy the full SHA a327c23View commit details -
eis: Don't treat EIS errors as fatal
g_error() is fatal, but EIS errors are not necessarily that.
Configuration menu - View commit details
-
Copy full SHA for df32cd5 - Browse repository at this point
Copy the full SHA df32cd5View commit details -
remote-desktop/session: Add regions for all monitors if input-only
If we're a input-only remote desktop session, create libei regions on an absolute pointer device corresponding to all logical monitors. This allows absolute pointer motions without screen casting.
Configuration menu - View commit details
-
Copy full SHA for ae8df67 - Browse repository at this point
Copy the full SHA ae8df67View commit details