summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* baseAppView: Destroy icon when removingGeorges Basile Stavracas Neto2019-11-211-2/+3
| | | | | | | We cannot rely on the garbage collector to do that in a timely manner, so destroy it explicitly. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/841
* allView: Rename variableGeorges Basile Stavracas Neto2019-11-211-4/+4
| | | | | | | | | | The variable that holds the list of application icons is called 'newApps', but that technically was never true, since we only create new app icons when necessary. Rename it to 'appIcons'. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/841
* allView, frequentView: Only create icons when necessaryGeorges Basile Stavracas Neto2019-11-211-5/+14
| | | | | | | | | | | | | | | The views (AllView and FrequentView) build a list of all applications they contain. BaseView then diffs between what's currently added, and what needs to be added, and removed. This approach has a problem though: creating an AppIcon or a FolderIcon connects to various signals, and we confuse the garbage collector. When building the list of applications, instead of always creating new icons, try to use already existing icons first. Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/1610 Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/1694
* polkitAgent: Fix spinnerFlorian Müllner2019-11-211-1/+1
| | | | | | | | Commit 6af25b282c accidentally changed the case of the property. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/840 (cherry picked from commit acaa9f7f77361a87a7fcb79f8a37e7eebb7a9f34)
* Increase .calendar-today visibilitycunidev2019-11-201-3/+3
| | | | | Adds some needed contrast to the calendar widget current day, solving #1873. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/823
* appMenu: Hide stopped spinner actorJoonas Henriksson2019-11-191-0/+1
| | | | | | | | | Get rid of leftover empty space from the application menu panel button, that was used by the spinner actor, which remained visible even after the spinner had stopped. Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/1679 https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/834
* animation: Add parameter for hiding stopped Spinner actorJoonas Henriksson2019-11-191-1/+12
| | | | | | | Not hiding leaves the empty actor space visible, which may have an undesirable effect on the parent element's size or spacing/padding. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/834
* animation: Turn Spinner animate parameter into Params optionJoonas Henriksson2019-11-195-6/+23
| | | | https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/834
* windowManager: Replace left-over calls to _removeEffect()Florian Müllner2019-11-111-4/+4
| | | | | | | Those calls no longer exist on master, so the cherry-pick commit in 22b6a09cd74e missed them. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1884
* Update Russian translationStas Solovey2019-11-111-457/+936
|
* windowManager: Complete interrupted size change effectsFlorian Müllner2019-11-081-0/+6
| | | | | | | | | | | | | | | | Resizing effects are more finicky as other effects, as the actual animation is delayed until we receive the ::size-changed signal. However that signal may never be emitted if the window is destroyed just after starting the size-change effect, in which case the effect is never completed, blocking mutter from destroying the corresponding window actor. Address this by tracking when a resize effect is pending, and complete the effect when appropriate. https://gitlab.gnome.org/GNOME/mutter/issues/655 https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/815
* windowManager: Use Sets to track ongoing effectsFlorian Müllner2019-11-081-30/+21
| | | | | | | | | We only care whether an effect is ongoing for an actor, not about any particular order. Sets are more convenient than arrays in that case, so use them instead. https://gitlab.gnome.org/GNOME/mutter/issues/655 https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/815
* ci: Fix checking out mutter on stable branchesFlorian Müllner2019-11-061-3/+1
| | | | | | | | | | | | | For stable branches, we currently only check out the correct mutter branch for merge requests. For the regular pipeline, our code to determine the current shell branch fails because CI runs on a temporary "pipeline/12345" branch that doesn't exist for mutter. Switching to the correct gitlab environment variable fixes that. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/811 (cherry picked from commit fd5989e99a3bbaa978c0dd4cd55d1fc677c175da)
* theme: Adjust system-menu-action buttonsmonday2019-11-051-2/+1
| | | | https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/802
* calendar-server: Uses wrong timezone for event timesMilan Crha2019-11-051-19/+30
| | | | | | | | | The conversion to UTC/time_t time was not using correct timezone. Closes https://gitlab.gnome.org/GNOME/gnome-shell/issues/1714 https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/806 (cherry picked from commit 28c535e341986b81bf562938c169fa186299a499)
* dnd: Skip drag target when its acceptDrop() throws an exceptionPhilip Chimento2019-10-241-5/+9
| | | | | | | | | | | | | | | In the case of bugs in a drag target's acceptDrop() function, it may throw an exception. In the previous code, this would break out of the loop entirely and never cancel the drag, so the mouse button release event would be ignored and you would have to press Esc to get out of the drag. In this change, if acceptDrop() throws an exception, we log it and move on to the next parent target instead. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/777 (cherry picked from commit 055c007ac26b6475cc2821dbfc2e760ec4f3a9a6)
* shell-screenshots: Do not pass a clip for window screenshotsRobert Mader2019-10-211-9/+2
| | | | | | | | Design team wants us not to clip away the shadows, lets do that. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/762 (cherry picked from commit 20f4fc7c877472591cd77aeacb58645cf11f432a)
* workspace: Sort windows in overview grid using cached centerAndrew Watson2019-10-171-10/+16
| | | | | | | | | | | | | | | When accessing properties on ClutterActor for size and position there is a notable access time overhead. This overhead adds considerable user lag when opening the overview if many windows are open. This is primarily due to these properties being accessed while sorting WindowClone instances by their window's center for placement in the overview. By pre-computing this center value only once when initializing WindowClone, the induced lag can be significantly reduced. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/763 (cherry picked from commit d91927674d4ea5ae7c7e77ace28f5939553147d5)
* screenShield: Compute lock timeout fade duration using animation settingsMarco Trevisan (Treviño)2019-10-161-1/+3
| | | | | | | | | | | | | | | | | | | | | When the screen is marked as idle, we normally start a fading animation and a timeout to finally lock the screen. This timeout is configured using the fade time if no longer delay is set in settings. However if animations are disabled or slowed-down/up, the fade time is different from the STANDARD_FADE_TIME and so we might end up showing the lock shield without actually locking for STANDARD_FADE_TIME in the disabled or slowed-up animations case, or locking too early in case of slowed-down animations. So, just adjust the timeout time using the same logic of animations so that this value is matching all the times. Related to https://gitlab.gnome.org/GNOME/gnome-shell/issues/1744 https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/749 (cherry picked from commit ab6a629955d8bd3c004ec0eb21f57987f48ac655)
* environment: Only disable unredirection of ongoing transitionsFlorian Müllner2019-10-141-4/+11
| | | | | | | | | | | | | | When a transition is set up with a delay, it may be removed before it actually started. We won't get a ::stopped signal in that case, with the result that we currently end up with a mismatched unredirection disabling. Address this by only disable unredirection once the transition has actually started. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1788 (cherry picked from commit 38ad1d7c1393ca3be7ec1b6a9b02fc6bb2a3e658)
* js: Replace Tweener time leftovers with ease durationMarco Trevisan (Treviño)2019-10-103-3/+3
| | | | | | | In some places we were not properly animating the actors as still using the non-existent 'time' property instead of 'duration' https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/758
* animation: Finish porting to clutter transitionsMarco Trevisan (Treviño)2019-10-101-2/+2
| | | | | | | Animation when stopping the spinner was still using the old parameters that not working, although if silently failing. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/758
* Bump version to 3.34.13.34.1Florian Müllner2019-10-092-1/+42
| | | | Update NEWS.
* Revert "windowManager: Use new reorder_workspace() API"Florian Müllner2019-10-081-3/+35
| | | | | | | | | It's too easy to break, so revert to the old code until we figure out a fix. This reverts commit ff9bb5399b1d22fceaf00c9fc8e0058f24af96cc. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1497
* windowManager: Handle reordering of workspacesFlorian Müllner2019-10-081-0/+3
| | | | | | | MetaWorkspaceManager gained the ability to reorder workspaces, so make sure to pick up the new order when that happens. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1497
* ibusCandidatePopup: Use an internal actor to track IM focus positionCarlos Garnacho2019-10-081-3/+8
| | | | | | | | | | We share this actor with other shell menus, which arguably track a different "cursor" as we care of the caret/anchor text positions, and menus care about pointer click coordinates. Use a standalone actor for this, so popups/IM are entirely decoupled. Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/1571
* shell-global: Ignore modal operations if we have no compositorMarco Trevisan (Treviño)2019-10-081-0/+6
| | | | | | | Modal dialog actions might be triggered during display closing, and in such cases we should just ignore the requests. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/746
* shell-global: Disconnect from stage events on X11 display closeMarco Trevisan (Treviño)2019-10-081-0/+11
| | | | | | | | | | | | | | | | | | | As per GNOME/mutter!385 [1], the compositor is finalized an its pointer cleared on display close. However, since the shell reacts to such events instead of controlling them, when the shell is stopping or restarting and its display closing, the shell stage destroys its children after the display closing is finished and during this process the focus is unset, causing focus_actor_changed() to be called and thus calls to meta_stage_is_focused() which deferences the now NULL compositor, leading to a crash on shutdown. Since after this point we should just ignore any stage event, disconnect from them all. [1] https://gitlab.gnome.org/GNOME/mutter/merge_requests/385 https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/746
* shellDBus: Don't assume devices have a nodeFlorian Müllner2019-10-071-1/+5
| | | | | | | Clutter.InputDevice.get_device_node() may return null. Handle that case when building the 'AcceleratorActivated' vardict parameter. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1641
* networkAgent: add support for SAE secretsLubomir Rintel2019-10-071-0/+1
| | | | | | | | NetworkManager supports "WPA3 Personal" networks for some time now, they use the SAE authentication. Add support for it alongside other password-based mechanisms. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/751
* Updated Danish translationAlan Mortensen2019-10-061-305/+261
|
* main, util: Notify systemd once we are fully initialisedIain Lane2019-10-044-12/+23
| | | | | | | | | | | | | | If graphical applications want to start from systemd units, they need to start after we're properly ready to display them. This is particularly important under X where `_GTK_FRAME_EXTENTS` and other xprops are needed to have the right theming. We're doing this in an idle callback so that the dynamic starting of `gnome-session-x11-service.target` (which launches `gsd-xsettings`) as the result of a signal emission happens before us signalling we're ready for later things to start. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/750
* Update Japanese translationRyuta Fujii2019-10-041-8/+8
|
* Update Japanese translationRyuta Fujii2019-10-041-11/+11
|
* lightbox: Show the actor before easing itMarco Trevisan (Treviño)2019-10-031-2/+2
| | | | | | | | | | | | | | | | As per clutter optimizations in should_skip_implicit_transition() any transition will be ignored if applied to an actor with unmapped clones. Since we initialize the lightbox as hidden, when we use it standalone (as it happens for the long fade in screenShield) the transition will be ignored. This causes the lockscreen fade-out after the idle delay not to work, but instead to have an apparently locked system that is instead not locked at all. So, just ensure that the lightbox actor is visible before applying to it any transition. Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/1683
* ibusManager: Cancel the preload engines timeout on clearMarco Trevisan (Treviño)2019-10-021-0/+5
| | | | | | This is created when preloading but never cancelled if ibus disappears https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/743
* ibusManager, inputMethod: Cancel async ibus calls chain on disconnectMarco Trevisan (Treviño)2019-10-022-27/+72
| | | | | | | | | | | | | | | | | | | | | | The shell tries to spawn the ibus daemon on startup if unavailable, however as per commit 8adfc5b1 we also force restarting it once the X11 server is available. Unfortunately this could cause a race if we disconnect while we were already connected to an ibus daemon, but still in the process of going through the various nested calls. In fact the ::disconnect callback didn't stop any further async ibus call that, even if failing, would have eventually triggered the emission of a 'ready' signal and to the Keyboard's callback, leading under X11 to a full grab owned by ibus daemon. In order to avoid this and keep control of the calls order, use in both IbusManager and InputMethod a cancellable that is setup before connecting to the bus, and that is cancelled on disconnection. Then handle the finish() calls properly, using try/catch to validate the returned value, taking in account the potential error and just not proceeding in case of cancellation. Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/1712
* inputMethod: Do not change IBus.Capabilite by focus eventsTakao Fujiwara2019-10-021-13/+2
| | | | | | | | | | | | gnome-shell calls ibus_input_context_focus_in() in InputMethod.focus_in() but the event is not actually forwarded to panels and engines in GNOME Wayland because gnome-shell changes IBus.Capabilite by focus events and disables IBus.Capabilite.FOCUS when ibus_input_context_focus_in() is called. IBus.Capabilite is assumed a fixed value per input context in the first place and it should not be changed by focus events. https://gitlab.gnome.org/GNOME/gnome-shell/issues/573
* Updated Danish translationAsk Hjorth Larsen2019-10-021-459/+926
|
* Updated Czech translationMarek Černocký2019-10-021-236/+235
|
* Updated Slovenian translationMatej Urbančič2019-09-281-23/+12
|
* Updated Slovenian translationMatej Urbančič2019-09-261-280/+267
|
* Update Friulian translationFabio Tomat2019-09-261-249/+252
|
* Update Slovak translationDušan Kazik2019-09-261-254/+256
|
* shell-util: Handle NULL from meta_window_get_image()Florian Müllner2019-09-251-1/+4
| | | | | | | | | Until commit 506b75fc7f3 we got away with not handling a NULL return value, as cairo_surface_destroy() deals with a NULL surface; the same isn't true for get_width/get_height, so guard to code in question to prevent a crash. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1678
* Update Dutch translationNathan Follens2019-09-251-427/+790
|
* main: Remove NOTIFY_SOCKET from environmentBenjamin Berg2019-09-231-1/+3
| | | | | | | | It is only used exactly once to notify systemd about the service startup. So unset it as soon as possible as it can leak into subprocesses we spawn otherwise. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/741
* slider: Unset signal IDs when ending the slider dragJonas Dreßler2019-09-221-2/+7
| | | | | | | | | Unset the signal IDs we connected to when starting the drag. Otherwise we get error messages if a touch drag is ended after a mouse drag happened because the signal IDs are still set but no signals are connected. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/740
* Update Japanese translationRyuta Fujii2019-09-221-10/+9
|
* Update Japanese translationRyuta Fujii2019-09-221-245/+251
|