18505 Commits

Author SHA1 Message Date
Florian Müllner
c5188aebf1 doc: Remove outdated paragraph on quote style
We stopped differentiating between translatable and non-translatable
strings a long time ago.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3146>
2024-01-27 18:18:23 +00:00
Florian Müllner
8a1f44f10a iconGrid: Don't recreate StIcons on icon theme changes
Now that StIcon updates its texture automatically on icon theme
changes, we only have to recreate icon actors that aren't StIcons.

(This probably only applies to the folder icon in the app grid
where the sub-icons do use St.Icon, but making that assumption
feels dodgy with an API as generic as `createIcon()`)

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3141>
2024-01-26 23:36:25 +00:00
Florian Müllner
671c242958 st/icon: Automatically update on icon theme changes
St.Icon is very commonly used for displaying themed icons, yet so
far updating the icon on icon theme changes is left to the caller.

Unsurprisingly, very few actually do that, with the result that
for most icons, icon theme changes only take effect after a delay
(say, a color change on hover) or not at all.

This is also inconsistent with GTK, where Gtk.Image will automatically
pick up icon theme changes.

Address this by tracking whether the current icon corresponds to
a themed icon, and update it automatically on theme changes if
it does.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3141>
2024-01-26 23:36:25 +00:00
Sam Hewitt
e97175d2bf calendar: Stylesheet clean up & fixes
- added style class for when there are no world clocks present
- restructured the scss to match the widget structure
- cleaned up padding and font color styles
- improved high contrast support

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7324
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3120>
2024-01-26 16:01:37 -03:30
Florian Müllner
569293fad6 build: Remove dummy gi-docgen dependency
Instead, add a provide to the wrap that allows it to be pulled in
by the `find_program('gi-docgen')` call.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3131>
2024-01-26 13:43:28 +00:00
Florian Müllner
79b0c9c726 util: Handle .rc in version comparisons
We somehow missed that the new version scheme include '.rc' when
adding the comparison function, whoops.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3130>
2024-01-26 13:20:07 +00:00
Florian Müllner
b02460fa63 tests: Fix check for global scope pollution
Since commit c570011 dropped the `with` statement, this bit of
the test has only checked for writes to a specific variable
in the file.

There is no direct replacement for `with` here, the best we can
do (I think) is comparing property names on the global objects
before and after the `eval()` call.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3132>
2024-01-26 13:12:40 +00:00
Florian Müllner
ab40b5c711 tools/toolbox: Remove prepare step when setting up classic
The classic styling is no longer build from a subproject, so
there aren't any submodules that need initializing anymore.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3133>
2024-01-25 22:11:22 +00:00
Florian Müllner
1965ddc24f Add .editorconfig
This should ensure that all editors which support
https://editorconfig.org/ use the correct indentation
with spaces (not tabs) by default.

This is hardly a full specification of our coding style,
but it's a correct subset and better than nothing.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3137>
2024-01-25 16:53:36 +00:00
Sam Hewitt
e58cd282e7 style: Be consistent with Adwaita flat elements in High Contrast
- update drawing mixin for buttons to override HC inset in flat style
- drop outlines for app icons in dash

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3143>
2024-01-25 16:46:41 +00:00
Sam Hewitt
703ac12b4a style: Fix issues with OSD buttons in light style
- update drawing mixin to account for missing always_dark colors
- fix button in app grid folder not being always dark

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3139>
2024-01-25 14:33:46 +00:00
Sam Hewitt
b14623c664 dash: Resolve padding and alignment issues with dash items
- revert a change to y-expand on dash items
- clean up the manual padding on dash items in stylesheet
- fix an issue with the running dot being misaligned

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7322
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3119>
2024-01-24 17:51:16 +00:00
Sam Hewitt
38944e1c8f style: Fix color and margin issue in notification and dialog buttons
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3138>
2024-01-24 14:08:12 +00:00
Fran Dieguez
0c120ca727 Update Galician translation 2024-01-24 00:20:51 +00:00
Allan Day
c991239ca2 data: Add Text Editor to the dash by default
Add another app to the dash, to prevent it from being too empty by
default in some situations.

Fixes #7027

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3135>
2024-01-23 12:07:03 +00:00
Florian Müllner
876ca5d2de ci: Bump mutter image
Mutter's wayland-protocols dependency has been bumped, so pull
in the updated image that satisfies it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3136>
2024-01-23 12:49:23 +01:00
Sabri Ünal
97d8d1a687 Update Turkish translation 2024-01-22 08:32:04 +00:00
Daniel Rusek
2fc89d24aa Update Czech translation 2024-01-22 00:46:52 +00:00
Daniel Rusek
7a9903c6bc Update Czech translation 2024-01-22 00:26:29 +00:00
Florian Müllner
731bd212c1 panel: Actually switch to connectObject()
Fixes: 29ba8ab03c ("panel: Use connectObject() for overview signals")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3129>
2024-01-19 19:29:33 +01:00
Florian Müllner
29ba8ab03c panel: Use connectObject() for overview signals
We expect top bar and activities button to be around for the
entire duration of the session, but some extra caution doesn't
hurt.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3126>
2024-01-19 17:56:25 +00:00
Florian Müllner
10f7344336 panel: Remove unnecessary code
Since commit a4660293748, the activities button uses the standard
`:checked` pseudo class in the overview instead of the custom
`:overview`.

As a side effect, the generic handling of the `CHECKED` Atk state
in StWidget now covers the case, and we no longer need to manage
the state explicitly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3126>
2024-01-19 17:56:25 +00:00
Leorize
dad06fa423 keyboard: Add keyboard model configuration support
Enables the use of a new `xkb-model` dconf key to let user configure
their desired keyboard model.

Also included is additional glue for respecting X11Model set at the
system level (ie. via `localectl`).

For simplicity, this assumes the use of one global keyboard model.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2583>
2024-01-19 14:18:38 +00:00
Florian Müllner
11e9fbf264 windowManager: Fix effects of transient wayland windows
On wayland, transient windows don't use the DIALOG window type,
so any effects that special-case dialogs currently pick the
wrong animation.

Fix that with an "animation window type" that is used instead
of the real type.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3125>
2024-01-18 18:15:19 +01:00
Robert Mader
5ab3177acd tests/build: Silence meson deprecation warning
This produced the following warning:
```
DEPRECATION: Project uses feature that was always broken, and is now
deprecated since '1.3.0': str.format: Value other than strings,
integers, bools, options, dictionaries and lists thereof..
```

The resulting value of `SHELL_BACKGROUND_IMAGE` was indeed bogus, not
containing a proper file path.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3123>
2024-01-18 14:25:36 +01:00
Shmuel Melamud
e7734e30bd st/drawing-area: Merge ClutterCanvas to StDrawingArea
Since StDrawingArea is the only user of ClutterCanvas, it is possible
to move ClutterCanvas completely out of Mutter to gnome-shell. This
allows to remove another Cairo dependency from Mutter.

This patch merges ClutterCanvas code extracted from Mutter to
StDrawingArea.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3098>
2024-01-17 09:41:40 +00:00
Florian Müllner
ccdd3f5f53 popupMenu/switch: Follow "show-status-shapes" setting
Whether or not switches include shapes to indicate their ON/OFF
state is currently controlled by the stylesheet.

However there are use cases for both using the HighContrast style
without shapes, and for using shapes with the regular styesheet,
so follow the newly added "show-status-shapes" setting instead.

https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2675

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3107>
2024-01-17 04:30:11 +00:00
Florian Müllner
672ca4a1c5 popupMenu/switch: Use icons for state indicators
The indicators are currently part of the background image in the
high contrast theme. Using symbolic icons instead allows separating
the switch shapes from the high-contrast setting in the future.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3107>
2024-01-17 04:30:11 +00:00
Florian Müllner
3dec080324 data: Strip blanks from SVG icons
The size reduction will be modest, but given that there's no downside,
it's still a good idea.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3107>
2024-01-17 04:30:11 +00:00
Florian Müllner
2df9b025eb ci: Bump mutter image
... to pull in an up-to-date gsettings-desktop-schemas version.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3107>
2024-01-17 04:30:11 +00:00
Florian Müllner
7e0209f905 build: Make g-ir-scanner warnings fatal when werror is set
This should help catching problems with introspection in CI.

Adapted from Sebastian Wick's corresponding mutter change
in https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3528.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3121>
2024-01-16 23:51:13 +00:00
Barnabás Pőcze
c227d0b38e status/backlight: Do only one dbus call per local change
The values of the two control widgets are syncronized, meaning
that both emit signals when the local value changes, regardless
which one is visible and is actually used by the user.

This is not ideal because it leads to two dbus calls
per local change. To alleviate this, only consider
changes from the widget that is visible.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3086>
2024-01-16 23:30:42 +00:00
Barnabás Pőcze
be944ff2dc status/backlight: Fix keyboard backlight infinite loop
The logic could enter an infinite loop because it tried to
propagate local changes to g-s-d that were caused by signals sent
by g-s-d. For example:

  1. slider is set to 50
  2. Set(50) dbus call is sent
  3. slider is set to 51
  4. Set(51) dbus call is sent
  5. PropertiesChanged arrives due to Set(50)
  6. this._sliderItem.value is set to 50
  7. notify::value is emitted from this._sliderItem
  8. Set(50) dbus call is sent
  9. PropertiesChanged arrives due to Set(51)
 10. this._sliderItem.value is set to 51
 11. notify::value is emitted from this._sliderItem
 12. Set(51) dbus call is sent

