18474 Commits

Author SHA1 Message Date
Florian Müllner
1f22c6681a docs: Expand contribution section in README
Provide a link to the relevant handbook section and some guidance
for submitting a successful merge request, instead of just throwing
two links at the user.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
2024-01-27 22:23:24 +01:00
Florian Müllner
afc2a7d652 docs: Add section on feature requests
Small and well-defined feature requests can be very useful, but
unfortunately too many are neither small nor well-defined.

Try to improve on that by adding another README section that
explains that changes need design approval, and points to
appropriate places to have broader design discussions,
hopefully without being too off-putting.

While this is unlikely to stop all "bad" feature requests, it
at least gives us something to point to when closing requests.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
2024-01-27 22:23:24 +01:00
Florian Müllner
5b7ae5de65 docs: Elaborate on issue reporting
We currently just link to the issue tracker without providing
any further guidance.

Improve on that by pointing to the appropriate handbook chapter,
point out extensions as a possible source of issues, and direct
users towards discourse/matrix for support/discussions.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
2024-01-27 22:23:24 +01:00
Florian Müllner
6e18c00ab8 docs: Elaborate on supported versions
The link to the GNOME schedule was added because of some confusion
of which versions are supported upstream. Briefly outline the
policy of "last two stable + current main", so that the information
can also be deduced from tags etc. without scrolling through the
schedule calendar.

While at it, update the link to the schedule to point to the
future release.gnome.org page.

Death to the wiki!

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
2024-01-27 22:23:24 +01:00
Florian Müllner
9f5a323e06 docs: Split commit message conventions from README
We currently only have a very brief outline of the commit message
conventions in the README.

Improve on that by splitting out the relevant section into a separate
file that outlines all conventions we use in addition to the general
guidelines in the [handbook].

[handbook]: https://handbook.gnome.org/development/commit-messages.html

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
2024-01-27 22:23:24 +01:00
Florian Müllner
1fdbd776c4 docs: Mention code of conduct in README
All project interactions are subject to the code of conduct,
so it seems like a good idea to explicitly mention that in
the README.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
2024-01-27 22:23:24 +01:00
Florian Müllner
50db4e5e1b docs: Remove project wiki reference from README
The wiki is in the process of being retired, so we should stop
linking to it.

Death to the wiki!

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
2024-01-27 22:23:24 +01:00
Florian Müllner
28df714ded docs: Drop default branch section from README
It's been more than 2 ½ years since we renamed the default branch,
people have probably got the message by now.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
2024-01-27 22:23:24 +01:00
Florian Müllner
f4c062d937 docs: Add debugging information
The current debugging page on the wiki is fairly outdated and
very X11-centric, so base the new page on the recently added
mutter documentation instead, but with a bigger focus on
Javascript debugging.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
2024-01-27 22:23:24 +01:00
Florian Müllner
6871b7aa20 docs: Document how to build and run gnome-shell
While we use the standard meson build steps, our dependencies
are non-trivial and running the shell can be tricky; it's
certainly worth documenting.

This is also a good opportunity for plugging out toolbox tooling.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
2024-01-27 22:23:24 +01:00
Florian Müllner
05e27fd59a docs: Document C coding style
We have a fair bit of C code, yet don't document the expected
coding style. This is not much of an issue for regular GNOME
contributors as we are following the conventions of the wider
project (glib, gtk, clutter, ...), but it's still better to
spell it out.

Do that by adapting the corresponding documentation from mutter.

Even if much of our C code doesn't match all the new guidelines,
it's good to consolidate the coding style between both projects.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
2024-01-27 22:23:24 +01:00
Florian Müllner
96e27f0e7d docs: Update title of coding style guide
We are about to add a C coding style, so make clear that the
existing coding style doc refers to JS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
2024-01-27 22:23:24 +01:00
Florian Müllner
98464868c7 docs: Move HACKING
Start consolidating project-wide documentation in the docs/ folder.

While at it, change the name `js-coding-style`, which is both less
ominous and allows for an accompanying `c-coding-style`.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
2024-01-27 22:23:10 +01:00
Florian Müllner
c345dac9d9 docs: Use dashes in filenames
Mutter's documentation was extended recently, with files using a
pattern of `some-stuff.md`. There is no strong argument for using
camel case, so switch to the same pattern as mutter to remove some
unnecessary friction for people who contribute to both projects.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
2024-01-27 22:22:11 +01:00
Florian Müllner
77e3ea3451 docs: Use consistent spacing
Sometimes we use a blank line between heading and paragraph,
sometimes we don't. Settle on the former.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
2024-01-27 22:22:11 +01:00
Florian Müllner
0b1dab120f docs: Use mutter.gnome.org URL for API docs
Mutter has a new public website, so use that for its API docs
instead of gitlab pages.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3122>
2024-01-27 22:22:11 +01:00
Florian Müllner
a6d35fdd2a ci: Check snippets in coding style
To avoid having the coding style get out of sync with the actual
coding style in the future, run eslint on the individual snippets
when either the guide or the linter config change.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3146>
2024-01-27 18:18:23 +00:00
Florian Müllner
b496a9cf9f doc: Use valid code in snippets
Some of the code examples use invalid code like `var` as variable
name or declarations in a single-statement context.

Fix those.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3146>
2024-01-27 18:18:23 +00:00
Florian Müllner
01a386b286 doc: Fix style errors in coding style
As we've adapted our coding style, the corresponding documentation
hasn't always caught up. Fix the errors that eslint would point
out if it checked the code snippets.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3146>
2024-01-27 18:18:23 +00:00
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