GTK assumes that a widget will be created for a flow box item. So always
return one instead of falling back to returning NULL. This can primarily
happen if an image loader is missing.
The `X-GNOME-Bugzilla-*` entries were for use by bug-buddy, a GNOME 2
technology that's been gone for over a decade. These entries are
obsolete and can be removed from all desktop files.
The `X-GNOME-Settings-Panel` entry is also obsolete as far as I can
tell and only these panels had it in their desktop file: notifications,
sharing, sound and user-accounts. These entries can also be removed.
After removing the `X-GNOME-Bugzilla-*` entries, the desktop files have
no more variables in them. The meson `configure_file` step is therefor
pointless—there are no variables to configure. As such the
`*.desktop.in.in` files are renamed to `*.desktop.in` to reflect this
and `meson.build` files are modified to remove `configure_file` step.
Otherwise when users close and reopen the window they will face a
“Failed to claim fingerprint device Synoptics Sensors: the device is
already claimed by another process” error message.
Fixes#1983
The selected_user variable is unref on dispose(), and show_user()
is likely executed with self->selected_user already set to user,
but it's inconsistent, and so to be on the safer side, use
g_set_object()
Adding the 'error' css class to icons visually indicates that
there's an issue with the input. This is the same purpose served
by the status icons. Another reason to remove the status icons
is that with the error class added to entries the entries dim
except for the status icons.
It should be made insensitive when the panel is locked, and sensitive
when locked.
We only hide this row for non-local users, where this setting doesn't
make much sense.
Fixes#1944
When the window AdwLeaflet is folded the back button should either
switch to the panels list if the selected user is the current user
or switch to the current user if the selected user is from the
"other users" list
Currently the back button is only shown when viewing a user from the
"other users" list.
These changes show the back button when the window AdwLeaflet is
folded or when the selected is from the "other users" list but never
when the window is not folded and the selected user is the current
user.
Fixes: #1719
The previous code was prone to race conditions if the child already
started writing to stdout before the dup2 call happened. This has
been detected in postmarketOS[1] and I also reproduced it in Alpine
Linux. Since passwd writes to stderr and linux-pam to stdout, the
redirection was needed. However, linux-pam was failing with
"Conversation error" since an fprintf(stdout, ...) call wasn't
able to write to an already-closed stdout.
This problem is fixed by setting the redirection in the child setup
function and ignoring the stderr pipe. It also fixes a leak, where
the stderr fd was simply ignored and never closed.
[1] https://gitlab.com/postmarketOS/pmaports/-/issues/1449
We were checking for the existance of an image file as avatar when
setting up the main avatar widget in the page, but the same wasn't
done for the avatars displayed in the "Other users" list. These
were AdwAvatars simply initialized to use the user initials.
Now we load the user image (if it exists) and it will fallback to
initials when an image isn't set.
Fixes#1658
If no password or username was set (not even an empty one), initialize
them to something, specifically the username of the user of the session,
and a auto generated password.
- Remove all 'can-focus' properties, rely on GTK defaults
- Use AdwPreferencesPage internally
- Make dialog resizable
- Set 'icon-name' in header buttons instead of a GtkImage
Hide the button to open the parental controls UI if it’s not installed.
This will allow distributions to split the dependency, making
gnome-control-center suggest (rather than require) malcontent-ui, while
still requiring libmalcontent.
In turn, this will allow malcontent-ui to be uninstalled without
requiring gnome-control-center to be uninstalled, which will satisfy
users who feel the need to uninstall it because it’s not useful to them.
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
Rename the app-id to org.gnome.Settings since this is what
we've been calling it for many years now. Adjust all files
that derive from the app-id, such as the desktop file, D-Bus
service file names, search providers, GSettings schemas, to
match that.
Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/344
Ignored in Meson < 0.60.0, deprecated since 0.60.1 and fatal since 0.61.0.
panels/applications/meson.build:10:5: ERROR: Function does not take positional arguments.
panels/background/meson.build:10:5: ERROR: Function does not take positional arguments.
panels/camera/meson.build:10:5: ERROR: Function does not take positional arguments.
[...]
As designers did not like the presence of a separate parental controls
application in the launchers duplicating launching the management app
through the users panel, we should add the keywords usually associated
with the parental controls app to the panel's keywords so functionality
can still be accessed this way.
See https://gitlab.freedesktop.org/pwithnall/malcontent/-/merge_requests/119#note_1052271