9696 Commits

Author SHA1 Message Date
Sebastian Keller
80a37bcf53 js: Update for Gio/GioUnix split
GLib 2.79.2 split out the platform specific Gio APIs into a separate
GIRs, while still keeping a copy in the Gio GIR. gjs then added warnings
about the APIs being moved.

This bumps the Gio(Unix) version requirement to 2.79.2 and switches to
using the new GioUnix GIR.

See: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3892
See: https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/918
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7539
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3288>
2024-04-29 16:48:07 +02:00
pesader
ccdd46c0d9 unlockDialog: Also center the time in 12h format
Since the time string uses a space to pad single-digit numbers, the
centered label looks off-center. Fix this by applying the trim()
function to get rid of whitespaces.

The drawback of this approach is that the label will change position
slightly when the time changes, but for the lockscreen that's okay.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6193
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3290>
2024-04-28 18:20:32 -03:00
Marco Trevisan (Treviño)
3a34c16eca workspaceAnimation: Do not create clones for override redirect windows
Override redirect windows manage their own positioning and size alone
and are always sticky, so we're not covering them either with the
animation MonitorsGroup, and thus there's no need to clone them or we'd
end up having two windows painted.

This was causing the shell tray icon window actors (that have no opacity
by default but that are override redirect) to show up during the
animation as their clone animation is not 0.

The other option would be hide them during the animation phase, but
there's no need for this.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3285>
2024-04-26 18:31:48 +00:00
Sebastian Keller
b7079b8f2f portalHelper: Fix handling of invalid TLS certificates
WebKitGTK 6.0 moved allow_tls_certificate_for_host() from WebContext to
NetworkSession. This was not adjusted here when the portal helper was
switched from 4.0 to 6.0.

2d1b53b211

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7597
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3284>
2024-04-25 19:33:09 +02:00
Florian Müllner
817ae50692 altTab: Use more appropriate fallback icon
'icon-missing' is not an actual icon name. It somewhat works
because an invalid icon name will fallback to the correct
'image-missing', however for apps the generic app icon is
a better fallback.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3248>
2024-04-24 14:22:48 +00:00
Jamie Gravendeel
448df5c58e general: Remove periods from single sentences
This is done to align with the HIG rule about periods in single sentence
strings.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3280>
2024-04-24 13:58:01 +02:00
Monster
779dfb6600 dateMenu: Better align strings with the HIG
Turn the button labels to title case, make the strings shorter, make the
weather string consistent with the world clocks string.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3254>
2024-04-24 10:59:20 +00:00
Monster
79360d155f close-dialog: Fix strings to comply with HIG
Moved title text to title case, removed periods in title and subtitle

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3224>
2024-04-21 14:38:55 +00:00
Florian Müllner
df50c2dfc6 cleanup: Replace deprecated String.prototype.substr()
The method is documented as deprecated:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr

Switch to the non-deprecated substring() method.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3234>
2024-04-19 17:38:37 +00:00
Florian Müllner
193b6c129e cleanup: Don't use substring to check prefix
String.prototype.startsWith() is more idiomatic in that case.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3234>
2024-04-19 17:38:37 +00:00
Julian Sparber
8df0ccd090 messageTray: Don't show expand button for notification banner
Currently we expand banners on hover, it's odd that there is also an
expand button the user doesn't have to click.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7479
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3249>
2024-04-19 13:13:41 +00:00
Robert Mader
cbcc5b479a Revert "screencastService: Use 'screen' encoder profile for openH264"
Unfortunately it turned out that this change does increase frame skips
in the recorded files on several tested devices, greatly outweighing
any small visual benefit it might have.

This reverts commit 490ecc536ab6b2f9320592930be5aae473297934.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3268>
2024-04-15 20:23:42 +02:00
Totto16
d1d43a871d modalDialog: Remove timestamp parameter from close() invocations
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3253>
2024-04-10 11:10:11 +00:00
Totto16
72223977c2 modalDialog: Finish cleanup in close()
timestamp is unused and removed after cleanup in commit 3574c5246a29dc2ad5b9dbc629e4e7647fbc41bf, this fixes this in the missed parts

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3253>
2024-04-10 11:10:11 +00:00
Robert Mader
490ecc536a screencastService: Use 'screen' encoder profile for openH264
There are "camera" and "screen", the former being the default. Using the
later should slightly increase image quality.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3259>
2024-04-02 11:20:36 +02:00
Sebastian Keller
7f476e051c notificationDaemon: Use correct property name to enable markup
The property is named useBodyMarkup, not bannerMarkup. This was causing
markup to be disabled for FDO notifications.

Fixes: cc60ce7f94 ("notification: Stop using 'update()' from MessageTray.Notification")
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7495
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3247>
2024-03-19 13:14:04 +01:00
Joan Torres
b33f82b583 loginDialog: Improve conflicting session notification message
This makes it less confusing.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3235>
2024-03-16 16:33:50 +00:00
Sebastian Keller
04fd3a4277 keyboard: Specify anchor when deleting characters via timeout
6e80f858c dropped the second cursor argument used as anchor when calling
the delete function from the timeout. This was causing the early check
that was trying to detect when deleting from the beginning of the text
to fail, because anchor was now undefined.

Fixes: 6e80f858c ("keyboard: Move backspace key handling to KeyboardController")
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7484
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3239>
2024-03-15 11:52:37 +01:00
Sebastian Keller
8616ec00a0 magnifier: Stop using Clutter.StaticColor
This was removed from mutter in commit 72c2d8913. Instead of manually
creating a white color, we can just rely on ClutterTextureNode creating
one for us when passing null.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7480
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3237>
2024-03-13 22:01:39 +00:00
Joan Torres
5d58e41cbc loginDialog: Fix conflicting session notification
The internal notification API changed between the time the
code was originally written and the time the change was
merged. Belatedly adapt to those changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3236>
2024-03-13 17:32:28 +00:00
Julian Sparber
fd58294ec3 messageTray: Ensure that a notification is removed from Source correctly
We need to make sure that we always emit the `notification-removed`
signal on the source object when a notification is removed or
destroyed.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7463
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3229>
2024-03-13 11:21:35 +00:00
Jonas Dreßler
a64424864b Revert "main: Only restore key focus on pop when modal actor is still focused"
This one caused a regression and now keys appear to get stuck while raising
the screenShield, so revert it. Hopefully we can fix the original problem in
a better way next cycle by tracking key focus changes internally in
ClutterGrab.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7446

This reverts commit 4d544d7b5614cd33bf60c1b610f8b81546955fbb.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3231>
2024-03-08 19:45:20 +00:00
Aleksandr Mezin
e1db7e368f messageList: Fix TypeError in Message.useBodyMarkup setter
Setting `useBodyMarkup` to `true` fails with:

    JS ERROR: TypeError: this.setBody is not a function
    set useBodyMarkup@resource:///org/gnome/shell/ui/messageList.js:585:14

Fixes: f0e863f529 "messageList: Use GObject properties for Message"
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3232>
2024-03-08 19:36:50 +00:00
Jonas Dreßler
fc58f6f053 keyboard: Don't fall back to next model after we found a valid one
The fallback for creating models is to try the next one in case the current
one can not be created, until we fall all the way back to the US layout.

Obviously we shouldn't fall back in case creating the model actually worked,
so break out of the loop and then use the new model.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3230>
2024-03-07 12:02:10 +00:00
Carlos Garnacho
a60d454cca endSessionDialog: Disconnect signal from the right object
This signal id comes from a signal handler on self, use the right
object when disconnecting it. Spotted by Eugene Popov at
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2140#note_2039721.

