Skip to content

Add screencast-only fullscreen mode for group call screenshare#30279

Open
paterkleomenis wants to merge 1 commit intotelegramdesktop:devfrom
paterkleomenis:groupcall-screencast-fullscreen
Open

Add screencast-only fullscreen mode for group call screenshare#30279
paterkleomenis wants to merge 1 commit intotelegramdesktop:devfrom
paterkleomenis:groupcall-screencast-fullscreen

Conversation

@paterkleomenis
Copy link

Summary

  • add a dedicated fullscreen toggle button next to mute in wide group-call controls for active screenshare
  • add screencast-only fullscreen mode that hides the members panel and expands the screenshare viewport
  • preserve and align double-click screenshare fullscreen behavior with the new screencast-only state
  • auto-hide center controls on inactivity in screencast-only fullscreen and show them again on mouse movement
  • disable speaking-outline rendering in fullscreen to avoid full-frame green highlighting artifacts

Testing

  • cmake --build out --config Debug --target Telegram
@ilya-fedin
Copy link
Contributor

Is it intended that this commit is also present in #30278?

@paterkleomenis
Copy link
Author

No, is it an issue?> Is it intended that this commit is also present in #30278?

@ilya-fedin
Copy link
Contributor

No, is it an issue?

Yes, if that other PR will get merged, this one will conflict.

@paterkleomenis
Copy link
Author

No, is it an issue?

Yes, if that other PR will get merged, this one will conflict.

I fixed it

@ilya-fedin
Copy link
Contributor

I noticed two problems:

  1. The number of participants duplicates and the duplicate one is even visible on top of the stream: изображение
  2. Both the new screenFull button and the maximize button on titlebar lead to fullscreen. I assume it's not intended? Perhaps the new button is not needed if you want fullscreen inside titlebar like in one-to-one calls.
Introduce a dedicated fullscreen toggle in wide controls for screenshare.

When a screen endpoint is focused, fullscreen can now switch to a screencast-only layout that hides side panels. Fullscreen controls in this mode auto-hide on inactivity and reappear on mouse movement.

Also disable speaking outline rendering in fullscreen to avoid full-frame green highlighting tied to members panel speaking state.
@paterkleomenis paterkleomenis force-pushed the groupcall-screencast-fullscreen branch from 414ec7c to 99a2653 Compare February 16, 2026 10:14
@paterkleomenis
Copy link
Author

Fixed both issues:

  1. Participant count duplication — the _subtitle widget (showing participant count) could persist on top of the stream when transitioning to screencast-only fullscreen. Now it's explicitly destroyed when entering that mode.

  2. Redundant screenFull button — removed the separate fullscreen toggle button entirely. The titlebar maximize button already handles fullscreen for screenshare, same as in one-to-one calls.

@paterkleomenis paterkleomenis force-pushed the groupcall-screencast-fullscreen branch from 9e150e3 to 99a2653 Compare February 16, 2026 13:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants