Skip to content

xdpw: added a screencast chooser#396

Merged
trigg merged 16 commits intomasterfrom
stream-chooser
May 2, 2026
Merged

xdpw: added a screencast chooser#396
trigg merged 16 commits intomasterfrom
stream-chooser

Conversation

@trigg
Copy link
Copy Markdown
Collaborator

@trigg trigg commented Mar 9, 2026

This PR adds a small GTK app to :

  • Present user with a list of outputs & toplevels
  • Allow user to select one
  • Return this data to xdpw

Streaming toplevels require two extra protocols:

  • ext-image-copy-capture-v1
  • ext-foreign-toplevel-list-v1

Testing being done with:

Packages & versions:

Quirks:

  • stdout MUST NOT contain anything more than the prescribed reply. More likely we'll need to silence GTK warnings and errors or send them only to std:err. Cancel or failure to choose in any way MUST reply with empty stdout
  • The chooser MUST detect when required protocols are missing for toplevel selection and present the user with the outputs instead.
  • Currently, hotplug outputs is entirely theoretical. Patches welcome

TLDR:
2026_05_02_14_25_09
2026_03_09_15_42_09

@trigg
Copy link
Copy Markdown
Collaborator Author

trigg commented Mar 10, 2026

For anyone hoping to test this :
systemctl --user restart xdg-desktop-portal-wlr

the xdpw user service needs to be reloaded after installing (or reboot, if you're insane)

@AKArien
Copy link
Copy Markdown
Contributor

AKArien commented Mar 10, 2026

It is on the layer shell. This is not a hard requirement, but a choice I'm willing to be swayed on

A way to draw the users attention to it will likely be essential

If we’re already on it (which i’m not gonna try to sway you on, sounds good to me), just being there as an overlay should be enough, no ? isn’t that what most desktops just do ?

@trigg
Copy link
Copy Markdown
Collaborator Author

trigg commented Apr 24, 2026

Part of me thinks matching the log-out menu from panel would be a more consistent look.

2026_04_24_10_54_23

But this could very easily be overkill to some users.

@AKArien
Copy link
Copy Markdown
Contributor

AKArien commented Apr 25, 2026

As discussed on the chatroom :

Part of me thinks matching the log-out menu from panel would be a more consistent look

I would think it desirable too, not just for visual consistency but also for it to be "unmissable".

But this could very easily be overkill to some users.

For the concern of an application spamming it, maybe we could try to do something like browsers do with alerts, and if we detect the same thing keeps trying and being denied, add a tickbox to automatically deny further requests ?

@trigg
Copy link
Copy Markdown
Collaborator Author

trigg commented Apr 25, 2026

Worth noting there is no mechanism to know who/what wishes to stream

@trigg trigg force-pushed the stream-chooser branch from 2b54c27 to 3375fd0 Compare May 2, 2026 10:27
@soreau
Copy link
Copy Markdown
Member

soreau commented May 2, 2026

portal-gum-test.webm

@trigg trigg marked this pull request as ready for review May 2, 2026 15:56
@trigg trigg merged commit 1ebc4e0 into master May 2, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants