Commit Graph

15967 Commits

Author SHA1 Message Date
118d556991 unlockDialog: Honor switch user lockdown settings
At the moment user switching functionality is controlled by two
settings:

org.gnome.desktop.lockdown disable-user-switching

for the panel when the session is unlocked, and

org.gnome.desktop.screensaver user-switch-enabled

for the unlock dialog when the session is locked.

Having the lockdown setting not apply when the screen is
locked is counterintuitive.

This commit makes the unlock dialog honor both settings.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1833>
2021-07-22 16:17:29 -04:00
c17601bdee theme: No stroke on entries
- Tobias' mini guadec initiative

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1924>
2021-07-22 14:30:05 +02:00
678b06fc7e Update Galician translation 2021-07-22 06:14:15 +00:00
ca32abc150 Update Russian translation 2021-07-21 10:22:24 +00:00
25ece58538 theme: Add focus indication for dnd switch in message list controls
It currently is difficult to see what's being focused in the messages list
currently because of that.

Fixes #2447

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1920>
2021-07-20 20:58:59 +02:00
7dd7714fd2 popupMenu: Remove can_focus=True from Switch
Since this is a bin and not a button, and it doesn't have any click/keyboard
handling on its own (as in that case it needs a parent button wired like in
the messages list controls), it is confusing that it has can_focus set to
True. To avoid any confusion, this commit removes it without breaking anything
since it had no real use.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1920>
2021-07-20 14:11:28 +02:00
da11d8d7ef ci: Move FDO_UPSTREAM_REPO to global scope
ci-fairy also uses the variable to set the upstream remote that is used
to build the commit range to check.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1922>
2021-07-19 14:15:22 +00:00
bc3ae223f1 ci: Bump ci-templates image
Before building a container image, the code checks that the
repository's container registry is enabled. That check was
broken a while ago, update the image to pull in the fix.

See https://gitlab.freedesktop.org/freedesktop/ci-templates/-/issues/39

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1922>
2021-07-19 14:15:22 +00:00
f579e9dd8e build: Bump gjs dependency to 1.68.1
The changes in 58ed969d need gjs 1.68.1 to work, otherwise this results
in the background image not getting loaded.

Related https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4138
Related https://gitlab.gnome.org/GNOME/gjs/-/merge_requests/595

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1857>
2021-07-18 23:29:26 +00:00
b58f057713 docs: Add README section for default branch
We are about to change it, so briefly outline how to update local
checkouts.

(Copied from glib)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1914>
2021-07-18 21:45:46 +00:00
28f64072ba ci: Fallback to HEAD when checking out branch
... instead of hardcoding origin/master as the default branch.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1914>
2021-07-18 21:45:46 +00:00
df76c3fd11 Update links to use HEAD instead of master
That way the link will keep working when projects change their
default branch name.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1914>
2021-07-18 21:45:46 +00:00
56da0f6561 js: Replace removed Meta.quit()
This one was moved to Meta.Context as well.

I don't know why the `debugexit` command quit with an error code
(it dates back all the way to commit 98bd590a5d). Terminating on
request by the user doesn't sound like an error, so don't replicate
that particular behavior.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1917>
2021-07-18 23:11:43 +02:00
d8be637dca main: Replace Meta.register_with_session()
The functionality moved into the new Meta.Context.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1917>
2021-07-18 23:11:43 +02:00
e726527604 shell/global: Expose MetaContext as property
We'll likely have to interact a bit with the newly added Meta.Context
object, so add a convenience property that gives us direct access
instead of getting it from the display every time we need it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1917>
2021-07-18 23:11:43 +02:00
733a5e1acb Update Indonesian translation 2021-07-17 14:56:16 +00:00
e3a1d84992 location: Split Location.Indicator into a seperate GeoclueAgent
Before this, creating a separate instance of `Location.Indicator` failed
because it tries to create export the same DBus path.

This is useful for extensions adding panels on multiple monitors. But
it also seems like a cleaner design to separate the indicator widget
from the logically separate role as a Geoclue agent.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1919>
2021-07-16 17:51:17 -07:00
51a8bbddd5 location: Add GObject properties to Location.Indicator
Makes `enabled`, `in-use`, and `max-accuracy-level` GObject properties
that can be used for property binding, etc.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1919>
2021-07-16 16:07:30 -07:00
81a1e294f8 ControlsManagerLayout: Allocate respecting the work area
We build controls layout using the whole monitor vertical space as
available, however extensions or external apps in X11 may reduce the
workarea size horizontally and the shell should always take care of it.

