Commit graph

18219 commits

Author SHA1 Message Date
Florian Müllner
b13cce579e Revert "screencastService: Add dmabuf/GL pipeline"
The pipeline contains a GST plugin that pops up an unclosable
window. That's utterly confusing, so back out of the change
until this is figured out.

This reverts commit b916ced2e6.
Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6763
2023-10-31 22:45:56 +00:00
Sebastian Keller
9bdca96abf Revert "shell/window-tracker: Exclude screen recorder window"
This reverts commit 575ba13b9b.

That commit did not actually prevent the "Unknown" application from
showing up in the dash or app switcher when the recorder was running,
but it introduced a problem with Proton which also uses gstreamer OpenGL
elements in its transcoder. This was causing the overview to get stuck
while the transcoder was running due to the app for the
"OpenGL Renderer" window being null.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7042
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3000>
(cherry picked from commit bf742c3926)
2023-10-31 22:45:56 +00:00
Sebastian Keller
38bf547ce7 calendar: Emit selected-date-changed before rebuilding the calendar
If the cursor was placed on one of the widgets that get removed when
rebuilding the calendar due to a month change, destroying the hovered
widget will trigger a repick. This repick can then trigger an allocation
while not all buttons of the calendar are present.

If the last allocation before selected-date-changed is emitted was from
such an incomplete state, DateMenuButton will still freeze the layout in
this state in its signal handler.

What freezing the layout in DateMenuButton is supposed to do is to
prevent size changes of the menu when changing days, but for this the
layout needs to be frozen before potentially rebuilding calendar. This
change ensures that by emitting the signal earlier.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5411
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5469
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2989>
(cherry picked from commit 23bcff3348)
2023-10-31 22:45:56 +00:00
Alessandro Bono
ae5e8fa924 screenShield: Use duration 0 when not animating
Instead of using a special branch for the not animate case, just use
the same path with duration 0.

Since commit ee09c5c853 we are sure that
duration 0 is always preserved.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2987>
(cherry picked from commit b4676f0e9e)
2023-10-31 22:45:56 +00:00
Alessandro Bono
7d2014da71 popupMenu: Use duration 0 when not animating
Instead of using a special branch for the not animate case, just use
the same path with duration 0.

Since commit ee09c5c853 we are sure that
duration 0 is always preserved.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2987>
(cherry picked from commit 46219b1101)
2023-10-31 22:45:56 +00:00
Alessandro Bono
ef7a14c69d messageTray: Use duration 0 when not animating
Instead of using a special branch for the not animate case, just use
the same path with duration 0.

Since commit ee09c5c853 we are sure that
duration 0 is always preserved.

In the not animate case, we now call this._updateState(). This was not
happening before.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2987>
(cherry picked from commit 1571171a21)
2023-10-31 22:45:56 +00:00
Alessandro Bono
902c373249 messageList: Use duration 0 when not animating
Instead of using a special branch for the not animate case, just use
the same path with duration 0.

Since commit ee09c5c853 we are sure that
duration 0 is always preserved.

In the not animate case, we now call this._actionBin.hide(). This was not
happening before.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2987>
(cherry picked from commit be49c8efc2)
2023-10-31 22:45:56 +00:00
Martin Zurowietz
0226bd273d js: Export variables and classes for Workspace Matrix extension
Most of these were "var" before the port to ESM (!1499). Here they
are exported again.

References !1499

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2978>
(cherry picked from commit 7d835bf455)
2023-10-31 22:45:56 +00:00
Georges Basile Stavracas Neto
9068666077 style: Always use light text for recording indicator
The red tone that the recording indicator uses as background doesn't
lend itself well to dark text and icon on top. Stick to a light color.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7112
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2983>
(cherry picked from commit 80f6fb79c3)
2023-10-31 22:45:56 +00:00
Florian Müllner
5de44898d9 shell/app: Adapt to focus changes in mutter
meta_window_raise_and_make_recent() now only works as advertised
for windows on the active workspace.

That results in the following unexpected behavior:
 1. open two windows of an app (say: terminal)
 2. open another app, maximize the window for best effect
 3. switch to another workspace
 4. super+tab to the first app: both windows are raised
 5. close the window; instead of moving focus to the
    2nd app window, both windows disappear because focus
    is moved to the app from 2

This was fixed with new mutter API on the main branch, but
for the stable branch it is easier to work around the issue.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2959>
2023-10-31 21:44:27 +01:00
Hugo Carvalho
92780927cd Update Portuguese translation 2023-10-26 22:09:31 +00:00
Марко Костић
acf5593bf8 Update Serbian translation 2023-10-24 04:04:29 +00:00
Efstathios Iosifidis
e1e654bb16 Update Greek translation 2023-10-16 18:59:00 +00:00
Evangelos Skarmoutsos
a3b1b13184 Update Greek translation
(cherry picked from commit 5580bd79a9)
2023-10-16 18:15:00 +00:00
Brage Fuglseth
ebf2f80360 Update Norwegian Bokmål translation 2023-10-15 19:13:33 +00:00
Brage Fuglseth
88fe5afe47 Update Norwegian Bokmål translation 2023-10-11 15:31:33 +00:00
Sundeep Mediratta
5e6ce1cce6 workspaceAnimation: Handle DESKTOP windows
Windows of type DESKTOP are currently handled like all other sticky
windows, and stick to the monitor while the animation happens in the
background.

