Remote session support needs to be able to start systemd units
and also manage gnome-remote-desktop.
This commit adds a polkit policy to accomodate both subactions
with one overarching action that only needs to be unlocked one time.
This change will update the UI and internal reference names to use
the "Desktop Sharing" term, which refers to sharing a user's screen
with remote connections.
This differentiation is being introduced now so that we can avoid
conflict with "Remote Session", which will refer to headless/dedicated
remote desktop sessions.
Mockups
https://gitlab.gnome.org/Teams/Design/settings-mockups/-/raw/master/remote-desktop/remote-desktop.png
See #2827
The Proxy row shows its value as subtitle, which is
inconsistent with other rows where the subtitle describes
the row title/what the row is.
Show the proxy value as a CcListRow secondary-label to fix
such issue.
Reference:
cfb7cae4a9
- Remove a11y labels from buttons that
have tooltips, since Orca also reads tooltips
- Remove the .image-button style class, since
it's automatically added if a GtkMenuButton has
an icon[1]
- In property names that have more than 1 word,
use a hyphen minus symbol to separate the words
instead of an underscore
[1] https://docs.gtk.org/gtk4/class.MenuButton.html
Currently, the generic "Failed to log into domain" error is shown when
joining domain with invalid hostname. It is hard for user to guess what
is going on. Let's fail with "That hostname didn’t work" instead.
Related: https://gitlab.freedesktop.org/realmd/realmd/-/merge_requests/39
Currently, the previous cc_realm_manager_discover calls are not cancelled
when validating domain field. This might lead to the situation when valid
domain might be mislabeled as invalid and vice versa. Let's simply cancel
the cancellable to avoid this situation.
The `source_object` parameter for the callback functions called from
the `realm_join_as_user` and `real_join_as_admin` resp. `realm_join_as_owner`
functions is not `CC_REALM_OBJECT` type as one would expect, but
`CC_REALM_KERBEROS_MEMBERSHIP` type. Let's modify the code to ensure that
it is `CC_REALM_OBJECT` type.
The implementation is based on the cc-add-user-dialog.c codes, but it is
not a pure copy&paste. It has to be changed to fit the skeleton and reflect
changes from the mockup. I've also tried to simplify the code where possible.
It also fixes some memory leaks.
When the row is a subpage it has a parent_id, which should be activated
instead of panel_id. So we construct a parameters GVariant so that
panels can handle it.
- Make all buttons as suffix widgets,
which makes unnecessary to wrap them in
a GtkBox that is set as a suffix widget
- Don't set a margin end to the Wi-Fi
icon[1]
- Remove halign from the buttons, because
it isn't necessary
- Remove halign from the buttons, as it
isn't necessary because halign works only
if hexpand is set to TRUE
- Add margin end to the spinner so it
doesn't appear misaligned with the other
widgets at the end of the row
[1] In latest mockups, the margin between
the Wi-Fi icon and network name is also
shorter: cfb7cae4a9