Fixes: b3f5fdcb6 ("endSessionDialog: Connect to events in the dialog itself")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3225>
2024-03-06 11:35:35 +01:00
Julian Sparber
262fb191b1 notification: Allow expanding notification in calendar drawer
This adds a button to expand a notification. This makes most of
the body readable (limited to 6 lines) and the action buttons available
to the user.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
dc4e2e8114 messageList: Always show close button when message is closable
Once we add a expand button, which we want to show always, the close
button would look odd if it hides automatically.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
274d8be7b9 messageList: Use single actor to display message body
Using two actor to display collapsed and expanded body creates a small
flicker when switching between the actors, since we can resize the actor
we can just use one actor and resize it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
9bf280bbd2 messageTray: Drop 'update()' from MessageTray.Notification
Since MessageTray.Notification now uses GObject properties we use
`Object.set()` to update multiple properties and the `update()` method
isn't needed anymore.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
3ef86b279a messageTray: Always play sound when a notification is updated
We had a policy (see [1]) to replay sound for updated notification only
when the sound changed. But this behavior never worked because of a bug
in the code. Since nobody noticed in years, let's remove it and always
allow the sound to be played.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=642831#c37

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
cc60ce7f94 notification: Stop using 'update()' from MessageTray.Notification
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
b746ab05b3 notification: Use full potential of MessageTray.Notification properties
Since MessageTray.Notification now uses GObject properties we can use
property bindings and specific notify signals.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
f0e863f529 messageList: Use GObject properties for Message
This will allow us to use property bindings.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
ffaec5615a messageList: Directly take an GioIcon as image for a message
There is pretty much no value gained by allowing to use any actor to display
an image, so just don't allow it since it simplifies the code and CSS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
cb1b54b954 notification: Remove old setter methods of MessageTray.Notification
We now have nice GObject properties for the properties that can be set
with in different ways, since we already changing the API so much let's
drop the old setter methods.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
1d1d9806f3 notification: Stop using old setter methods of MessageTray.Notification
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
9ac4c7da53 messageTray: Automatically update Notification's datetime on property changes
Setting the `datetime` property whenever a notification is updated is
tedious and error-prone. Therefore, whenever properties, other then
`acknowledged` and `datetime`, of a notification change update the
`datetime` property to the current time.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
d54219c098 messageTray: Only take params in Notification constructor
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
251a5e9d20 messageTray: Use GObject properties for Notification
This will allow us to use property bindings, and it's much clear which
properties a `Notification` has.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
34f05b075b messageTray: Let the tray decide whether to show a banner
Always use the same code path to add new messages to a source, and
let the `MessageTray` decide whether it shows a banner.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
940b658071 messageTray: Drop NotificationBanner
We want to have the same widget used to display the notification in the
calendar popover as in the messageTray, so let's actually use the same
widget.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
83ea818a0a messageTray: Drop createBanner()
This removes the `createBanner()` method on `Notification` and `Source`.
Since we want to use the same widget for the calendar and the banner,
let's not allow to create custom widgets just for the banner.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
d44adf3b78 notifications: Add buttons to Calendar.NotificationMessage via actions
Since we also want to show the buttons in the calendar move the
code to add buttons/actions from `MessageTray.NotificationBanner` to
`Calendar.NotificationMessage`.

As nothing uses custom buttons that aren't backed by actions anymore,
remove that bit of the public API.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7099
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
7ff5f4ea51 messageTray: Add action-added/action-removed signals to Notification
Add signals so that the message actor can update the it's action when
they change.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
6d6ac1372a components/autorunManager: Use notification actions API
Stop using custom buttons for notification actions. The only reason to
use custom buttons was so that we could add icons next to the button
label, if we really need the icons next to the label we can add icons to
the notification API.
By using the actions API we can ensure that buttons always look the
same without additional work.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
050e4e9a6e messageTray: Use new notification-removed signal to cleanup notifications
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
ec5bbfe319 messageTray: Add notification-removed signal to Source
This allows us to drop the `destroy` signal handler for each
notification in MessageTray.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
b1d2a5bac8 FdoNotificationDaemon: Actually associate a Source with an app
Actually link a notification source with an app instead of just to
its app name and PID, which in many cases don't really identify an
app. E.g. for portal applications the PID points to the
xdg-desktop-portal.

Use the app when ever possible but keep using the app name and PID
as a fallback.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
d63013f075 messageTray: Rename bannerBodyMarkup to useBodyMarkup in Notification object
I think the new name better reflects the effect of the property.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00
Julian Sparber
00c292733d messageTray: Rename bannerBodyText to body in Notification object
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3173>
2024-03-03 01:33:16 +00:00