This behavior is odd for desktop windows, which are otherwise always
kept underneath regular windows.

Instead, make them part of the background, so they keep the expected
stacking position and animate together with the workspace.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2865>
2023-10-11 13:10:18 +02:00
Florentina Mușat
e7bf451169 Update Romanian translation 2023-10-09 19:43:33 +00:00
Changwoo Ryu
5adf0146d9 Update Korean translation 2023-10-07 13:13:12 +00:00
Sabri Ünal
5434dc4708 Update Turkish translation 2023-10-07 06:37:11 +00:00
Sebastian Keller
fae5bdaa00 st/scroll-view: Use clutter_actor_get_effect() to get fade effect
Storing the pointer to the fade effect only works as long as we control
all the code that can modify the effects of an actor, but this is not
the case in the presence of extensions. Apparently some extension
manages to remove the effect, which leads to fade_effect pointing to
some invalid address by the time dispose is called, leading to a crash.

This instead uses clutter_actor_get_effect() to get the effect when it
is needed to avoid crashing in these situations.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6521
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2974>
2023-10-06 15:01:42 +00:00
Cheng-Chia Tseng
eaa20d951d Update Chinese (Taiwan) translation 2023-10-05 08:04:13 +00:00
Daniel van Vugt
4e2dddd18e layout: Destroy panel barrier on shutdown
It was being leaked, which is detected on mutter shutdown.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3011
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2975>
2023-10-03 15:00:45 +08:00
Sabri Ünal
388d2b9faa Update Turkish translation 2023-10-01 18:29:47 +00:00
Ekaterine Papava
07632a7eec Update Georgian translation 2023-09-30 12:47:03 +00:00
robert.mader@collabora.com
a94fcee961 overview: Handle unredirection in OverviewShown state machine
Under certain unknown circumstances currently not every
`disable_unredirect_for_display()` gets matched with an
`enable_unredirect_for_display()` when closing the overview.

As we only want to not disable unredirection when hidden and we nowadays
have a state machine that ensures we transition to and from one state to
another only once, handle unredirection en-/disablement as part of the
state transition.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2970>
2023-09-27 11:38:16 +02:00
Fabio Tomat
b1a27d6086 Update Friulian translation 2023-09-26 09:46:19 +00:00
Florian Müllner
6f7f0f369b status/system: Use Intl to format battery percentage
The exact way of formatting a percentage value is locale specific:
https://en.wikipedia.org/wiki/Percent_sign#Correct_style.

We account for that by marking the string for translations, but then
get it wrong for the default US locale (go us!).

But given that the javascript engine itself provides us with a way
of formatting a percentage in a locale-specific way, that seems the
better option than putting the burden on our own developers and
translators.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7005
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2966>
2023-09-22 17:03:17 +00:00
Carlos Garnacho
2baa298e39 slider: Ignore left/right scroll directions
Both of these ended up with a "undefined" delta, which turned
the final value into 0 no matter the previous state.

While this was already fixed for touchpads in the previous commit
(by not forwarding emulated discrete events), this looks somewhat
out of place even for the mice that have left/right discrete scroll
actions (e.g. tilting the scroll wheel left or right).

Let these unhandled directions have a delta of 0, and focus on
vertical scroll for both smooth and discrete events.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2967>
2023-09-22 17:55:12 +02:00
Carlos Garnacho
10b0e283e9 slider: Fix check for emulated scroll events
The name given by g-i is actually FLAG_POINTER_EMULATED, this
made the check slightly ineffective, handling both real and
emulated events in the case of touchpad scrolling.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2967>
2023-09-22 13:29:31 +02:00
Jordi Mas
70a0c2f919 Update Catalan translation 2023-09-19 20:09:10 +02:00
Florian Müllner
2127c62b21 Bump version to 45.0
Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2960>
2023-09-16 20:27:58 +02:00
Florian Müllner
54d68344a2 extensions-app: Update metainfo screenshots
With the new libadwaita widgets, the overall look has changed,
so it's time to retake the screenshots.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2960>
2023-09-16 20:27:58 +02:00
Florian Müllner
575ba13b9b shell/window-tracker: Exclude screen recorder window
The pipeline contains a GST plugin that pops up an unclosable
zero-sized window.

Unfortunately we did not manage to come up with a proper fix
in time, so for now explicitly exclude it from app tracking.

