summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Bump version to 3.34.43.34.4Florian Müllner2020-02-162-1/+11
| | | | Update NEWS.
* Update Slovak translationDušan Kazik2020-02-041-234/+342
|
* Update Karbi translationJor Teron2020-01-311-303/+615
|
* Revert "recorder: Switch to vp9"Björn Daase2020-01-241-2/+2
| | | | | | | | | | | | | This reverts commit d183f13456991d12ea57ad14ba38a1f7407d0037. Switching to the vp9 encoder seemed like a good idea at the time but unfortunately it also has the major drawback, that it leaks a serious amount of memory every time it is used. See https://gitlab.gnome.org/GNOME/gnome-shell/issues/256#note_692743 for more details. https://gitlab.gnome.org/GNOME/gnome-shell/issues/256 (cherry picked from commit c61685e6170c328ccab43d51464bc4c74669d2e1)
* Bump verion to 3.34.33.34.3Florian Müllner2020-01-053-1/+9
| | | | Update NEWS.
* polkitAgent: Only set key focus to password entry after opening dialogJonas Dreßler2019-12-251-2/+2
| | | | | | | | | | | | | | | | Set the key focus to the password field only after we got a request (and therefore know that a password is requested) instead of using `setInitialKeyFocus()`. This way we don't try to focus the password field by default if we aren't showing it (e.g. in case the user has no password or is using fingerprint login). Also we have to move the call to `grab_key_focus()` to happen after `_ensureOpen()`, because otherwise the ModalDialog will set the focus to one of the buttons while opening itself. Cherry-picked from commit 70203b58ca5. https://gitlab.gnome.org/GNOME/gnome-shell/issues/2066
* keyboard: Stop accessing deprecated actor propertyFlorian Müllner2019-12-201-1/+1
| | | | | | | Commit 3d3dca4aa2 turned EmojiPager into a Clutter.Actor subclass, but one place slipped through that still accesses it through .actor. https://gitlab.gnome.org/GNOME/gnome-shell/issues/2060
* Bump version to 3.34.23.34.2Florian Müllner2019-12-112-1/+43
| | | | Update NEWS.
* popupMenu: Close when a system modal pops upFlorian Müllner2019-12-111-0/+11
| | | | | | | | | Just like switcher popups, popup menus don't play well together with system modals, and generally have a lower priority. So just like switcher popups, close popup menus when a system modal dialog pops up. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1536
* switcherPopup: Dismiss when a system modal dialog opensFlorian Müllner2019-12-113-0/+8
| | | | | | | | | | | | | As system modal dialogs may open without user interaction (for instance polkit or network agent requests), it is possible for them to pop up while the app/window switcher is up. The current result of having both up simultaneously is clearly broken, so we can either dismiss the popup or prevent the modal dialog from opening. Assume that the dialog indicates a more important action and should therefore take precedence, so go with the former. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1536
* weather: Only require auto-location authorization if sandboxedFlorian Müllner2019-12-111-1/+9
| | | | | | | | | | | | Since commit 87e60ed97843, geoclue no longer pretends that authorization is useful for system-installed apps (as they can easily lie about their ID). Unfortunately this broke our auto-location support in case Weather is installed non-sandboxed, as we are waiting for an authorization that will never happen. Unbreak it by only requiring authorization when installed as Flatpak. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1823
* util: Place spawned processes into a systemd scopeBenjamin Berg2019-12-111-1/+9
| | | | | | | | This improves the separation from the shell for applications launched with Alt+F2 and in a few other cases. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/863 (cherry picked from commit 4a6c2f1fe65debc79451ee123b73c5e5597e6b6d)
* shell-global: Place launched applications into a systemd scopeBenjamin Berg2019-12-114-1/+50
| | | | | | | | This improves separation from the shells service scope for applications launched using an XDG desktop file. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/863 (cherry picked from commit 086ba11621444b73067d72201fd4ed2cad7b0d94)
* Update Malay translationUmarzuki Bin Mochlis Moktar2019-12-091-1154/+1972
|
* closeDialog: Fix scale of dialog for x11 clients in Wayland sessionsJonas Dreßler2019-12-041-2/+2
| | | | | | | | We missed this case in b6e57a5ae8e3871161e2bdcc44e46af1cc56b2f7, XWayland clients obviously don't use MetaWindowWayland and thus they don't apply the double scaling that commit was meant to fix. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/884
* switcherPopup: Fix scrollable checkFlorian Müllner2019-11-291-2/+2
| | | | | | | | | | | | | | | | | When commit c6cea277e replaced Shell.GenericContainer, the check whether the required width exceeds the avilable width was changed from using the minimum widths of items to the natural width of the scroll view. That doesn't work correctly, as the *natural* width may well exceed the actually used width: SwitcherList bases its width request on children's minimum sizes to force labels to ellipsize. Fix this by using the minimum width of the scroll view's child instead. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1834 (cherry picked from commit 867cffaf2093dbf3cad178356ea4716f02334073)
* calendar-server: Use correct timezone for all-day eventsFlorian Müllner2019-11-281-2/+16
| | | | | | | | | | Since commit 28c535e34, we use the timezone associated with the ICalTime instead of the default timezone when converting to time_t. However while that is correct for most events, for ICalTimes that don't have a timezone associated we still want to fall back to the default timezone instead of UTC. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1895
* theme: Add light styling to message buttonsJoonas Henriksson2019-11-271-5/+5
| | | | https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/865
* Update Chinese (Taiwan) translationYi-Jyun Pan2019-11-271-451/+952
|
* appIcon: Draw running dot above the overview iconJoonas Henriksson2019-11-271-7/+10
| | | | | | | | Prevent the app-well-app-running dot from getting unintentionally hidden behind the overview-icon background by initializing the running-dot after its sibling overview-icon. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/866
* texture-cache: Remove also scaled keys from the cacheDaniel García Moreno2019-11-261-1/+29
| | | | | | | | | | | | | | | | | | | | | | We're storing in the texture cache images and scaled images appending the scaling factor to the key. When a file changes the cache key corresponding to that file is removed, but not the keys for the scaled ones so that images in the cache are never reloaded. This patch removes all keys from the cache related to the file that changes, including those with the scaling factor. A new set (hash table) was added to keep track of scale used to be able to remove all possible images in the cache. When the KEY is removed from the cache, we can look now in the scale set for and each scale we also remove the key "KEY1.000000", "KEY2.000000", etc. Assuming that the number of used scales is small (I would typically expect one or two), the overhead should be negligible. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/567
* data: Enable clean session shutdown after gnome-shell failureBenjamin Berg2019-11-251-4/+5
| | | | | | | | | | | | | | | | | | | | If the GNOME shell crashes, we run a service that may disable extensions. This is important so that users will not be locked out of their own session in case an extension is causing crashes. As this is a very agressive action, we tried to only do this in the first two minutes of the session. Unfortunately, the logic was broken and would result in an unclean session shutdown. Fix this by using the newly introduced gnome-shell-disable-extensions file. This is created by the extension subsystem for a period of time to indicate the extensions may be the cause of a gnome-shell failure. See https://gitlab.gnome.org/GNOME/gnome-session/issues/43 for a log of the bug happening and the gnome-session part to fix this. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/858
* extensionSystem: Create a file to flag that extensions are being loadedBenjamin Berg2019-11-251-1/+18
| | | | | | | | | | When the extension system is loaded, create the gnome-shell-disable-extensions file in the users runtime directory. This file is automatically removed 60s later. The sole purpose of this file is to be consumed by the systemd units. If the file exists, the systemd units will disable extensions when the gnome-shell fails. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/858
* extensions-tool: Fix removing from settings listFlorian Müllner2019-11-251-2/+3
| | | | | | | | | | | | | | | | When removing a string from a settings list, we iterate over all existing entries and copy all strings except the one that's being removed to a new list, which is then written to GSettings. However we currently always increment the index, so we end up with a NULL entry in place of the removed entry, which is then interpreted as the end of the list. In other words, we also remove all entries that follow the removed string. Fix this by looping over the list entries instead of the index, and only increment the index for entries we copy. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1946
* introspect: Fix whitelist checkFlorian Müllner2019-11-251-1/+10
| | | | | | | | | | | | | The whitelist is a list of well-known D-Bus names, which we then search for the unique name we get from the method invocation - unsuccesfully. Fix this by watching the bus for any name in the whitelist in order to maintain a map from wel-known to unique name that we can use for matching. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1916 (cherry picked from commit eee1ab48903b83cef18cd85131436c0e1f987513)
* theme: Add :active styling to message-close and media control buttonsJoonas Henriksson2019-11-251-0/+2
| | | | https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/855
* theme: Add message close button stylingJoonas Henriksson2019-11-252-1/+9
| | | | | | | | | | | | Since the notification message close button had no border, or mouse over effect, there was no way to determine whether the mouse cursor were over the button. Improve this by adding a message-close-button class for the close button, and a styling for its hovered state, based on media control button styling. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/855
* theme: Darken hovered message-media-control buttonJoonas Henriksson2019-11-251-1/+1
| | | | | | | | | Increases contrast between normal and hovered states in message-media-control buttons. Previously there was very little difference between the two states, making it hard to distinguish whether the mouse cursor was over the button. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/855
* magnifier: Use new cursor tracker API to keep wayland focus while hiddenJonas Dreßler2019-11-251-0/+4
| | | | | | | | | | | | | | | | | | | | Since commit mutter/a2a8f0cda we force the focus surface of the meta-wayland-pointer to NULL while the pointer is hidden. This introduced an issue with the magnifier, where we use `set_pointer_visible` to hide the real cursor and show our own cursor at the correct position: Because the meta-wayland-pointer is still used to communicate with Wayland clients, the UI of the windows will not respond to mouse movement anymore as soon as the real cursor is hidden. To fix this, use the newly added API of MetaCursorTracker to switch back to the old behavior while the magnifier is hiding the system cursor. In the future and as a more correct fix, we might want to rewrite the magnifier so it doesn't have to hide the cursor and can simply show the default one (eg. by scaling the actual view instead of a clone of the view). https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/754
* magnifier: Use own showSystemCursor() instead of set_pointer_visible()Jonas Dreßler2019-11-251-1/+1
| | | | | | We already have our own function to show the system cursor, use it! https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/754
* Update Brazilian Portuguese translationRicardo Silva Veloso2019-11-251-231/+231
|
* polkitAgent: Use dialog as confirmation when the user has no passwordJoaquim Rocha2019-11-241-21/+42
| | | | | | | | | | | | | | | | | | | | | | | When a user has no password and a polkit authentication is started, instead of blindly initiating the admin session, show the regular "Authentication Requested" dialog (but without the password entry). This makes sure that the user's admin session is only effectively started after the user chooses to proceed with the authentication, which provides an extra confirmation step that can be vital for critical tasks. To do this, we show the dialog inside `_onUserChanged()` right after the dialog was created instead of calling `performAuthentication()` from `_onInitiate()`. The bug mentioned in `_onInitiate()` is no longer an issue since we show the dialog in all cases now anyway. Ideally we should use a different wording than "authentication" when the user has no password set, and use "confirmation" instead. However polkit already sends the requests with such messages (e.g. "Authentication is required to configure software repositories"), and it's important to show those to the user, so this patch keeps the regular wording. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/829
* polkitAgent: Update user name on user changesJonas Dreßler2019-11-241-37/+36
| | | | | | | | Right now we only update the user avatar on the user-changed signal, but since we also display the users real name we should also update that if the user changes. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/788
* polkitAgent: Fix a typo of a signal nameJonas Dreßler2019-11-241-1/+1
| | | | https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/788
* appDisplay: Add a timeout when switching pages during DnDJonas Dreßler2019-11-241-13/+32
| | | | | | | | | | | | | Currently when dragging an icon to the space above or below the appGrid to switch pages, we do so very quickly without checking when the last page-switch happened. This makes it hard to move icons to pages which are not the first or the last one, since the other pages are skipped very quickly. To fix this, add a timeout of 1 second that blocks switching pages after a page-switch using drag overshoot occured. Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/1693
* appDisplay: Add threshold after overshoot page switchesFlorian Müllner2019-11-241-3/+20
| | | | | | | | | | We currently always switch app pages when a dragged app icon moves outside the grid boundaries, regardless of any previous page switches. This makes it too easy to switch multiple pages accidentally, so add a small threshold that the icon has to move back towards the grid before allowing another page switch. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1693
* appDisplay: Simplify event blocking while folder is openedJonas Dreßler2019-11-231-21/+13
| | | | | | | | | | | | | There's no need for a `inhibitEventBlocker` interface. Since we connect to "open-state-changed" of our folders in the AllView anyway, we can just make the event blocker visible while a folder is opened, and hide the event blocker during DnD. This allows keeping the eventBlocker reactive at all times and fixes an issue where DnD to create a new folder is impossible if no folders are present because the eventBlocker would not get inhibited. Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/1652
* appDisplay: Ensure we don't recreate existing AppIcons for foldersJonas Dreßler2019-11-231-1/+4
| | | | | | | | This was missed in 910037f014355ee9680c45f82a4aac2891c4074f, make sure we do the same thing for AppIcons that are created when reloading folders. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/851
* appDisplay: Add missing .actorJonas Dreßler2019-11-231-1/+1
| | | | | | | | | This was missed while cherry picking b88f7d0655bfac19984b73681da2d2e01238fffa to 3.34. Thanks to Térence Clastres for finding the issue and testing. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/852
* keyboard: Try harder to find a matching layoutFlorian Müllner2019-11-231-4/+11
| | | | | | | | | | | While we support a reasonable list of layouts nowadays, we don't include many variants like `fr+oss`. Instead of directly falling back to the `us` layout, try stripping the variant first, as the base layout is likely closer to the expectation than `us`. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1907 (cherry picked from commit c1ec7b2ffa5b4e5f8b6a31d9cb3eaed0712bd03a)
* screenShield: Replace child propertiesFlorian Müllner2019-11-231-14/+17
| | | | | | | | It turns out https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/780 helped with some redrawing issues on the screen shield, so cherry-pick the relevant bits to the stable branch. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1836
* switcherPopup: Fix last commitFlorian Müllner2019-11-231-1/+1
| | | | | The surrounding code has diverged on master, so the cherry-picked commit doesn't work without adjustments, whoops.
* switcherPopup: Improve modifier-less keybinding navigationFlorian Müllner2019-11-231-0/+8
| | | | | | | | | | | Commit c899453800f11 lifted the requirement of switcher keybindings to contain a modifier, however it is currently only possible to finish it by letting it time out. Improve that by also accepting space/enter key presses to confirm the selection immediately. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1883
* switcherPopup: Use roundtrip time when the popup is modifier-lessJonas Dreßler2019-11-231-1/+1
| | | | | | | | | | | | | | | | The noModsTimeout obviously finishes inside a timeout callback, which means `global.get_current_time()` might return Clutter.CURRENT_TIME (ie. 0) when called inside it, because it's not called while handling an event. This means when switching apps or activating a window, the timestamp passed to `activate_window` may be 0, which is the reason why the altTab switcher is currently broken when using modifier-less keybindings. Fix that by using `meta_display_get_current_time_roundtrip`, which always return a valid timestamp, instead of `shell_global_get_current_time`. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/847
* appDisplay: Don't crash if app is missing categoriesPhilip Chimento2019-11-231-1/+4
| | | | | | | | | g_desktop_app_info_get_categories() may return null. In that case, the previous code would fail to create a folder when dragging an app with no categories onto another app. Instead, simply continue with the next app info. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/782
* panel: Update window section items on title changesFlorian Müllner2019-11-221-1/+5
| | | | | | | | | | | | | We currently only update the windows section when either the focus app changes, or when the app's windows change (that is, a window is opened or closed). This allows the menu item labels to become stale if the window title changes after one of those events (for example when switching tabs). Fix this by updating menu items when the corresponding window title changes. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1830
* power: Handle "100% but charging" casePhilip Chimento2019-11-221-3/+6
| | | | | | | | | I've observed that UPower can occasionally report a charge level of 100% while the state is still "charging". This usually doesn't last very long but it is noticeable because the power icon changes to a "missing icon" icon. This will handle that rare case correctly. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/814
* closeDialog: Fix dialog size when using geometry scalingJonas Dreßler2019-11-221-5/+22
| | | | | | | | | | | | | | | | | | | | The close dialog is added as a child to MetaWindowActor, and, in Wayland sessions, since commit [1] MetaWindowActor applies a transformation matrix which scales all it's children using the geometry scale factor. Now because the dialog actor is not a window (i.e. a MetaSurfaceActor), but a subclass of StWidget, the scale factor is also applied to the properties of the dialog by StThemeNode, so we end up applying the geometry scale twice to the close dialog. Fix this by applying the inverted scale to the dialog, which leaves the scaling only to MetaWindowActor. This means we also can't apply a pivot point other than 0 to the dialog actor, so apply the 0.5-pivot point to the `_dialog` child of the Dialog class (the actual visible dialog box) and also perform scaling animations on this child. [1] https://gitlab.gnome.org/GNOME/mutter/commit/fb9e8768 https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/783
* appIcon: Remove drag monitor on destroyGeorges Basile Stavracas Neto2019-11-211-0/+7
| | | | | | | | | | It may happen that the app icon is destroyed with a drag monitor still around, in which case, a load of warnings will be shown. Make sure to remove any pending drag monitor on destroy. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/841
* folderView: Reset schemas before removing the folderGeorges Basile Stavracas Neto2019-11-211-5/+5
| | | | | | | | | | | | | | | | When removing the last icon of a folder, FolderView first removes the folder from org.gnome.desktop.app-folders.folder-children, then proceeds to reset all its keys, which removes the relocatable schema. That order of operations turns out to be problematic. Removing the folder from 'folder-children' destroys the folder icon, which in turn destroys the folder view, which throws a load of warnings in the journal. Fix that by removing the folder after resetting the schema keys. In fact, what we're doing here is not using 'this' anymore. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/841