Commits on Source (56)
-
The shell mime sniffer goes through all the files in a directory, however in case a file content type is not recognized, the GIO function g_file_info_get_content_type() may return NULL, causing a crash when looking up into the content type tables, as they are supposed to contain strings only and they use `g_str_hash` has func, which doesn't support NULL values. So, in case we get an invalid content type, let's just ignore it, without adding it to the cache as we do in the nautilus code that was inspiring the sniffer. Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2643 (cherry picked from commit 46547ae0)
ff73f765 -
Marco Trevisan authored
LP: #1865300
c9987c34 -
Sebastian Keller authored
clutter_text_get_selection() creates a copy of the selected text which gets passed to st_clipboard_set_text() which creates its own copy. The copy returned by clutter_text_get_selection() however never got free'd. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1306 (cherry picked from commit fdfcacf1)
b2454bd1 -
Matej Urbančič authored61c70921
-
Chingkai authored
This commit will set the button invisible when the user's can_switch is false (e.g. when the session is remote) or user-switch-enabled is disabled. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2687 (cherry picked from commit d2cf13ef)
9ccd3437 -
sicklylife authoredd1ed344c
-
sicklylife authored62a34c51
-
Jonas Dreßler authored
The fullGeometry and the actualGeometry of the WorkspacesDisplay are set from the allocation of the overviews ControlsManager and the WorkspacesDisplay, that means they're only valid after those actors got their allocations during Clutters allocation cycle. Since WorkspacesDisplay._updateWorkspacesViews() is already called while showing/mapping the WorkspacesDisplay, that allocation cycle didn't happen yet and we end up either setting the geometries of the views to null (in case of the fullGeometry) or to something wrong (a 0-sized allocation in case of the actualGeometry). So avoid setting invalid geometries on the views by initializing both the fullGeometry and the actualGeometry to null, and then only updating the geometries of the views after they're set to a correct value. Note that this means we won't correctly animate the overview the first time we open it since the animation depends on the geometries being set, but is being started from show(), which means no allocations have happened yet. In practice this introduces no regression though since before this change we simply used incorrect geometries (see the 0-sized allocation mentioned above) on the initial opening and the animation didn't work either. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1119
67b9386b -
Jonas Dreßler authored
Animating the window clones of the overview requires the fullGeometry and the actualGeometry to be set, which they won't be when showing the overview for the first time. So don't even try to animate the window clones in that case because the geometries will still be null and accessing them in workspace.js will throw errors. The workspace views will still get the correct layout as soon as the allocations happen because syncing the geometries will trigger updating the window positions. Since animations are disabled for position changes when syncing the geometry though, we won't get an animation and the clones will jump into place. That's not a regression though since before this change we also didn't animate in that case because the geometries used were simply wrong (the actualGeometry was 0-sized as explained in the last commit). If we wanted to fix the initial animation of the overview, we'd have to always enable animations of the window clones when syncing geometries, but that would break the animation of the workspace when hovering the workspaceThumbnail slider, because right now those animations are "glued together" using the actualGeometry, so they would get out of sync. The reason there are no errors happening in workspace.js with the existing code is that due to a bug in Clutter the fullGeometry of WorkspacesDisplay gets set very early while mapping the WorkspacesViews (because the overviews ControlsManager gets an allocation during the resource scale calculation of a ClutterClone, see https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1181), so it won't be set to null anymore when calling WorkspacesView.animateToOverview(). https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1119
bda8ba5e -
Fabio Tomat authoredbd84de38
-
When you tap Super and see the sidebars and windows slide, it looks more cohesive if those animations complete at the same time. Previously there were 0.09 seconds difference between the two animations which was enough to make it look slightly buggy. Now it doesn't. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1289 (cherry picked from commit c7e597cf)
c02d0f3a -
Commit c7e597cf tried to improve the slide animations when entering the overview by using the same time as the overall overview animation, but in fact broke the animation most of the times. That is because the Overview imports OverviewControls before defining the ANIMATION_TIME variable, so any javascript code that is evaluated during that import will see the value as "undefined" (which is converted to 0 for the animation). Fix this by moving the ANIMATION_TIME variable before the imports instead of the usual placement. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1331 (cherry picked from commit 26d27fdb)
a9c74ed7 -
Baurzhan Muftakhidinov authored6de2fd63
-
Baurzhan Muftakhidinov authoredd3384d29
-
The performance of the icon grid was being hindered by a large number of primitives (a few hundred) being copied from the CPU to the GPU on each frame. This was first noticed in mutter#971 but we failed to investigate all the issues at the time. You can also see the high number using `COGL_DEBUG=batching` or `COGL_DEBUG=disable-texturing`. So now it's obvious that high number is every letter of every label being uploaded as a separate quad. Let's not do that and instead treat the whole label as a single quad/texture. Measured performance on an i7-7700 at UHD 3840x2160: Journal entries per frame on the icon grid: * Before: 288 (18 KB copied from CPU to GPU) * After: 73 ( 4 KB copied from CPU to GPU) Spring animation: * Before: 20-30 FPS, avg 22/peak 45 milliseconds per frame * After: 30-40 FPS, avg 14/peak 28 milliseconds per frame Scrolling the icon grid: * Before: 15 FPS, 50 milliseconds per frame * After: 30 FPS, 28 milliseconds per frame https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1329 (cherry picked from commit ae338af1)
96f1d1b0 -
PrOF-kk authored
Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2825 (cherry picked from commit 71b3b03b)
0abbd526 -
Florian Müllner authored
... according to the coding style. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1875
12f20536 -
Florian Müllner authored
... according to coding style. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1875
d14bf9a1 -
Florian Müllner authored
CalendarSources is a final type, so the regular instance struct is already non-public. No need for a separate private struct and priv pointer ... https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1875
8d2a8778 -
Florian Müllner authored
We track messages so that we can account for just added and removed events instead of having to rebuild the entire list, however it's also possible that the time or summary of an existing event changed. Account for that by updating existing messages in-place. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1192
235ffa29 -
Florian Müllner authored
getEvents() filters all events for the given range and sorts the result. That's more than we need when checking whether there are any events, where we only care that there's at least one event in the range. Address this by splitting out the event filtering into a generator function, so hasEvents() can return after at most one iteration. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1192
2e8ade4d -
Milan Crha authored
The previous code always restarted whole ECalClientView when it received any changes in it, which could sometimes lead to constant repeated restarts of the view. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1875
9f87ffc0 -
Robert Mader authored
This reverts commit 96f1d1b0. There have been reports of issues around this commit so back out from it on the stable branch. See https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2937
fae7ba52 -
Florian Müllner authored
The blur effect needs to take the scale-factor into account, so we listen for scale changes. However we set up the signal handler when creating a background, which is repeated for each monitor, and every time the monitor configuration changes. But we only disconnect the last handler that was connected, and only when we are destroyed, not when recreating backgrounds. Fix this by splitting out updating the effect parameters to a separate method that iterates over all backgrounds, so we can simply set up the handler from the constructor. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1341
25a8f484 -
Daniel Șerbănescu authored22269895
-
Florian Müllner authored
When scrolled, the container's allocation is smaller than the allocation of the content. To account for that, commit 2717ca9d added the additional size reported by the layout manager to the content allocation. However as it did so unconditionally, we now allow children to extend outside the parent even when *not* scrolled, which breaks any constraints set on the container (like "width" or "max-height"). Fix this by only extending the child allocation in scrollable dimensions. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2491
0790503f -
Jonas Dreßler authored
As usually with GObject setters, we should check whether the property actually changed before setting the value and notifying the property. So check whether the title or description text actually changed before setting it. This fixes a bug which makes the title flicker and change its size, because when updating the title we remove the "leightweight" css class and reapply it inside a later, which makes the title appear larger for one frame. Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2574 https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1336
b5f141f5 -
Jonas Dreßler authored
This is more readable than just returning false. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1336
6b604557 -
Jonas Dreßler authored
The inhibitShortcutsDialog can show an additional label which explains how to restore shortcuts. This label is not managed by the MessageDialogContent, so we need to enable line wrapping and disable ellipsization ourselves. Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2616 https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1336
d0d91c49 -
Florian Müllner authored
Switching to autocleanup gives us a better separation between the app/no-app cases. https://gitlab.gnome.org/GNOME/gnome-shell/issues/219
f7dc59e3 -
Florian Müllner authored
At least flatpak (no idea about snap, sorry) enforces that all .desktop files exported by a sandboxed app use the application ID as prefix. Add the same check when trying to find a match based on the WM_CLASS, to prevent sandboxed apps from matching a .desktop file they do not own. At the moment this is unlikely as we check for a match on the sandboxed app ID first, but we are about to change that. https://gitlab.gnome.org/GNOME/gnome-shell/issues/219
c7925110 -
Florian Müllner authored
Currently our heuristics for matching a window to its app check for the application ID before the WM_CLASS, as the ID is more reliable in so far that it is outside the application's control and so it cannot use it to spoof a different application. However this also prevents applications with multiple .desktop files like LibreOffice from matching any .desktop files other than the one under the main ID. Since we now no longer allow the WM_CLASS to match a .desktop file that doesn't belong to the sandboxed application, we can fix that issue by checking the WM_CLASS first, without opening the door to spoofing. https://gitlab.gnome.org/GNOME/gnome-shell/issues/219
132a8bb5 -
Florian Müllner authored
get_preferred_height() returns both the minimum and natural height, not a single size. Math.min() doesn't handle that and returns NaN, whoops. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2349
d26b320a -
Florian Müllner authored
In portrait orientation, we set the height to the preferred height for the monitor width (or, if smaller, a third o the screen height). However as the forWidth currently doesn't make a difference, the height is effectively controlled by the natural height of the keys - which is rather small. Address this by making AspectContainer request an appropriate preferred size based on the fixed ratio. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2349
d76c2190 -
Sebastian Keller authored
The arrow of the removed app was still left in the list with the visibility of the arrow still depending on the original list order. This could either lead to apps with just one window now suddenly having a down arrow or apps with multiple windows not having one. If the last window in the list had a down arrow, it would have been displayed outside the window switcher. Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2935 https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1340
12b31e6b -
MOZGIII authored
This addresses the issue with ellipsized clock that occurs when using extensions that move the clock from the middle to the side of the top bar. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1327 Signed-off-by: MOZGIII <mike-n@narod.ru>
afb40578 -
Koki Fukuda authored
If user-input string contains '\' and/or '"', extensions-tool generates invalid json. This fixes that by escaping '\' and '"'. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1279
390431c5 -
Peter Simonyi authored
Sliders can be operated by mouse scroll, but the mouse has to be over the slider control. Make the brightness and volume system menu entries forward scroll events to the sliders they contain so that scrolling anywhere on the menu item operates the slider. Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2795
96699b99 -
Florian Müllner authored
Update NEWS.
7dce4339 -
Marco Trevisan authored9c8eae75
-
Marco Trevisan authored
Update to upstream version '3.36.4' with Debian dir a45fd91fc376ce70c48c2e0f917e6ea988db8fbd
02c1f371 -
Marco Trevisan authoreda9c7e407
-
Marco Trevisan authored171f5c1f
-
Marco Trevisan authored65276d40
-
Marco Trevisan authored
To match upstream requirements
3e5a3bf7 -
Marco Trevisan authored3d65ea04
-
Marco Trevisan authored4c11d67a
-
Marco Trevisan authored09f3171d
-
Marco Trevisan authored23c72293
-
Marco Trevisan authored
gnome-shell Debian release 3.36.4-1
c5f24102 -
Marco Trevisan authoredebc5d8fd
-
Marco Trevisan authored934a986d
-
Marco Trevisan authored671fa1a8
-
Marco Trevisan authored
gnome-shell Debian release 3.36.4-1ubuntu1
bb793b33 -
Marco Trevisan authored4cfd6f17
-
Marco Trevisan authored93970c21
This diff is collapsed.