Commit Graph

17084 Commits

Author SHA1 Message Date
Evan Welsh
9ebde6ca2d ci: Switch ESLint rule eqeqeq to smart mode
This allows comparisons like != null and == null while still erroring
on other usages of == and !=.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2363>
2022-07-06 13:40:44 -04:00
Evan Welsh
4257fc9522 environment: Remove inline import of extensionUtils
The logging function cannot be asynchronous, so move the override
into main.js where ExtensionUtils can be imported at the top level.
Importing ExtensionUtils in environment.js at the top level is not
possible because it would import Main prematurely.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2363>
2022-07-06 13:40:44 -04:00
Evan Welsh
61eef2fb9b extensionUtils: Add utility for setting the current extension
ES modules do not allow exports to be overriden, in anticipation
of the ESM port add a `setCurrentExtension` utility which will
throw if used in the shell. This is tested using a conditional
import of Main.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2363>
2022-07-06 13:40:44 -04:00
Marco Trevisan (Treviño)
71765a1056 js/main: Use warning log level for notifyError
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/697>
2022-07-06 17:14:56 +00:00
Marco Trevisan (Treviño)
1bd9076590 main: Define a custom log writer to dump on structured messages
Even though GNOME Shell is not explicitly using structured logging via
G_LOG_USE_STRUCTURED, GLib uses it as default since 2016 [1], and so
we're de facto using it.

As per this, if backtrace on warnings is enabled, it is ignored since the
log handler isn't used anymore, and no dump is printed.

Thus, replace the default log handlers with writer functions instead, honoring
backtrace-warnings debug string.

