1. 17 Nov, 2018 5 commits
  2. 14 Nov, 2018 4 commits
  3. 13 Nov, 2018 7 commits
  4. 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
  5. 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
  6. 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
  7. 08 Nov, 2018 2 commits
  8. 06 Nov, 2018 3 commits
  9. 05 Nov, 2018 1 commit
  10. 02 Nov, 2018 1 commit
  11. 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
  12. 28 Oct, 2018 1 commit
  13. 25 Oct, 2018 4 commits
  14. 24 Oct, 2018 1 commit
  15. 23 Oct, 2018 3 commits
    • Sebastian Pinnau's avatar
      automountManager: Add handling of udisks errors for no/wrong passwords · 7026a6fd
      Sebastian Pinnau authored
      If no password or a wrong password is entered after automounting an
      encrypted device, then the password should be reasked. However, this
      does not happen because the relevant udisks error messages for this
      cases are missing in the exception handler that calls _reaskPassword.
      
      Fix this issue by adding the relevant udisks error strings to the
      exception handling in the _onVolumeMounted method.
      
      #640
      7026a6fd
    • verdre's avatar
      build: Include params.js in portal-helper gresources · ceed3e07
      verdre authored
      Fix a regression causing the portal helper to crash.
      In 94423151 we moved the dbus interface
      descriptions into seperate files which is why we had to include the
      fileUtils js module. This module imports the params js module, so add
      params.js to the gresources file for the portal helper.
      ceed3e07
    • Florian Müllner's avatar
      panel: Also ignore hidden windows for proximity · a0dc8dc7
      Florian Müllner authored
      We currently only ignore minimized windows, not windows that are
      hidden for other reasons - namely on wayland windows are initially
      hidden until they are placed.
      
      This fixes a flicker in the transparent top bar on wayland when the
      "position" of an unplaced window wrongly suggests the window is
      overlapping the top bar.
      
      #693
      a0dc8dc7