1. 29 May, 2019 3 commits
    • Florian Müllner's avatar
      windowManager: Disable favorite shortcuts without overview · 866629b3
      Florian Müllner authored
      The `switch-to-application-n` shortcuts are essentially "launch the nth
      app in the dash" actions, so they are at the very least confusing when
      the dash isn't available because the overview itself is disabled (for
      example in initial-setup mode).
      
      So disable the shortcuts when the overview is disabled, but delegate the
      decision to a separate function so that extensions like 'panel-favorites'
      which expose favorites by some other means can easily re-enable them.
      
      #1333
      866629b3
    • Marco Trevisan's avatar
      windowMenu: Do actions requiring grab once ungrabbed · 2b3ab3ec
      Marco Trevisan authored
      Resizing or moving a window needs starting a keyboard grab. However, if the
      action is triggered by a menu entry activation it might not work as we already
      have already an active grab on input devices to manage the menu itself.
      
      So, possibly wait maximum 100ms for the current grab operation to be completed
      before trying go start a new one.
      
      Needs mutter!596
      Fixes #1326
      
      !557
      2b3ab3ec
    • Marco Trevisan's avatar
      popupMenu: Connect after to item 'activate' signal · 759120b9
      Marco Trevisan authored
      A menu item activation might lead to a call to `itemActivated` which eventually
      will close the menu which leads to a `PopupMenu.removeAll` that destroys all the
      items, stopping the emission of the 'activate' signal for them.
      
      Before commit 4258ae3e this was not happening because destroy'ing a javascript
      object wasn't really disposing it and thus stopping the signal emissions.
      
      So, ensure that `itemActivated` is called after that all the other callbacks
      have been consumed, and so that the menu is closed as last thing.
      
      Fixes #1326
      
      !557
      759120b9
  2. 28 May, 2019 1 commit
  3. 27 May, 2019 1 commit
  4. 24 May, 2019 3 commits
  5. 22 May, 2019 1 commit
  6. 21 May, 2019 1 commit
  7. 20 May, 2019 3 commits
  8. 19 May, 2019 1 commit
  9. 15 May, 2019 12 commits
  10. 09 May, 2019 5 commits
  11. 07 May, 2019 1 commit
    • Fabrice Bellet's avatar
      network: Handle interface name changes · d9bfa16f
      Fabrice Bellet authored
      The interface name when a device is added may not be the final one. For
      example when using USB tethering, it will first appear as 'usb0' before
      being renamed to something like 'enp0s20f0u1' depending on the port the
      phone is plugged in.
      
      As a result, we will ignore the new interface name in that case and fail
      to associate the correct connection with the device: Instead of the
      correct "USB Ethernet" (or user-customized name), it will show up as
      "Ethernet".
      
      Fix this by updating names and connections when a device's interface
      property changes.
      
      !534
      d9bfa16f
  12. 04 May, 2019 1 commit
  13. 03 May, 2019 3 commits
  14. 30 Apr, 2019 3 commits
    • Florian Müllner's avatar
      dashSpacer: Don't trigger allocations from size negotiations · d5ebd8c8
      Florian Müllner authored
      If an actor's allocation is outdated, clutter_actor_get_allocation_box()
      will queue a relayout. That's why it's advised to not use the function
      unless the allocation is known to be valid (namely during paint), but
      in particular not from within get_preferred_width/height vfuncs.
      
      Using the :allocation property (which may be outdated) would be better,
      but in this case we can simply delegate the request to the correct actor.
      
      GNOME/gnome-shell#1065
      d5ebd8c8
    • Carlos Garnacho's avatar
      keyboard: Destroy old layout actors when regenerating keyboard groups · ed999ce9
      Carlos Garnacho authored
      We were cleaning up self._groups, but the actors for all previous
      groups/layers/modes would remain attached to the aspect container,
      simply hidden.
      
      Under some circumstances this can really make the amount of actors
      in the shell stage to quickly ramp up, it's not just a "leak" but
      also has potential side effects on performance.
      
      We should destroy all child actors of this._aspectContainer, except
      the static ones (emoji and keypad).
      
      While at it, fix this._groups re-initialization, as it's actually an
      object, not an array.
      
      GNOME/gnome-shell!523
      Closes?: GNOME/mutter#556
      ed999ce9
    • Florian Müllner's avatar
      worldClocks: Ignore locations with unknown timezone · 50b77390
      Florian Müllner authored
      We currently assume that every location has an associated timezone.
      While this is sound in the real world, in practise it depends on
      whether or not libgweather can find a corresponding timezone DB
      entry.
      
      This used to be a fringe case, but has become more likely when commit
      GNOME/libgweather@d7682676 moved
      weather stations from cities to countries - the station itself is un-
      likely to have a timezone entry, and the country may be part of more
      than a single timezone.
      
      It would be good for libgweather to return a timezone for those
      locations again, but we should defend against the case anyway.
      We cannot tell what time it is at a particular location without
      knowing the timezone, so simply filter them out.
      
      GNOME/gnome-shell#1062
      50b77390
  15. 29 Apr, 2019 1 commit
    • Florian Müllner's avatar
      panel: Don't chain up to parent's allocate · d57234be
      Florian Müllner authored
      The top bar handles allocating all its children itself, so there's
      little value in chaining up to st_widget_allocate() and get the
      default layout manager allocating all children again (and possibly
      differently).
      
      If this happens, we end up with an infinite allocation cycle with
      corresponding performance penalty. Fix this by just doing and what
      Shell.GenericContainer did before commit 286ffbe2 replaced it,
      and not chain up to StWidget.
      
      Thanks to Robert Mader for debugging the issue.
      
      GNOME/gnome-shell#1054
      d57234be