To alleviate this issue, block signal handlers when the local state is
changed due to a remote event.

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

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3086>
2024-01-16 23:30:42 +00:00
A S Alam
f2e51cb722 Update Punjabi translation 2024-01-16 13:35:23 +00:00
Sam Hewitt
7abe91918f style: Add lockscreen style to entry drawing mixin
- include style condition to entry drawing mixin to accommodate transparent bg on lockscreen
- see https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6802 and https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3109#note_1970652

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7326
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3118>
2024-01-15 22:45:25 +00:00
Florian Müllner
17b7162121 closeDialog: Close existing dialogs on shutdown
Otherwise mutter will request to hide the dialog when the meta
context is destroyed, but at the JS context has already shut down,
resulting in a crash.

Close https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7328

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3117>
2024-01-15 22:40:47 +00:00
Florian Müllner
655eb672d6 tools/toolbox: Add meson test convenience wrapper
It can be fairly tedious to enter a toolbox and invoke `meson test`
with the right build directory, so add a companion script to the
existing meson-build.sh to handle that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3114>
2024-01-15 17:27:46 +00:00
Florian Müllner
96ecdba855 tools/toolbox: Expose --wipe meson flag
It's useful when the existing build directory became invalid,
for instance after a meson update, and exposing it directly
from the wrapper script is more convenient than removing the
directory or entering the toolbox manually to invoke meson.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3113>
2024-01-15 17:18:09 +00:00
Florian Müllner
26e8408b92 tools/toolbox: Consistently handle option parsing failures
`getopt` already prints a message on parse errors, but it still
seems like good style to point to --help as we do elsewhere.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3113>
2024-01-15 17:18:09 +00:00
Florian Müllner
f1422dff83 tools/toolbox: Consistently abort on failure
Unlike the other scripts, meson-build currently doesn't set
the `-e` option. The script is mainly a wrapper around a single
toolbox call, but it means that any errors during option parsing
print a warning, but are otherwise ignored.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3113>
2024-01-15 17:18:09 +00:00
Florian Müllner
41b94ccf11 extensions-app: Remember window state
It's good practice to save and reload the window size and
maximization state, and easy enough to implement, so let's
do that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3115>
2024-01-13 23:44:35 +01:00
Danial Behzadi
2d380a3995 Update Persian translation 2024-01-13 00:49:29 +00:00
Florian Müllner
3099bfc571 tests: Add fittsy test
Both the dash and top bar items are expected to extend to the
screen edge, to make them easier click targets according to
Fitts' law.

This has the tendency to break fairly regularly, so add a small
test that checks the Fittsiness of the show-apps and activities
buttons to catch regressions.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7318
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3111>
2024-01-12 20:29:10 +00:00
Sam Hewitt
b3d3fb79ae style: Fix panel and dash to account for mouse travel
- rework overview-icon styles for the dash so they extend to the edge of the screen once again
- revert changes to panel_button mixin
- rework panel_button mixin to be more flexible
- fixes #7318

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3112>
2024-01-12 16:14:59 +00:00
Florian Müllner
3f4f74689e notificationDaemon: Stop special-casing Empathy
Our telepathy component has been optional for years, and it is
disabled by default on major distros, so we cannot assume that
it handles any particular notifications.

Plus Empathy itself is mostly dead, so it's unlikely to be used
much anymore anyway.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3110>
2024-01-12 14:23:23 +00:00
Sam Hewitt
a917644fad style: Refactor the button and entry drawing css
- use a single button mixin for all buttons with a saner 'style' parameter
- rework the entry mixins to be similar to the buttons'
- clear out all unused or deprecated mixins
- create some drawing functions for focus ring and high contrast inset
- replace instances of old mixins with the new

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3109>
2024-01-11 19:27:59 +00:00
Balázs Meskó
76abf806e4 Update Hungarian translation
(cherry picked from commit b3690409929c425b1b9afeb297d38e517d0af8fd)
2024-01-11 19:22:20 +00:00
Georges Basile Stavracas Neto
36b3a995eb data: Remove gnome-shell.portal
Now that xdg-desktop-portal-gnome implements the Access portal
interface, GNOME Shell doesn't have to be the portal backend for
that anymore.

The D-Bus implementation is still preserved, because internally,
xdg-desktop-portal-gnome may still proxy the Access call to GNOME
Shell when the parent window is not available. That's a private
exchange between xdg-desktop-portal-gnome and GNOME Shell though,
and doesn't require GNOME Shell to be a full portal backend.

See https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome/-/merge_requests/140

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3106>
2024-01-10 15:36:01 +00:00
Florian Müllner
812270fee3 overviewControls: Subclass layout manager directly
All the ControlsManagerLayout uses from BoxLayout is the spacing
property, both size requests and allocation are completely custom.

That makes subclassing really questionable, so stop doing that
and just hook up to the `spacing` style property manually.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3104>
2024-01-10 15:26:44 +00:00
Florian Müllner
64b7249405 st/settings: Don't notify "icon-theme" on "high-contrast" changes
Since commit e831a924, the two are no longer linked.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3105>
2024-01-10 15:14:53 +00:00