- Use "select-mode-symbolic" in the "Clicking"
view switcher
- Ditch the border radius from the scroll test
image
- Make click-status-emblem indicator indicator
to show a more prominent green color when the
test passes
- Don't use @borders for the click-status-emblems
background color because this named color isn't
meant for backgrounds
- Make non-green click-status-emblems dimmed
Reference: 6d5e1813ca
The timedate1_call will fail because network time synchronization is enabled:
GDBus.Error:org.freedesktop.timedate1.AutomaticTimeSyncEnabled: Automatic time synchronization is enabled
Let's not set_time when NTP is not available, neither set time by
accident at the widget construction stage. When widgets signals are connected
in the UI file their respective callback was getting called. By moving
the signal connection to callbacks to the widget's _init method we
avoid the unwanted callback call.
Fixes#2945
Spaces are not supported in .desktop file keywords[0] as gnome-shell
splits the search term by spaces, and then prefix-matches each word separately
against the candidate keywords.
Inspired by commit 7bd8dd69cf
When copying the login command, a toast appear
saying "Command copied". However, these kind of toasts
usually says that the text was copied *to the clipboard*,
like the toast from System > About > System Details > Copy.
Spaces aren’t supported in .desktop file keywords, as gnome-shell splits
the search term by spaces, and then prefix-matches each word separately
against the candidate keywords.
So a search term of ‘parental’ would match the ‘Parental Controls’
keyword, but a search term of ‘parental controls’ would not, as
‘controls’ doesn’t prefix-match anything.
Avoid that by removing spaces from the keywords.
Signed-off-by: Philip Withnall <pwithnall@gnome.org>
Helps: https://gitlab.freedesktop.org/pwithnall/malcontent/-/issues/48
As the user facing name of this setting changed to "Secure Shell",
let's change its internal name to match it.
This avoids confusion with the Remote Desktop "Remote Session" setting,
which is now named "Remote Login" in the UI and should get its code
renamed to follow that consistently.
Otherwise we just return the first output with the corresponding vendor
and serial number.
Fixes: 75ce02e202 ("wacom: Provide connector name for disambiguation")
The Search panel providers listbox has a placeholder label that is
visible when there are no listbox items.
The placeholder label is being considered in the list of children
of the listbox while estimating whether "Moving down" is allowed for
the listbox reorder feature.
The current placeholder that appears when no
providers are available has some problems:
- The row is activatable, but this is unnecessary
- The row has no padding
- The "No Apps Found" string doesn't use header
capitalization
Fix this by using a GtkListBox placeholder widget, with
margins and with header capitalization in the string.
Using the systemd-hostnamed chassis-type to detect when running on
"tablet", "handset", or "watch" and setting a more reasonable list
of suspend time options for them.
As discussed in #2870 the current way of displaying insensitve rows when
no apps are availbe to handle a mime type is confusing.
Fix this by showing a "No Apps Available" label in the aforementioned case.
Fixes#2870
Let's manually wire the row activation to the panel creation so that
we can create panels on demand.
This also makes calls to subpages directly avoid initializing the
other panels.
Fixes#2857
At init it will verify whether the panel can be constructed in the
check_desktop_sharing_available call, and with that hide/show the
panel accordingly.
Fixes#2955
Unfortunately I sneaked in a move of the gvc_mixer_control_open() call from
earlier in the function to the end of the function with commit 2152899354.
That change didn't actually move the call though, but introduced a second
call instead, leading to a critical error on opening of the sound panel.
Fix it by removing the first call to gvc_mixer_control_open() and keeping
the second one around. We want to keep the second one instead of the earlier
one because the signal handlers should be connected before we initialize gvc
and it connects to pulse, emitting all the input/output-added signals etc.
The reason why this wasn't broken before was likely because the connection
to pulse happens async, and therefore the initial emission of the signals
would effectively still have happened after we connected our handlers.
Fwiw, calling gvc_mixer_control_open() after
cc_volume_slider_set_mixer_control(), cc_subwoofer_slider_set_mixer_control()
and cc_device_combo_box_set_mixer_control() is not a problem, as those
functions all call into gvc to get static values (and as explained above,
at this point gvc wouldn't have established connection to pulse anyway).
Reported-by: Matthijs Velsink <mvelsink@gnome.org>
Fixes: 2152899354 ("sound: Listen to signals from GvcMixerControl only in sound panel")
Each page had its AdwNavigationPage tag updated in [1],
but the tags in the Privacy panel main page weren't
updated, which made all the subpages fail to open.
[1] 917248d7bf
In the File & Link Associations dialog (handler_dialog),
the remove button from list rows doesn't have a tooltip;
also, Orca doesn't read this button properly, since there
is no a11y label.
Fix that by adding a tooltip, which also acts as an a11y
label.
Unlike other rows from the app page, the
"Storage" row subtitle states a value
instead of showing the row description.
Also, the description ends with a period,
which isn't necessary acc. to HIG.
Show the disk space as a secondary label,
so the "Storage" row can have a consistent
subtitle like other rows.
Closes https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2777
Secure Shell and Software Updates rows are
using the letters R and U, respectively, for
their mnemonics. However, these letters are
already taken by other rows (Region & Language
and Users).
Fix that by choosing different letters.
When there's no active input or output device, the input/output meter shouldn't
have a stream set, so call set_input_stream() with a NULL stream
(cc_volume_slider_set_stream() and cc_level_bar_set_stream() are already handling
NULL as expected) in case there's no active input or output device.
This fixes a bug where the input/output meter doesn't get updated when the active
input or output device gets unset.
When gvc gives us an active-input/output-device ID we don't know or sets the ID
to 0, that means there's no device currently active. While this seems unlikely
to be the case without the device getting removed at the same time, it can happen:
When the bluetooth profile gets changed from handset (input+output) to
headphone (output only), the input device remains available, but there's no
more active-input-device anymore.
In this case, we shouldn't leave the active entry on the device combo box as-is,
instead we should set it to NULL to indicate that no input device is set.
This fixes a bug where the input switcher is not updated when there's no
internal microphone but there's a bluetooth headset connected, and the
bluetooth profile gets switched from Handset to Headphone.
Gvc is the actual "source of truth" when it comes to the currently active input
or output device, so we should update widget visibility and the input/output
meter stream based on the information from gvc, not on changes to the combo box.
The flow when the selects a different device in the combo box now is:
"user change" -> gvc_mixer_control_change_output() -> receive
"active-output-changed" signal from gvc -> update active device and get it
using the DeviceComboBox -> set widget visibility and update stream based
on this device.
This fixes a few bugs where the stream for the input/output meter wouldn't
get updated properly on active device changes.
When we get notified of an "active-input/output-device" change by gvc, we have
to update our respective combo box to reflect that change. Obviously, this in
turn shouldn't trigger our own signal handler for changes on that combo box,
that signal handler is only meant to handle the user interacting with the combo
box.
So block our signal handlers when we update the combo box to respond to changes
from the gvc side.
This fixes a recursive call to gvc_mixer_control_change_input/output() when we
get notified about an input/output change from gvc itself.
We should only listen to "active-input-update" and "active-output-update" in
one place, and then update the combo box from there. This way we can block our
own signal handler for input/output device changes on the combo box, which
we'll do in the next commit.
Make this dialog design closer to what mockups
show[1] by:
- Removing window default-width/height,
so the window size follows the content size
- Using a compact AdwStatusPage
- Using larger fingerprint label horizontal margins
and reducing vertical ones
Also:
- Port the window to AdwToolbarView, which
makes the close button position to be consistent
with other windows
- Allow closing the window with ESC
- Add window size request properties to improve
adaptiveness
[1] cbb4810936
Unlike tip erasers, styli with eraser buttons (which is the vast
majority anyway) have the same tool ID as the pen so the first
matching stylus we find is the right one.
This avoid a warning when a AES stylus is connected - we're constructing
the stylus based on our cache information which is just ID and serial
but no device - meaning the device lookup cannot work.
Fixes: 42b39cb956 ("wacom: Prefer the stylus over the eraser")