[1] https://gitlab.gnome.org/GNOME/glib/-/commit/fce7cfaf40b6e1e50c9140aa0397f5

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/697>
2022-07-06 17:14:56 +00:00
Marco Trevisan (Treviño)
9abf3508fd signalTracker: Use a const variable to hold the tracked object value
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2366>
2022-07-06 18:24:41 +02:00
Marco Trevisan (Treviño)
371da8d394 signalTracker: Correctly guard against invalid GObject.ConnectFlags
We considered any ConnectFlag value major than SWAPPED as invalid, while
it's technically not fully true as we need to ensure that the passed
value is respecting the whole flags mask.
In fact, per se SWAPPED|AFTER (> SWAPPED) is a valid value (even if we
don't support the AFTER value).

But this makes the check more future-proof.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2366>
2022-07-06 18:24:15 +02:00
Marco Trevisan (Treviño)
ad0f11f024 signalTracker: Avoid getting the same owner object proto multiple times
While untracking an object we used to compute it's proto for each signal
we were disconnecting from, while this is not needed when we're just
iterating over all the same owner signals, so let's add few more
functions to compute an object prototype, and repeat the disconnections
in the simplest way we can.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2366>
2022-07-06 18:24:12 +02:00
Marco Trevisan (Treviño)
74720f250e signalTracker: Avoid creating a temporary keys array when clearing
We used to create a temporary array of signal tracker keys and then to
iterate through them in order to untrack the objects, but the Map's can
be iterated directly so let's just use their native forEach.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2366>
2022-07-06 18:24:08 +02:00
Marco Trevisan (Treviño)
68ceed5c28 signalTracker: Avoid doing two maps lookups once they're initialized
Avoid checking if a map contains a value, given that in the case it's
not there, get() will just return an undefined value. And only in such
case we need to set the value.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2366>
2022-07-06 18:24:04 +02:00
Jordi Mas
bb115f11c5 Update Catalan translation 2022-07-06 11:42:25 +02:00
Evan Welsh
83c08e17cf dbusServices: Refactor service utilities from fileUtils into dbusUtils
To enable porting services to ECMAScript modules independently of
the shell, split DBus service utility functions into a new file,
dbusUtils.js

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2365>
2022-07-05 03:41:41 -04:00
Evan Welsh
a88e59c1a8 Adopt EventEmitter class instead of injecting Signal methods
Introduce a new class, EventEmitter, which implements signal
handling for pure JavaScript classes. EventEmitter still
utilizes GJS' addSignalMethods internally.

EventEmitter allows static typechecking to understand the
structure of event-emitting JS classes and makes creating
child classes simpler.

The name 'EventEmitter' mirrors a common name for this pattern
in Node and in JS libraries.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2043>
2022-07-04 18:30:49 -04:00
Florian Müllner
9e30afe678 ci: Try falling back to stable branch before HEAD
For non-MR pipelines, we check for a matching branch or tag name
in mutter. As we use the same naming policy for stable branches
and branch at about the same time, this works generally fine for
branches.

However for tags, it is less unlikely that there is no matching
tag in mutter, in particularly late in a stable cycle when most
changes are translation updates (which are much rare in mutter
than gnome-shell).

Before falling back to main (which is doomed to fail in that case),
try to guess the correct stable branch based on the tag name.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2293>
2022-07-04 17:47:36 +02:00
Alynx Zhou
d14bb7b536 screenshot: Always raise UI to top when opening
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2331>
2022-07-04 13:38:15 +00:00
Alynx Zhou
67a1d3b262 ibusCandidatePopup: Prevent it from covering screenshot UI
If we only raise screenshot UI to top, ibusCandidatePopup can still
cover screenshot UI because each time ibusCandidatePopup updates it's
visibility it will raise it to top and this also happens if we open
screenshot UI via keybinding. This commit fixes it by only raising it
above keyboardBox, because keyboardBox is above all entries in modal
dialogs.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2331>
2022-07-04 13:38:15 +00:00
Alynx Zhou
07d9408420 ibusCandidatePopup: Init it as a top chrome
ibusCandidatePopup actually works as a top chrome because it always
raises itself above top_window_group when updating visibility, so just
initing it as a top chrome instead of initing it below top_window_group.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2331>
2022-07-04 13:38:15 +00:00
Vojtěch Perník
8d9665d39a Update Czech translation 2022-07-04 13:07:52 +00:00
Aleksandr Melman
7fd6836a4f Update Russian translation 2022-07-04 12:41:16 +00:00
Florian Müllner
eff23a87c3 keyboard: Fix updating suggestions visibility
Commit 237ba24dbe added corresponding API to the keyboard actor,
but ended up calling it on the KeyboardManager.

Add the expected method to KeyboardManager that forwards the request
to the keyboard.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2359>
2022-07-03 16:47:12 +02:00
Florian Müllner
2defa96198 layout: Force size of overviewGroup
The overviewGroup's size is currently determined by the coverPane
actor. That actor is only shown during transitions, so we rely on
ClutterFixedLayout including hidden children in its size request.

That odd behavior is about to change, so we need to make sure the
overview still requests the correct size.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2351>
2022-07-02 22:18:19 +00:00
Florian Müllner
abe9ba4b0f layout: Use constraint to resize screenShieldGroup
We want the actor to always fill the entire uiGroup. It seems
better and simpler to express that with a contraint than resizing
it explicitly on every monitor change.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2351>
2022-07-02 22:18:19 +00:00
oreo639
8e87ff2975 ibusManager: Avoid double fork triggering parent death in ibus
Use DO_NOT_REAP_CHILD to avoid a double-fork internally since ibus-daemon
refuses to start with init as its parent.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2345>
2022-07-02 11:04:43 +00:00
oreo639
be52477610 ibusManager: Pass on envrionment variables to ibus-daemon
Previously only DISPLAY was being passed on to ibus, which results in issues
with missing the WAYLAND_DISPLAY or the DBUS_SESSION_BUS_ADDRESS environemnt
variables for example.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2345>
2022-07-02 11:04:43 +00:00
oreo639
4097f9f836 ibusManager: Don't use GNOME_SETUP_DISPLAY
GNOME_SETUP_DISPLAY is only necessary when using xwayland on demand,
which is only supported on systemd, in which case you should consider
using the user service provided by ibus.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2345>
2022-07-02 11:04:43 +00:00
Evert Provoost
47a499bdc4 osk-layouts: Use AZERTY in Belgian layout
The regular `be` layout uses AZERTY like `fr`, so it makes sense
to follow that in the on-screen layout instead of copying the
Dutch layout.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2336>
2022-07-02 00:45:36 +00:00
Jonas Dreßler
4fd2719dc5 windowManager: Handle window dimming animation getting cancelled
When a window with a modal dialog gets minimized and at the same time
the dialog is closed, the WindowDimmer undim animation starts and gets
cancelled when the minimize animation is done, because that unmaps the
window actor.

In this case we want ensure the dimming effect still goes into a
proper state instead of being stuck mid-animation, so listen to
onStopped instead of onComplete for syncing state of the window dimmer.

While at it, clean things up a little and move the check for the
attach-modal-dialogs pref inside the _syncEnabled() function.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5581

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2349>
2022-07-02 00:39:49 +00:00
Jonas Dreßler
31acf30bfa Revert "windowManager: Undim parent when minimizing attached modal"
This reverts commit 78a7cc1836.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2349>
2022-07-02 00:39:49 +00:00
Florian Müllner
b6fe92aca8 ci: Allow flatpak job to fail
The nightly runtime was rebased on a newer freedesktop base, and
all hell broke loose. Unblock our CI by temporarily allowing the
flatpak job to fail.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2355>
2022-07-02 02:16:37 +02:00
Carlos Garnacho
237ba24dbe ibusCandidatePopup: Set OSK candidates list visibility correctly
Right now, we don't pay much attention to visibility hints from IBus
about the candidates list for the OSK suggestions bar. Since some
IMs rely on this visibility being honored, do that.

To fix this, the visibility hints for the lookup table are now
propagated to the keyboard, so the Suggestions actor hides its
internal candidate buttons. Since the Suggestions actor gets its
minimum height from CSS, this does not result in OSK size jumps.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5601
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2347>
2022-06-29 13:44:36 +00:00
Carlos Garnacho
35ff4bfe3c keyboard: Set ornament on selected item in OSK languages popup menu
There is no hint about the currently selected language, but this exists
in the mockups. Add a dot ornament on the language that is currently
selected at the time of showing the OSK languages popup.

Since this popup is created from scratch every time it is shown, and
the popup is torn down with the OSK during replacement. This also
works for further times the languages popup is shown.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5598
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2346>
2022-06-27 16:50:51 +02:00
Aleksandr Melman
335d602c81 Update Russian translation 2022-06-25 18:31:42 +00:00
Daniel Mustieles
947f77c5fb Updated Spanish translation 2022-06-22 11:22:29 +02:00
Florian Müllner
78a7cc1836 windowManager: Undim parent when minimizing attached modal
Minimizing modal dialogs is highly unconventional - and in fact
disabled in our own code - but apps can still do it programmatically.

The parent window shouldn't remain dimmed in that case, so make
sure to re-check dimming when minimizing an attached modal.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2337>
2022-06-21 22:06:01 +00:00
Florian Müllner
c24785ce9f portalHelper: Switch to soup3-based WebKitGTK
The soup2-based version will be discontinued soon, so simply
switch to the (API-compatible) soup3-based version.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2338>
2022-06-21 19:29:02 +00:00
Florian Müllner
367ea00058 build: Default to soup3
Soup3 support was added a while ago, but until now we still
defaulted to the old soup2. For GNOME 43, the default should
be switched[0], so do that.

[0] https://discourse.gnome.org/t/please-build-against-libsoup-3-by-default/10190/2

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2338>
2022-06-21 19:29:02 +00:00
Aurimas Černius
bd6aa47642 Updated Lithuanian translation 2022-06-20 22:20:15 +03:00
Sam Hewitt
98ff66ddba style: Fix margin and color problems in the close buttons
- align the screenshot close button better
- use color changes consistent with other elements

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2309>
2022-06-20 07:43:31 +00:00
Sam Hewitt
ec571eb86f style: Add missing transition timings
- fixes #5211

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2309>
2022-06-20 07:43:31 +00:00
Sam Hewitt
68653d5e61 nm-dialog: Fix icon spacing issue
- fixes #4928

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2309>
2022-06-20 07:43:31 +00:00
Sam Hewitt
01287f6a19 style: Remove shadow on switch users button
- removes a dropshadow from the switch users button on the lockscreen

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2309>
2022-06-20 07:43:31 +00:00
Sam Hewitt
bdbbb782e8 style: Fix rtl oversight on lockscreen notifications
- Fixes #5152

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2309>
2022-06-20 07:43:31 +00:00
Sam Hewitt
2fac6f12ec style: Neutral style for hotcorner ripple
- fixes #5443

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2309>
2022-06-20 07:43:31 +00:00
Sam Hewitt
995e0c1086 style: Adjust close button style
- fixes #5481

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2309>
2022-06-20 07:43:31 +00:00
Olivier Fourdan
ed910a7216 kbdA11yDialog: Use MetaKeyboardA11yFlags
The change in mutter to move keyboard accessibility into backends needs
to be applied in gnome-shell as well, otherwise the keyboard
accessibility dialog cannot work.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2306
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2334>
2022-06-16 09:38:20 +00:00
Jordi Mas
d18ef50668 Update Catalan translation 2022-06-14 23:08:11 +02:00
Milo Casagrande
94e0d399a2 Update Italian translation
(cherry picked from commit 2b7b4c32949d0528e94ece8dabeabb7e65079f57)
2022-06-14 15:31:09 +00:00
Quentin PAGÈS
3bd5319ec5 Update Occitan translation 2022-06-09 20:06:10 +00:00
PhilProg
9eef6ec44c appMenu: Hide overview when pressing on 'Show Details'
If the 'Show Details' in the app menu is pressed, the overview
will hide now, making it consistent with other launch actions.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2329>
2022-06-09 17:51:46 +02:00
Florian Müllner
a06b469fbb st: Only notify on property changes
Since commit 5a23c96bd9 we use EXPLICIT_NOTIFY for properties,
however there are still cases where we still notify unconditionally
from the setter, because we don't check the existing value first.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2325>
2022-06-08 14:16:28 +00:00