1. 24 May, 2019 3 commits
  2. 22 May, 2019 1 commit
  3. 21 May, 2019 1 commit
  4. 20 May, 2019 3 commits
  5. 19 May, 2019 1 commit
  6. 16 May, 2019 2 commits
  7. 15 May, 2019 13 commits
  8. 09 May, 2019 5 commits
  9. 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
      Fix this by updating names and connections when a device's interface
      property changes.
  10. 04 May, 2019 1 commit
  11. 03 May, 2019 3 commits
    • verdre's avatar
      windowManager: Fix fullscreen windows in ws switching animations · 4e6b2eb7
      verdre authored
      To prevent a small gap between windows in the workspace switching
      animation, we temporarily shift windows up or down by the height of the
      panel. This obviously breaks the animation for fullscreen windows, those
      will overlap with the ones on the other workspace since there is no
      panel shown in that case.
      Fix this by checking whether the old or new workspace includes a
      fullscreen window and don't shift the windows if there is one.
      Fixes GNOME/gnome-shell#757
    • Marco Trevisan's avatar
      dialog: Use object's set to assign properties · 2e5295b3
      Marco Trevisan authored
      We can just assign a properties object to a GObject using the set() method
      instead of using Object.assign.
    • Marco Trevisan's avatar
      dialog: Really set ellipsize mode in subtitle and body · 3121c9aa
      Marco Trevisan authored
      Dialog's subtitle or body could not be properly wrapped, while it's ellipsized
      when the text's width doesn't exceed the container size.
      Clutter text has an `ellipsize` property, however in dialog's subtitle and body
      we have been setting the `ellipsize-mode` property to Pango.EllipsizeMode.NONE
      that is not present in the underlying GObject.
      Not being an error in javascript, gjs didn't warn us about this, while at the
      same time the St.Label's default Pango.EllipsizeMode.END was used.
      Fixes #922
  12. 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.
    • 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.
      Closes?: GNOME/mutter#556
    • 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
      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.
  13. 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
      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.
  14. 27 Apr, 2019 2 commits
    • Carlos Garnacho's avatar
      padOsd: Use non-deprecated librsvg API to create handle · 38da54fb
      Carlos Garnacho authored
      On one hand, we were using a path instead of an URI on
      rsvg_handle_set_base_uri(). This broke at some point in librsvg
      (presumably for the best, handling paths there sounds non-standard)
      leaving a blank svg (As the base image wouldn't be accessed).
      On the other hand, we use this with the deprecated rsvg_handle_write()
      which we should drift away from.
      Using rsvg_handle_new_from_stream_sync() neatly solves both. We use
      newer API based on input streams and GFiles, and it internally does
      the right thing, bringing the pad OSD back to life.
      Closes: GNOME/gnome-shell#1220
    • Marco Trevisan's avatar
      js: Check for this.constructor type instead of new.target · bbd3275d
      Marco Trevisan authored
      Use more ES6-inspired check for classes initializations.