| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2768>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
This will allow accessing it from the notification.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2755>
|
| |
|
| |
|
| |
|
|
|
|
| |
(cherry picked from commit e8d2012983e4883c849b7755cb01c92db2b821e6)
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
- 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>
|
| |
|
|
|
|
| |
(cherry picked from commit 60200c88a85d0952500fa9b2a7d25384c65f37b7)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
It's not used, so no need to set it up.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2690>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6189
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2683>
|