This does not address all issues (it still prevents the
window's workspace from getting removed, even when it appears
empty), but at least it avoids the most confusing effect by
preventing the "app" from showing up in dash, alt-tab etc.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2956>
2023-09-16 11:40:58 +02:00
Artur S0
c6e577f1bd Update Russian translation 2023-09-16 08:57:30 +00:00
Rūdolfs Mazurs
cdf1c5aaec Update Latvian translation 2023-09-16 06:18:55 +00:00
Florian Müllner
41907e9a56 extensions: Fix ngettext convenience
It is hooked up to the extension's 'gettext' function rather
than 'ngettext'.

Fixes: f59d523694 ("extensions: Add static defineTranslationFunctions() method")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2952>
2023-09-15 21:41:30 +00:00
Khalid Abu Shawarib
405b549a05 slider: Reverse handle direction in RTL
Rework slider handle to reverse directions when the slider is
Right-to-Left.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5107
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2943>
2023-09-15 20:52:14 +03:00
Khalid Abu Shawarib
c777425d39 barLevel: Reverse direction in RTL
Rework drawing and calculations to reverse the bar direction
when the bar is Right-to-Left.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2943>
2023-09-15 20:52:14 +03:00
Florian Müllner
ba46a1cf54 extensionSystem: Update immediately after major upgrades
Currently we periodically check for updated extensions, prepare
an update and perform it at the next login.

This is largely due to the fact that once an extension has been
loaded, its code is cached and reloading it would only make it
*appear* as updated, while in reality still running the old code.

Of course this only applies *once* we have loaded extensions.

Before that, it's possible to download and install updates, and
only then initialize extensions with their latest version.

The trade-off is that network requests, data download and extraction may
introduce a significant delay before extensions
are enabled. Most extensions modify the UI one way or another,
so that delay would likely be noticeable by the user.

Assuming that users are usually happy enough with the current
extension version, that trade-off doesn't seem worthwhile.

However there is an exception: After a major version update,
extensions are likely disabled as out-of-date, or at least
more likely to break (when the version check is disabled).

In that case delaying extension initialization to download
and install updates looks like the better trade-off, so do
that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2951>
2023-09-15 12:54:41 +00:00
Carmen Bianca BAKKER
1cc5e770ea Update Esperanto translation 2023-09-14 20:58:35 +00:00
xiaofan
050d0e10c7 ibusManager: Add missing environment variables required to launch ibus-daemon
IBus requires XAUTHORITY and XDG_RUNTIME_DIR to be able to spawn its XIM
implementation correctly. Using launch context to get environment can correctly
launch on non-systemd setups.

Closes: #6998

Signed-off-by: xiaofan <xiaofan@iscas.ac.cn>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2947>
2023-09-14 16:02:29 +00:00
Florian Müllner
ee11ecac46 main: Remove transitions from child adjustments
When commit 4d963c432b introduced the global workspace adjustment,
it mostly copied the adjustment handling from the overview that it
set out to replace.

That includes cancelling ongoing transitions when the number of
workspaces changed. However that missed that transitions don't
happen on the main adjustment, but on the "child" adjustments
returned from `createWorkspacesAdjustment()`.

Address this by tracking all child adjustments, and cancel transitions
there as well when necessary. Use weak refs to not
interfere with garbage collection, in case an extension creates
its own child adjustment.

Fixes: 4d963c432b ("main: Introduce global workspaces adjustment")
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7000
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2949>
2023-09-14 16:46:31 +02:00
Irénée THIRION
fd71868f69 Update French translation 2023-09-11 23:12:12 +00:00
Rafael Fontenelle
4408641f84 Update Brazilian Portuguese translation 2023-09-11 14:36:47 +00:00
Matej Urbančič
bc6a7fff00 Update Slovenian translation 2023-09-11 13:56:13 +00:00
Rafael Fontenelle
c2a86ab260 Update Brazilian Portuguese translation
(cherry picked from commit 5e052b227c)
2023-09-11 13:50:41 +00:00
Hollow Man
8a5a25e6d3 js: Fix calendar scroll
Update to Clutter.Event getter methods in Clutter.Actor vfuncs
as the old way no longer works

Related to https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2872

Signed-off-by: Hollow Man <hollowman@opensuse.org>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2946>
2023-09-09 14:05:27 +02:00
Jordi Mas
8ae5d7d97d Update Catalan translation 2023-09-09 03:50:45 +02:00
Carlos Garnacho
bc3b890e75 keyboard: Only reset to the default level on unlocked latched levels
Reportedly, non-alphanumeric key levels were able to stick by
happenstance, and let the user press multiple keys until explicitly
switching to a different mode. Reportedly, this broke, switching to
the default level after the first key press on the additional levels.

Since we have this information in the OSK key models (each level has
a "mode" field to either default/latched/locked), retrieve this
information for them for each level, and only reset to the default
level if on one of those latched levels, and the relevant key was not
locked through long-press.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5763
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2945>
2023-09-08 19:42:38 +00:00