Skip to content

screenshot: Split out disabling cast button

Florian Müllner requested to merge fmuellner/gnome-shell:sync-cast into main

Screencasts can be disabled for various reasons:

  1. the service is not available (missing plugin etc.)
  2. screencasts are not allowed by the session mode (lock screen etc.)
  3. the UI is invoked in screenshot-only mode (portal)

Currently each of those conditions is handled in a different code path, which means that later conditions can re-enable the button.

There's also an inconsistency whether disabling the button is done via visibility or reactivity, which still allows toggling the hidden button via shortcuts (although a hidden button means that screencasts aren't supported at all, so nothing will be recorded in that case).

Address this by updating the button from a dedicated function.

Fixes: 671df28a ("screenshot: Only handle mode-switch shortcut when supported") Closes: #7358 (closed)

Merge request reports