summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* style: Fix inconsistency in app folder entry styleHEADwip/snwh/entry-theme-consistencymainSam Hewitt2023-05-171-1/+0
| | | | Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2768>
* popupMenu: Replace ornament unicode with iconsmaniacx2023-05-177-18/+22
| | | | | | | | | | | | | Ported from Sam Hewett's Merge-Request. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2308#8714a3530d73823716c0f8334aceaabeaccd01b7 The CHECK ornament used in powerprofile and volume control is not very pleasant looking, specially if system font is changed. Replace CHECK and DOT unicode ornament with revelant icons in popupMenu. Solves issue: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6055 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2767>
* style: Scale calendar heading with font sizeSebastian Keller2023-05-171-1/+1
| | | | | | | | | | Using a fixed pixel size can result in the cell being too small for the contained label. Instead use em to scale with the font size like is done for the other cells. The chosen size corresponds to 16px with the default font settings. Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6651 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2759>
* tools/create-toolbox: Allow setting up support for GNOME ClassicFlorian Müllner2023-05-161-1/+19
| | | | | | | As unbeloved as it is, it still needs testing. Make that a tad bit less annoying by automating the setup. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>
* tools/create-toolbox: Allow enabling additional localesFlorian Müllner2023-05-161-0/+20
| | | | | | | | Out of the box, the container images only support US English. It can sometimes be necessary to use a different locale, so add a convenience flag to enable support for additional locales. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>
* tools/create-toolbox: Optionally create Builder configFlorian Müllner2023-05-161-1/+30
| | | | | | | | | | It is possible to run gnome-shell nested from gnome-builder, but the setup is fairly tedious. Add another option to the script to generate a suitable .buildconfig file. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>
* tools/create-toolbox: Allow skipping mutter buildFlorian Müllner2023-05-161-1/+8
| | | | | | | | | | | The container is useless for building or running gnome-shell unless it includes the correct mutter version, so building it by default makes sense. However a manual build can be significantly faster when there's an existing build dir, so add an option to skip the automatic build. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>
* tools/create-toolbox: Allow replacing existing toolboxFlorian Müllner2023-05-161-2/+11
| | | | | | | | | | | | A toolbox created by the script can be used as the base of a pet container that is manually updated with new dependencies over time and accumalates additional packages; or it can be used as a deposable container that is recreated each time the dependencies change. To make the latter case more convenient, add a --replace option that deletes an existing toolbox before creating the new one. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>
* tools/create-toolbox: Add convenience scriptFlorian Müllner2023-05-161-0/+80
| | | | | | | | The script is a thin wrapper around `toolbox create`, mainly to avoid the tedious image names. In addition, it allows us to ensure that the container includes a matching mutter version. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>
* ci: Produce toolbox imagesFlorian Müllner2023-05-162-1/+111
| | | | | | | | | | | | | | | | | | | | | | Toolbox is a convenient option for development, but setting up the image with all dependencies is annoying at best, in particular later in the cycle when `dnf builddep` is likely insufficient. To address that, produce toolbox images for main and stable branches that are based on the regular CI image, and update them whenever the image version is updated. This guarantees that all build- and runtime dependencies are included. Unsurprisingly, the script that produces the image draws heavily from freedesktop's ci-templates. The most notable difference (other than being neither distro-agnostic nor generic) is that tag names are fixed (toolbox:main, toolbox:43 etc.) to make them easier to consume. Instead, whether an image needs rebuilding is based on a custom label that records the base image that was used. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>
* mpris: Fall back to app icon firstFlorian Müllner2023-05-151-0/+3
| | | | | | | | When no cover art is available, the app icon at least allows distinguishing between different players, so try falling back to that before using the generic icon name. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2755>
* mpris: Expose player appFlorian Müllner2023-05-151-8/+13
| | | | | | This will allow accessing it from the notification. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2755>
* Update Hebrew translationYosef Or Boczko2023-05-151-112/+122
|
* Update Catalan translationJordi Mas2023-05-121-92/+112
|
* Update French translationGuillaume Bernard2023-05-121-50/+68
|
* Update Italian translationGianvito Cavasoli2023-05-111-729/+584
| | | | (cherry picked from commit e8d2012983e4883c849b7755cb01c92db2b821e6)
* polkitAgent: Fix closing dialog properlyJoan Torres2023-05-091-1/+0
| | | | | | | | When pressing the close button on the dialog the polkit request isn't completed leaving the polkit agent blocked unable to handle new requests. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2761>
* shell: Use swapped signal connection for MetaWindowActor::destroyCarlos Garnacho2023-05-031-2/+2
| | | | | | | | | | | | | | | | The callback would schedule a clutter_actor_destroy() on the first argument. Unless told otherwise, this is the same actor that is already being destroyed, so this is a no-op. Instead, the intent is to make the clone follow up destruction of the window actor so that it results in correct removal of this window from the ShellWindowPreviewLayout. Use a swapped connection to pass the clone actor as the first argument of the signal callback. Fixes: 04c781674c ("Move WindowPreviewLayout from JS to C") Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6570 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2756>
* style: Adjust the tooltip style; fix inconsistency with screenshot UISam Hewitt2023-05-022-4/+3
| | | | | | | | | | - remove screenshot tooltips using a style different from other tooltips - tone down how dark they are - fix missing background adjustment for high contrast Fixes #6660 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2757>
* Update Turkish translationSabri Ünal2023-05-011-107/+116
|
* Update Finnish translationJiri Grönroos2023-04-291-95/+110
| | | | (cherry picked from commit 60200c88a85d0952500fa9b2a7d25384c65f37b7)
* Update Friulian translationFabio Tomat2023-04-291-11/+11
|
* Update Friulian translationFabio Tomat2023-04-281-107/+115
|
* screencastService: Fixup pipeline fallback behaviorJonas Dreßler2023-04-261-2/+7
| | | | | | | | | | | Calling _teardownPipeline() before _tryNextPipeline() was actually not a good idea, it sets the pipelineState to STOPPED, which means we can't try any of the following pipelines anymore. Instead what we want to do is set the pipeline state of the old pipeline to NULL when trying a new one, without calling _teardownPipeline() for that. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2754>
* screenshot: Remove leftover code in property getterJonas Dreßler2023-04-261-3/+0
| | | | | | | According to Ivan (author of that piece of code), this is most likely a leftover from a refactor and has no purpose anymore, so remove it. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2753>
* glsl-effect: Don't overwrite the framebuffer's alpha/X channelDaniel van Vugt2023-04-261-1/+1
| | | | | | | | It's a waste of effort and will also taint screenshots if they accidentally store that channel as alpha. Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6389 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2650>
* Remove keyboard shortcut to open the app menu in the panelJonas Dreßler2023-04-264-25/+0
| | | | | | | | Now that the app menu indicator is no longer shown, it shouldn't be possible to toggle the popup menu via keyboard shortcut anymore, so remove the code and gsettings definitions for that. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2610>
* panel: Remove the appMenu indicatorJonas Dreßler2023-04-261-1/+1
| | | | | | | | | | | Over time the app menu has proved to be an issue and lately there has been some movement to fix that (see also https://gitlab.gnome.org/Teams/Design/os-mockups/-/issues/198). As a first step, let's stop showing the indicator (not removing the code yet) so that we can iterate on a more elegant solution. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2610>
* screencastService: Add dmabuf/GL pipelinerobert.mader@collabora.com2023-04-261-0/+9
| | | | | | | | | | | | | | This pipeline imports dmabufs and does format conversion using GL. The `video/x-raw(memory:DMABuf)` filter ensures format negotiation between `pipewiresrc` and Mutter will only succeed if Mutter advertises dmabuf support as well, falling back to the next pipeline otherwise. Using this pipeline frees Mutter from downloading buffer content on the main thread which can have a big impact on compositor performance. Doing format conversion on the GPU should further improve the overall performance on most hardware. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2597>
* screenshot: Also handle dbus service crashesJonas Dreßler2023-04-261-0/+10
| | | | | | | | | | When the screencast dbus service crashes due to gstreamer, we should also handle that and not pretend to continue recording. Let's listen to g-name-owner changes for that and then also send a notification about it. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2752>
* screenshot: Handle screencast errors properlyJonas Dreßler2023-04-261-2/+16
| | | | | | | Send a notification and remove the screencast inidicator when we hear about a screencast error from the dbus service. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2752>
* screencastService: Signal errors via the internal dbus interfaceJonas Dreßler2023-04-263-13/+27
| | | | | | | | Make sure gnome-shell gets notified of errors that happen during screen recording using the screencastService, so that it can properly notify the user about the error and tear down its state, too. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2752>
* screencastService: Do not try multiple pipelines on old Pipewire versionsrobert.mader@collabora.com2023-04-261-1/+4
| | | | | | | | | | Pipewire versions < 0.3.67 may not fail immediatly on negotiation errors, thus use the last/fallback pipeline directly. Technically, a similar recent version of Wireplumber is required as well, but we can't check that easily and the combination of old Wireplumber and new Pipewire is quite unlikely. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2609>
* screencastService: Add fallback mechanism for gstreamer pipelinesJonas Dreßler2023-04-261-33/+80
| | | | | | | | | | | | | | | | Introduce a fallback mechanism for gstreamer pipelines that allows to define multiple pipelines and prefer them over each other. The way this works is that we introduce a new STARTING PipelineState. While the Recorder is in that state, it is allowed to tear down the current pipeline and start another one whenever an error happens, this is used to try multiple pipelines in a fixed order until a working one is found. Right now there's just a single pipeline using the existing vp8 encoder, the actual new encoders and pipelines will be added in a separate commit. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2609>
* screencastService: Drop always-copy conditionrobert.mader@collabora.com2023-04-251-4/+0
| | | | | | | | | | | | | | | | | | | | | | The check for the Pipewire version was originally introduced in d32c0348 which states: > Since it is not clear yet when a proper solution will arrive, > this makes use of `always-copy` as a workaround for now and > should be reverted once it is no longer needed. The check for a stable Gstreamer version with the mention proper fix was introduced in d7b44319 and carried for the 43 cycle. By the time Gnome 44 will be released all distros should have had enough time to update their Gstreamer version - or backport the patches, in case of not ustream-supported versions. Thus lets drop it now. Note: `always-copy` is not suitable for dmabuf buffers as it copies via mmap. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2609>
* screencastService: Set PipelineState to PLAYING on actual state-changeJonas Dreßler2023-04-251-4/+22
| | | | | | | | | | | | | | | | Right now when we tell gstreamer to move the pipeline to the state PLAYING, we pretend that happens immediately and set our PipelineState to PLAYING right afterwards. In reality though it's more complicated than that: Gstreamer changes states asynchronously and set_state() returns a Gst.StateChangeReturn.ASYNC. In that case we should wait until the according STATE_CHANGED event happens on the bus, and only then set our PipelineState to PLAYING. Since the STATE_CHANGED event will also happen when set_state() returns SUCCESS, we can use the same async logic for that. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2197>
* screencastService: Handle more gstreamer errorsJonas Dreßler2023-04-251-2/+38
| | | | | | | | | Gstreamer can produce various errors, we shouldn't pretend those don't exist and go on as usual when one happens. Instead, when an error happens, tear down the pipeline, set our PipelineState to the new ERROR state and bail out with a proper error message. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2197>
* screencastService: Streamline teardown and error handlingJonas Dreßler2023-04-251-39/+63
| | | | | | | | | | | | | | | | | We're tracking three different state-machines in the Recorder object: The state of the gstreamer pipeline, the state of the screencast session, and the sender of our dbus invocation that might vanish. Properly handling errors that might appear in any of those three "black boxes" is not easy, especially tearing down the other two when one of them breaks. So refactor the error handling here: Add a single error path for each of those three states we're tracking, and make them all subsequently call the _bailOutOnError() method. From there we tear down the other states and call the error callbacks. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2197>
* screencastService: Add an ERROR state for the pipeline state trackingJonas Dreßler2023-04-251-0/+1
| | | | | | | This will be useful when we start actually listening for ERROR events on the gstreamer bus. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2197>
* screencastService: Use strings for statesJonas Dreßler2023-04-251-7/+7
| | | | | | | Using strings instead of numbers allows for easier debugging, it means we can just log the state itself. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2197>
* screencastService: Promisify Recorder start/stopRecording functionsJonas Dreßler2023-04-251-60/+58
| | | | | | | | | This will allow for cleaner error handling in the following commits. A benefit we get from it right now is having one less callback when calling startRecording/stopRecording(). Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2197>
* status/bluetooth: Use 'Alias' for item labelsFlorian Müllner2023-04-251-1/+1
| | | | | | | | | Unlike 'Name', the 'Alias' property can be changed by the user, so it's more suitable for user-visible labels. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6626 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2751>
* portalHelper: Use libadwaita instead of plain Gtk4Florian Müllner2023-04-251-2/+3
| | | | | | | This gives us the proper platform stylesheet, as well as support for dark style and other platform features. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2690>
* portalHelper: Stop using a subtitleFlorian Müllner2023-04-251-58/+64
| | | | | | | | | | | | The pattern has become a lot less common, not least indicated by the removal of the HeaderBar:subtitle property. And in this case we are including an icon in the subtitle, which looks completely out of place. Address this by moving the URL/security information into a popover menu, inspired by the similar drop-down in GNOME Web. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2690>
* portalHelper: Port to Gtk4/WebKit6Florian Müllner2023-04-251-33/+25
| | | | | | | | WebKit was blocking the portal helper from being ported to Gtk4 together with other external tools. Now that WebKit6 is about to become stable, the port can go ahead. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2690>
* portalHelper: Don't use deprecated API during policy decisionFlorian Müllner2023-04-251-6/+7
| | | | | | | | | | NavigationPolicyDecision.get_request() is deprecated, and the method from the corresponding NavigationAction should be used instead. Rearrange the code to do that. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2690>
* portalHelper: Adjust coding styleFlorian Müllner2023-04-251-18/+21
| | | | | | | Most of the file already complies with the new style. Quickly change the last remaining bits of legacy style before making further changes. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2690>
* portalHelper: Stop monkey-patching String.format()Florian Müllner2023-04-251-7/+0
| | | | | | It's not used, so no need to set it up. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2690>
* portalHelper: Remove pointless destroyWindow() methodFlorian Müllner2023-04-251-7/+2
| | | | | | | | | Years ago, the function used to clean up the cache when the window was closed. But now that an ephemeral data manager is used, nothing is cached anymore and the function is left as a mere wrapper around this.destroy(). Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2690>
* screenshot: Use independent tooltips for the Screenshot/Screencast buttonsAutomeris naranja2023-04-251-15/+12
| | | | | | Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6189 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2683>