Given that we're already assuming that the allocation is monitor-based
and that we're adjusting it to the workarea, we can just make it more
explicit by using a workarea box that is used as the allocation area.

As per this, we also apply the same logic of applied to the vertical
dimension to the horizontal one.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1892>
2021-07-17 00:25:50 +02:00
2b074882f4 ControlsManagerLayout: Consider workarea height for the available space
We always consider the whole workarea space to be available when
computing the controls manager layout, however this may not be the truth
when using extensions such as Window List which are reducing the work
area size.

So take care of it, reducing the box height.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4330
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1892>
2021-07-17 00:25:50 +02:00
f164e08688 ControlsManagerLayout: Use the workarea size to compute the available height
To compute the available height for the layout we're currently using the
panel position, while this works for the current and default setup, the
shell may be configured to use a different workarea, so we should rely on
it to compute the available space, instead of a specific widget.

So get the current monitor index for the current view and use its coordinates
instead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1892>
2021-07-17 00:25:50 +02:00
f30fa1adc7 WorkspaceBackground: Fully take care of workarea geometry on allocation
The background group is currently allocated taking care of the workarea
x, y offset but not of its width/height and this may lead to building a
wrongly sized workspace view when the workarea size is not matching the
monitor size (like when there are struts set).

So, take care of the difference between the workarea and monitor
absolute end coordinates to allocate the background scaled content box.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1892>
2021-07-17 00:25:50 +02:00
28a42da947 status/network: Do not disable on login screen
We currently disable all network items on both the lock- and login
screen. While it makes sense to be very restrictive on the lock screen,
there are some (fringe) use cases for being more permissive on the
login screen (like remote home directories only accessible via VPN).

There's precedence with the power-off/restart actions to be less
restrictive on the login screen, and since we started respecting
the `network-control` polkit action, it's possible to restore the
old behavior if desired.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1874>
2021-07-16 22:21:12 +00:00
4440a8210b sessionMode: Enable networkAgent on login screen
We will soon enable the network sections in the status menu on the
login screen, so enable the network agent to handle authentication
requests (like wifi/VPN passwords).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1874>
2021-07-16 22:21:12 +00:00
d1333cb249 status/network: Consider network-control action
NetworkManager installs a `network-control` polkit action that can
be used to disallow network configuration, except that we happily
ignore it. Add it to the conditions that turn a network section
insensitive.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1874>
2021-07-16 22:21:12 +00:00
d53285d71b status/network: Only list wifi networks that can be activated
Setting up a connection for an Enterprise WPA(2) encrypted wireless
network requires Settings. That's not available when windows are
disabled via the session mode, so filter out affected entries.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1874>
2021-07-16 22:21:12 +00:00
25793b9d97 status/network: Disable modem connection when windows aren't allowed
The item launches the corresponding Settings panel when activated, which
doesn't work when windows are disabled by the session mode. Rather than
failing silently, turn the item insensitive.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1874>
2021-07-16 22:21:12 +00:00
6203668b6c ci: Add job for pushing coverity reports
This job does:
1. Download the coverity bundle and untar it in a cached location
2. Build GNOME Shell using clang and the coverity tool
3. Compress the coverity report
4. Upload for analysis

In a similar setup to that of Mutter.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1913>
2021-07-16 21:49:19 +00:00
37a6434a4d ci: Funnel package list to be built correctly
It was on one hand using multi-line piping (`|`) and trying to
compensate with \ to escape multiple lines, this lead to:

  No match for argument: \

Also, the quoting around pkgconfig() arguments would lead to
double quoting at the shell level, thus:

  No match for argument: 'pkgconfig(gio-2.0)'

Fix both by using multi-line-turns-single-line piping (`>`)
and dropping the unnecessary quotes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1913>
2021-07-16 21:49:19 +00:00
b156cabdc9 swipeTracker: Use unaccelerated deltas
Unaccelerated deltas make sure the gesture works the same regardless of how
fast the fingers move; this is what we were already doing for scrolling.

Remove the swipe multiplier as the deltas already match scrolling other than
the 1/10 multiplier Clutter applies to scrolling specifically.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1763>
2021-07-16 19:37:20 +00:00
20d99c69cb search: Exclude hidden results from keynav
Since commit 3fb02843, we no longer skip allocation for
results that don't fit the width, and give them a 0x0
allocation instead.

