1. 14 Nov, 2018 1 commit
  2. 13 Nov, 2018 7 commits
  3. 12 Nov, 2018 1 commit
    • Georges Basile Stavracas Neto's avatar
      st: Remove deprecated cogl_texture_new() · 361cc6cf
      Georges Basile Stavracas Neto authored
      cogl_texture_new() is used in a few places in GNOME Shell, but
      it's a deprecated Cogl function. The replacement is the less
      verbose cogl_texture_2d_new_with_size(), that is very much a
      straightforward replacement.
      
      Remove the few places where this function is used, replacing
      it by the CoglTexture2d counterpart.
      
      !287
      361cc6cf
  4. 10 Nov, 2018 3 commits
    • Cosimo Cecchi's avatar
      calendar: do not call destroy() recursively · 5fb8d4f7
      Cosimo Cecchi authored
      We have a callback that will call close() when the notification is
      destroyed, and a callback that will call destroy() on the notification
      when the message is closed.
      
      Currently, if the notification is destroyed we'll execute our callback
      that will call again destroy() on the notification. That's bad
      practice in general, and it also has the side effect of resetting the
      destroy reason.
      
      This commit avoids re-destroying the notification by dropping the
      notification reference on destroy.
      
      !258
      5fb8d4f7
    • Cosimo Cecchi's avatar
      notificationDaemon: use different reason when replacing notification · a98ed08a
      Cosimo Cecchi authored
      Differently from the fd.o notifications, Gtk notifications do not
      have a mechanism to update themselves. Instead, when a new
      notification is received for an ID already known to the notification
      daemon, the old notification is dismissed and a replaced with a new
      one.
      
      Currently though, there is no way to distinguish a notification that
      was dismissed because of an user interaction, or because it was
      replaced. That is an useful piece of information, so add a new value
      to the NotificationDestroyedReason enum to account for it.
      
      !258
      a98ed08a
    • Cosimo Cecchi's avatar
      notificationDaemon: separate out GtkNotification creation · 80a75471
      Cosimo Cecchi authored
      This way, source subclasses can easily use a notification subclass
      if different functionality is required.
      
      !258
      80a75471
  5. 09 Nov, 2018 2 commits
    • Cosimo Cecchi's avatar
      StTextureCache: use right event to detect file changes · ca3f4cfb
      Cosimo Cecchi authored
      StTextureCache installs file monitors that invalidate caches when
      contents of the underlying file change.
      At the moment, the cache uses the Gio.FileMonitorEvent.CHANGED event
      type to make that determination.
      
      However, that is suboptimal for at least two reasons:
      - while a file is being written to disk, many CHANGED events will be
        emitted in sequence. That will cause needless cache invalidations,
        and we will risk loading the file before it's fully loaded.
      - if an existing file is replaced, e.g. with g_file_replace(), we may
        not get a CHANGED event but a CREATED one instead, so the cache ends
        up never getting invalidated.
      
      The good news is that in both of those cases GFileMonitor will send a
      CHANGES_DONE_HINT event after changes have settled, or after the file
      is replaced.
      
      This commit fixes both cases by switching from the CHANGED event to
      CHANGES_DONE_HINT to determine that a file has in fact changed.
      
      !286
      ca3f4cfb
    • Takao Fujiwara's avatar
      keyboard: Do not call KeyboardManager.holdKeyboard() with set-content-type · 551e8278
      Takao Fujiwara authored
      When gnome-shell receives the signal of 'set-content-type' from ibus,
      gnome-shell calls KeyboardManager.holdKeyboard() and
      KeyboardManager.releaseKeyboard() and the functions change the current
      input focus in GNOME Xorg and it could result in closing a popup window
      which has a password entry by focusing on the entry.
      The solution is to stop to call the APIs on 'set-content-type' signal.
      
      #391
      551e8278
  6. 08 Nov, 2018 2 commits
  7. 06 Nov, 2018 3 commits
  8. 05 Nov, 2018 1 commit
  9. 02 Nov, 2018 1 commit
  10. 30 Oct, 2018 2 commits
    • Daniel van Vugt's avatar
      iconGrid: Keep icons reactive during pulse animation · 1acdff82
      Daniel van Vugt authored
      The `reactive` property of icon actors was being restored multiple times
      over the course of the pulse animation, all at slightly different times
      as each icon finished animating at different times.
      
      The problem is that toggling `reactive` on an `StWidget` incurs a style
      change of the `insensitive` pseudo class, and style changes would quickly
      queue relayouts incurring full stage reallocation. This occurred many times
      during a pulse animation, limiting its smoothness and performance.
      
      The solution is to not toggle the `reactive` property in the pulse
      animation at all, which avoids incurring multiple full stage relayouts.
      
      As a bonus, this means the icon under the cursor pulses with the correct
      selection highlight, appearing more seamless and responsive.
      
      !261
      1acdff82
    • Daniel van Vugt's avatar
      iconGrid: Defer and group animation cleanup · a5e6dd52
      Daniel van Vugt authored
      The `reactive` property of icon actors was being restored 24 times over
      the course of the spring animation, all at slightly different times as
      each icon finished animating at different times.
      
      The problem is that toggling `reactive` on an `StWidget` incurs a style
      change of the `insensitive` pseudo class, and style changes would quickly
      queue relayouts incurring full stage reallocation. This occurred many times
      during a spring animation hogging the CPU and limiting the frame rate.
      
      The solution is defer and batch the cleanup for all icons until after the
      last icon has finished animating. This way the CPU impact of the style
      change and stage relayout isn't felt during the animation so the frame
      rate remains higher and smoother. The overall CPU usage of the animation
      is also reduced as the remaining relayouts are much more likely to be
      grouped into a single frame.
      
      Icon spring animation performance on an i7-7700:
      Before: 83% CPU and 47 FPS
      After : 78% CPU and 54 FPS
      which is about a 22% increase in performance per clock (FPS/CPU).
      
      !253
      a5e6dd52
  11. 28 Oct, 2018 1 commit
  12. 25 Oct, 2018 4 commits
  13. 24 Oct, 2018 1 commit
  14. 23 Oct, 2018 4 commits
  15. 22 Oct, 2018 1 commit
    • Florian Müllner's avatar
      osdWindow: Disconnect signals on destroy · 8566ec2e
      Florian Müllner authored
      Since we started to show OSD windows on all monitors, OSD windows are
      destroyed when the corresponding monitor is disconnected. We shouldn't
      leave any signal handlers around in that case - they prevent the object
      from being garbage collected, and trigger warnings for accessing proper-
      ties of invalidated GObjects.
      
      #602
      8566ec2e
  16. 19 Oct, 2018 1 commit
  17. 16 Oct, 2018 1 commit
  18. 14 Oct, 2018 1 commit
    • Sergio Costas's avatar
      Fix enumeration in HACKING.md · aa685310
      Sergio Costas authored
      The HACKING.md file contains an enumeration in the Indentation and
      whitespace section, but the sentences look incorrectly divided.
      
      This patch proposes a fix for that section, reordering all its
      contents in a single enumeration, instead of a paragraph and
      an enumeration, and also reconstruct the sentences.
      aa685310
  19. 11 Oct, 2018 2 commits
    • Florian Müllner's avatar
      appFolder: Don't block all shortcuts · 76117fd3
      Florian Müllner authored
      App folder popups take a grab when opened, and as we don't pass any
      particular pushModal() parameters, all keybindings are blocked. While
      this makes sense for most keybindings that would interfere with the
      popup interaction, others like volume/brightness keys or screenshots
      can be allowed safely.
      
      #648
      76117fd3
    • Andrea Azzarone's avatar
      popupMenu: Handle keypress if numlock is enabled · 88556226
      Andrea Azzarone authored
      Add exception to handle a keypress if numlock is enabled as we already do for
      capslock. This uses Clutter.ModifierType.MOD2_MASK because at the moment there
      is not a more explicit way to refer to the numlock mask.
      
      Fixes: #550
      88556226
  20. 09 Oct, 2018 1 commit