1. 13 May, 2019 1 commit
    • Roddy Shuler's avatar
      power: Increase blank delay for screensaver · bd840e2a
      Roddy Shuler authored
      Upon waking from a screen lock, if the user stops typing,
      the password screen is only displayed for 15 seconds.
      This can be a bit confusing to users, especially if using
      an external display that takes several seconds to wake up.
      
      Bump this timeout up to 30 seconds.
      bd840e2a
  2. 11 May, 2019 1 commit
  3. 09 May, 2019 2 commits
    • Hans de Goede's avatar
      media-keys: Stop treating tablets specially · 425828ed
      Hans de Goede authored
      There are problems with treating the power-button on tablets in a special
      manner:
      
      1) The configuration for the power-button behavior is now part of the
      main control-center power capplet, so it is visible to all users. It is
      very strange and inconsistent for users with a device which gets identified
      as a tablet that they can configure the behavior of the button in the
      control-center but the behavior does not change.
      
      2) The method used to determine if something is a tablet is unreliable,
      various surface like devices and some laptops wrongly have "Tablet"
      as chassis-type. So relying on chassis-type info for this is a bad idea.
      
      This commit removes the special handling of the power-button on tablets,
      falling back to the normal behavior of doing what the user has configured.
      425828ed
    • Hans de Goede's avatar
      power: Stop treating tablets specially · 2e508928
      Hans de Goede authored
      Quite some time ago special handling for tablets was added to
      gsd-power-manager to automatically suspend the tablet when the
      screen was blanked to save power.
      
      With the more recent auto-suspend (when on battery power) support, this
      hardcoded behavior really is no longer necessary, if the auto-suspend
      timeout gets set to the same value as the blank timeout the same result
      is achieved, but now under user control, rather then being hardcoded.
      
      Not having this hardcoded is desirable because suspend is not always
      desirable, e.g. when ongoing downloads are active, or other network
      connections are open such as an irc client.
      
      The hardcoded behavior is especially troublesome because it not only
      triggers on actual tablets, but also on various non tablet devices,
      both surface like devices, which are often used as one would use a
      laptop, as well as on some actual laptops. On laptops one may typically
      have an irc-client open, network downloads ongoing, etc. and then lock
      the screen when walking away. The current hardcoded suspend behavior
      causes the downloads to abort, irc messages to be missed, etc. and
      with this not being configurable there is nothing the user can do to
      avoid this.
      
      I've looked into making gsd_power_is_hardware_a_tablet() more reliable,
      but this relies on the DMI chassis type, which ultimately simply is
      unreliable
      
      Since the auto-suspend on screen blank functionality is duplicate with
      the auto-suspend and the tablet-identification is unreliable, lets just
      remove the special handling for tablets.
      2e508928
  4. 07 May, 2019 1 commit
    • Benjamin Berg's avatar
      power: Only disable Suspend/Hibernate actions inside VM · c07ea84b
      Benjamin Berg authored
      While we theoretically only want a different default value inside a VM,
      we currently hack this by never doing a suspend action inside VMs.
      However, that also breaks automatic logout, which is an unintended side
      effect.
      
      Move the check to not install the corresponding timeout (preventing
      sleep warnings from being displayed) and also only enforce the VM
      specific hack for the Suspend and Hibernate actions.
      c07ea84b
  5. 03 May, 2019 1 commit
  6. 26 Apr, 2019 1 commit
  7. 23 Apr, 2019 1 commit
  8. 16 Apr, 2019 2 commits
    • Benjamin Berg's avatar
    • Benjamin Berg's avatar
      color: Allow night light to be always on · 02295dee
      Benjamin Berg authored
      Currently if the user configures the "from" and "to" times for the night
      light schedule to be close together or equal, g-s-d gets confused as it
      still tries to smear the transition over a full hour period.
      
      To fix this, first make sure that the smearing period is short enough to
      fit between sunrise and sunset. Also redefine equal start/end times when
      calculating whether a time falls into a range as the full 24h period.
      
      This effectively means that we will smear over the full day or night
      time when the sunrise and sunset are closer than an hour to each other.
      It also means that we always enable night light when the times are
      equal.
      
      Based on a patch by Matthew Leeds <matthew.leeds@endlessm.com>.
      02295dee
  9. 15 Apr, 2019 9 commits
    • Benjamin Berg's avatar
      xsettings: Increase timeout in xsettings test · 4af47a0b
      Benjamin Berg authored
      It seems that this is causing sporadic failures. Increase the sleep time
      to apply the settings to 2 seconds rather than only waiting one second.
      4af47a0b
    • Benjamin Berg's avatar
      screensaver-proxy: Fix missing error returns for DBus method calls · abdaa8f8
      Benjamin Berg authored
      Many of the error cases were not handled, resulting in the sender to
      never get a reply. Fix these by adding appropriate error return paths
      (simply returning a generic GError in some cases).
      
      Fixes: #344
      abdaa8f8
    • Benjamin Berg's avatar
      power: Clarify reason for lid inhibition · 69c781c2
      Benjamin Berg authored
      The reason was "Multiple displays attached" which is not really
      accurate, as we are looking for an external screen rather than multiple
      screens. Also, we always grab the inhibitor after a change and then
      release it again if there is no external monitor after a short period of
      time.
      
      Change it to "External monitor attached or configuration changed
      recently" which should clarify this.
      
      Fixes: #353
      69c781c2
    • Benjamin Berg's avatar
      meson: Bump polkit requirement to 0.114 · f93c42bb
      Benjamin Berg authored
      This is needed for the ITS rules, without it msgfmt fails on the policy
      file.
      
      Fixes #10
      f93c42bb
    • Benjamin Berg's avatar
      meson: Bump colord requirement · 0a6f325a
      Benjamin Berg authored
      We need at least 1.3.5 for cd_color_get_blackbody_rgb.
      
      Fixes #392
      0a6f325a
    • Benjamin Berg's avatar
      power: Fix parent element of the manager object struct · c64c243e
      Benjamin Berg authored
      This is a regression that was introduced when moving to
      G_DECLARE_FINAL_TYPE. This was a typo that only happened for
      GsdPowerManager, and the other migrated classes are fine.
      c64c243e
    • Benjamin Berg's avatar
      power,color: Use g_signal_connect_object for the session manager · fb2ca61f
      Benjamin Berg authored
      The session manager object is globally shared and may live longer than
      the GSD plugin manager object. Use g_signal_connect_object rathre than
      g_signal_connect to prevent callbacks to destroyed objects.
      
      This is a theoretical issue, no impact has been seen from this.
      fb2ca61f
    • Benjamin Berg's avatar
      power: Fix potential manager reference count leak · cb2a1c37
      Benjamin Berg authored
      The reference would be leaked if the function returns early. Move
      attaching the data and register it so it gets unref'ed automatically.
      
      Note that this reference leak has no effect in normal sessions, in the
      worst case it prevents proper cleaup of some resources on daemon
      shutdown.
      cb2a1c37
    • Benjamin Berg's avatar
      Fix MPRIS issues with disconnecting clients · 162379ed
      Benjamin Berg authored
      When clients disconnected and they were not the active client they would
      not be removed from the list. This caused the controller to create a
      proxy for non-existing clients, causing a bad state. The "connecting"
      boolean was also not reset, meaning that a new MPRIS client would never
      be used.
      
      Also, there seems to have been a race caused by the fact that we
      destroyed the DBus proxy from the vanished signal. Change the DBus proxy
      to be removed when its g-name-owner property becomes NULL.
      
      Fixes #45
      162379ed
  10. 11 Apr, 2019 1 commit
    • Benjamin Berg's avatar
      power,media-keys: Signal connector rather than output ID for OSD · ded2c4c3
      Benjamin Berg authored
      We don't have the concept of an output ID anymore in the DBus API. The
      current code was entirely broken for a long time now (i.e. never
      signalled any output) and the fixup for 3.32 that I did was actually
      doing guesses that were incorrect.
      
      Fix this properly by passing around the connector name rather than an
      output ID. This requires changes in gnome-shell to work properly (but
      doesn't regress without those changes).
      
      Fixes: #401
      ded2c4c3
  11. 08 Apr, 2019 1 commit
  12. 07 Apr, 2019 1 commit
  13. 06 Apr, 2019 2 commits
  14. 02 Apr, 2019 1 commit
  15. 29 Mar, 2019 1 commit
  16. 28 Mar, 2019 1 commit
    • Jian-Hong Pan's avatar
      media-keys: Add mapping for screen brightness cycle key · dce8028e
      Jian-Hong Pan authored
      The Acer Veriton Z4660G/Z4860G/Z6860G series AIO desktops have a
      brightness button in the bottom.  The KEY_BRIGHTNESS_CYCLE event will be
      sent from ACPI video module in kernel when the button is pressed.
      
      This commit adds the binding for the KEY_BRIGHTNESS_CYCLE event sent
      from the button as a media-key.
      
      #117
      dce8028e
  17. 27 Mar, 2019 1 commit
  18. 25 Mar, 2019 2 commits
  19. 22 Mar, 2019 10 commits