That has the unintended side effect of those children now
being available to keynav. There are cases where we want
0-sized actors to be part of the focus chain (e.g. FocusTrap),
but this isn't one of them, so explicitly exclude 0-sized
children from keynav.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1916>
2021-07-15 19:15:36 +02:00
d265dabe03 main: Take over setting signal handlers and changing dir
MetaContext isn't doing this for us anymore, so do it ourself.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1840>
2021-07-15 12:42:17 +00:00
5acab6c300 Port to MetaContext
This ports over gnome-shell and the theme test case to MetaContext,
instead of the various functions that were available before.

The test case is changed to use the special test context, used to
construct contexts for testing. It's part of a shared libary separate
from the main libmutter one.

This enables building mutter tests during CI, as the test framework is
needed by some of gnome-shell's tests.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1840>
2021-07-15 12:42:17 +00:00
4340170e94 st/test-theme: Rename theme context variable
We will later get a pointer to a MetaContext, so avoid that future
naming conflict.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1840>
2021-07-15 12:42:17 +00:00
7f7b515b84 Update Persian translation 2021-07-14 07:22:55 +00:00
df377cc18a Update Slovenian translation 2021-07-13 19:31:32 +00:00
6995c2fa9f shellInfo: Don't destroy source on undo
Destroying the source from an action callback will result in the
notification being destroyed twice:

 - source.destroy() destroys all its notifications

 - a notification destroys itself after an action
   was activated

This results in unwanted log spam when attempting to dispose the
notification for a second time.

There is actually no good reason for destroying the source explicitly,
as sources already self-destruct with their last notification.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1908>
2021-07-13 12:38:51 +00:00
1f4eea12a5 messageTray: Always remove destroyed banners
Currently we only mark the banner as removed if it is destroyed
while in SHOWN or SHOWING state, but not if we're already HIDING
(for example in response to `NotificationBanner::done-displaying`).

If this happens, we'll try to destroy the notification again at
the end of the transition, which leads to (harmless but annoying)
log spam since Notifications were turned into GObjects (that are
disposed when destroyed).

Address this by always marking destroyed banners as removed, while
still only triggering a state update while shown (or in the process
of being shown).

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1908>
2021-07-13 12:38:51 +00:00
850d2a33a8 Updated Spanish translation 2021-07-13 11:47:20 +02:00
607a87738e Update Catalan translation 2021-07-11 21:44:06 +02:00
06b454e32a Update Hebrew translation 2021-07-11 19:38:08 +00:00
2eadd0aa32 Update Bulgarian translation 2021-07-11 08:29:16 +00:00
ae3c36c234 Update Portuguese translation 2021-07-09 14:55:29 +00:00
dc1aec5673 overviewControls: Fix warning on shutdown
ClutterActor unsets its layout manager's :container property during
dispose, so the corresponding vfunc should handle being passed NULL.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1909>
2021-07-08 23:17:01 +00:00
30e49cc3ca iconGrid: Disconnect signals on destroy
Otherwise the handler will trip over unset properties on an object
that is being disposed. Avoid the resulting log spam by disconnecting
the handler in question.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1909>
2021-07-08 23:17:01 +00:00
0e72579364 st/scroll-bar: Fix vertical scrollbars in RTL locales
Commit 0db41a3773 fixed the handling of horizontal scrollbars in
RTL locales, but accidentally applied the translation to *all*
scrollbars when handling handle drags and paging. Fix this by
limiting the mirroring to horizontal bars.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1910>
2021-07-08 23:12:26 +00:00
dc47ca19ba Update Occitan translation
(cherry picked from commit 2d0ee51639b0e267cb5230c841003f0985977cef)
2021-07-08 19:43:48 +00:00
38d9b35ec8 ci: Bump to F34
This bumps both the mutter image to the F34 one, as well as the one used
for review.

This also bumps ci-templates hashes, so that we can use
FDO_DISTRIBUTION_PACKAGES without installing weak dependencies.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1906>
2021-07-07 17:10:17 +02:00
3cfbb48f46 main: Use mallinfo2 when available at build time
`mallinfo` has been deprecated in favor of `mallinfo2`:
```
The fields of the mallinfo structure that is returned by the
older mallinfo() function are typed as int.  However, because
some internal bookkeeping values may be of type long, the
reported values may wrap around zero and thus be inaccurate.
```

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1786>
2021-07-07 14:44:30 +00:00
757501b33a Update Portuguese translation 2021-07-07 13:34:04 +00:00