1. 31 Oct, 2019 1 commit
  2. 10 Jul, 2019 2 commits
    • Stefan Brüns's avatar
      Split ksmserver into a small application that handles startup and ksmserver · 6bab1f51
      Stefan Brüns authored
      This allows new startup procedures to use a session manager and also
      allows us to slowly replace the session manager without breaking plasma.
      
      Following on from the previous refactor, Startup and Shutdown are moved
      from kmserver and the previous calls into KSMserver are replaced with
      DBus calls.
      
      Reviewers: #plasma, davidedmundson
      
      Reviewed By: #plasma, davidedmundson
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D21995
      6bab1f51
    • Stefan Brüns's avatar
      [ksmserver] Remove obsolete KDELibs4Support dependency · 7fa46fa7
      Stefan Brüns authored
      Summary:
      The inhibition was dysfunctional, as powerdevil delays the inhibition
      by 5 seconds (and is already stopped when the delay times out). Also
      powerdevil handles concurrent user session shutdowns and sleep requests
      itself, so the code is obsolete.
      
      As KDELibs4Support pulled in a number of Frameworks, we have to
      explicitly add these now.
      
      Reviewers: #plasma, broulik, davidedmundson
      
      Reviewed By: #plasma, davidedmundson
      
      Subscribers: apol, sitter, anthonyfieroni, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D22296
      7fa46fa7
  3. 08 Nov, 2018 2 commits
    • David Edmundson's avatar
      [ksmserver] Remove blocking call introspecting KDED · c8ed48fc
      David Edmundson authored
      Summary:
      We don't need to introspect at runtime as KDED installs the interface
      XML file.
      
      Oddly KDED's package is called KDED not KF5KDED, hence the separate
      find_package, I don't know if that's a bug in frameworks or not.
      
      Test Plan: Compiles
      
      Reviewers: #plasma, romangg
      
      Reviewed By: #plasma, romangg
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D16628
      c8ed48fc
    • David Edmundson's avatar
      [ksmserver] Split xsession logout and shutdown into separate classes · 008d58cf
      David Edmundson authored
      Summary:
      This commit splits ksmserver's xsession shutdown logic from performing
      the actual shutdown and running shutdown scripts and implement proposed
      org.kde.Shutdown interface.
      
      Intended longer term target is to move this to a separate executable.
      
      KSMServer's existing logout dbus method still exists for compatibility
      forwarding to the new interface.
      
      There are 2 minor behavioural changes.
      
      The shutdownMode property (which doesn't seem to do anything and is not
      exposed in our UI) is not kept.
      
      If you shutdown /whilst/ starting up somehow, previously we delayed
      showing the logout prompt, we now delay performing the actual logout.
      
      Test Plan:
      Logged out / shut down using the old API
      Logged out / shut down using the new DBus API
      
      Reviewers: #plasma, apol, romangg
      
      Reviewed By: #plasma, apol, romangg
      
      Subscribers: romangg, apol, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D16277
      008d58cf
  4. 30 Oct, 2018 1 commit
    • David Edmundson's avatar
      [ksmserver] Launch logout greeter with DBus methods · 68538b6d
      David Edmundson authored
      Summary:
      Removing this is part of preparations for ksmserver to become just an X
      session manager. See T9779.
      
      Instead of ksmserver opening the greeter with a tonne of args and then
      having a socket to watch for changes, the new mechanism is that we fire
      and forget the prompt. Then the logout prompt calls back into ksmserver
      with the request. Simplifies code greatly allows for moving.
      
      KSMserver's shutdown DBus method remain on ksmserver for compatibility,
      but ultimately spawning the prompt will move to libkworkspace and called
      from the session directly.
      
      QML API in the logout greeter remains mostly untouched.
      
      Behavioural changes are minor:
      There was a QML property "choose" exposed to the greeter if the default
      shutdown option is set to None. Though we don't allow this in the KCM
      and our default prompt doesn't use it.
      
      We no longer block a user from saving a session whilst a logout prompt
      is active.
      
      Test Plan:
      Logged out
      Shutdown
      
      Also ran with old ksmse...
      68538b6d
  5. 10 Oct, 2018 2 commits
  6. 03 Sep, 2018 1 commit
    • Stefan Brüns's avatar
      Specify minimum version for KScreenlocker, use correct DBUS path · aab6b5c2
      Stefan Brüns authored
      Summary:
      org.kde.screensaver.xml is only part of KScreenlocker starting with
      version 5.13.80, also the installation directory is not exported in
      earlier versions.
      
      Depends on D15228
      
      Test Plan:
      Try to build with kscreenlocker 5.13.0
      Try to build with kscreenlocker 5.13.80
      
      Reviewers: #plasma, davidedmundson
      
      Reviewed By: #plasma, davidedmundson
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D15229
      aab6b5c2
  7. 01 Sep, 2018 1 commit
    • David Edmundson's avatar
      Merge switch user dialog into lockscreen · 084b9a40
      David Edmundson authored
      Summary:
      This reduces a bunch of code, both hidden in the backend as well as the
      mostly duplicated front end UI, making it more consistent for users too.
      
      There is a behavioural change that switching user then cancelling will
      require your own password.
      
      KSMServer still has the same DBus slot for compatibility which then
      proxies over to the screensaver. This could be calling itself, it might
      be calling kwin when we're on wayland.
      
      Depends on D15186
      
      Test Plan:
      Pressed switch user from the UI
      Got a swich user dialog
      
      Reviewers: #plasma, mart
      
      Reviewed By: #plasma, mart
      
      Subscribers: ngraham, mart, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D15187
      084b9a40
  8. 10 Jul, 2018 1 commit
  9. 04 Feb, 2018 1 commit
  10. 31 Jan, 2018 1 commit
  11. 20 Jan, 2018 1 commit
  12. 09 Dec, 2017 1 commit
    • Marco Martin's avatar
      port logout screen to kpackage fileUrl · a645d101
      Marco Martin authored
      Summary: port the shutdown dialog to package::fileUrl, dropping the support for old custom themes
      
      Test Plan: shutdown dialog work correctly both with normal and rcc kpackages
      
      Reviewers: #plasma, davidedmundson
      
      Reviewed By: #plasma, davidedmundson
      
      Subscribers: broulik, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D9195
      a645d101
  13. 02 Nov, 2017 1 commit
  14. 15 Oct, 2017 1 commit
  15. 24 Nov, 2016 1 commit
  16. 24 Aug, 2016 1 commit
    • David Edmundson's avatar
      Move logic for services autostart from klauncher to ksmserver · d9883511
      David Edmundson authored
      Summary:
      Currently ksmserver sends DBus calls to klauncher to autostart services.
      
      This patch brings all autostarting into the ksmserver process, putting
      all autostart code together, and improving Plasma/Frameworks separation
      (change requested by David Faure) with the long term goal of removing
      this from klauncher; with a longer term goal of maybe even killing
      klauncher.
      
      We don't get two things autostarting as without ksmserver sending the
      signals, klauncher does nothing.
      
      Autostart.cpp code is copied verbatim so there's no breakage.
      
      Test Plan: Logged in, got plasma and krunner and so on.
      
      Reviewers: #plasma, graesslin
      
      Reviewed By: #plasma, graesslin
      
      Subscribers: mart, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D2544
      d9883511
  17. 15 Aug, 2016 2 commits
    • Martin Flöser's avatar
      [ksmserver] Use the new logout greeter binary to show the shutdown dialog · 0256d5f8
      Martin Flöser authored
      Summary:
      Ksmerver now starts the logout greeter binary instead of creating
      the KSMShutdownDlg. The complete interaction to logout is now performed
      in an async, non-blocking way.
      
      Test Plan: Successfully cancelled logout and performed logout and shutdown
      
      Reviewers: #plasma
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D2257
      0256d5f8
    • Martin Flöser's avatar
      [ksmserver] Create a dedicated binary from KSMShutdownDlg · 4af2c532
      Martin Flöser authored
      Summary:
      The idea behind this change is to have a dedicated binary for the
      logout dialog. As a follow up ksmserver needs to be adjusted to invoke
      the helper binary instead of interacting with KSMShutdownDlg directly.
      
      This will bring quite some improvements to the logout architecture:
      * ksmserver doesn't need to run a QEventLoop to wait for the dialog to finish
      * it becomes easier to test changes for the logout dialog, one doesn't need
        to restart the session any more
      * ksmserver becomes better guarded against problems in the UI layer (e.g.
        OpenGL errors)
      * the binary can be changed to support Wayland
      * ksmserver becomes better guarded against problems with updating Qt
        while the session is running
      
      This change only introduces the creation of the binary. A new sub-dir
      "logout-greeter" is added which creates a ksmserver-logout-greeter.
      The greeter defines various command line arguments for the options which
      are being passed to the KSMShutdownDlg.
      
      If the dialog returns an exit value of 0 it is interpreted as accepted.
      A return value != 0 indicates that the user rejected the logout.
      
      The dialog also passes additional values back. In particular the logout
      method might be changed and returned back to ksmserver. To support this
      operation a pipe filedescriptor can be passed to the greeter. If present
      the greeter will write the numerical value of KWorkspace::ShutdownType
      into the pipe on success.
      
      To indicate how the interaction - especially the reading from pipe -
      works, the change comes with an additional test binary. It forwards
      the command line arguments and creates the pipe to pass to the greeter
      and reads it back in a helper thread to be non-blocking. This approach is
      inspired from kwin_wayland's starting of Xwayland.
      
      Test Plan: See the new test binary
      
      Reviewers: #plasma
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D2252
      4af2c532
  18. 23 Jun, 2016 2 commits
  19. 09 Jan, 2016 1 commit
    • Andreas Hartmetz's avatar
      Remove legacy session management support. · 5f0ca130
      Andreas Hartmetz authored
      According to Git / SVN history research, it was last used by KDE in
      KDE 1. It seems like other toolkits also stopped using it 10-20 years
      ago. It should have little to no practical relevance anymore.
      I've found some documentation of legacy XSM session management from
      1992, and the first copyright year of the XSMP spec (what we're
      currently using) is 1993.
      
      Also, XSM was removed from GNOME's gnome-session in 2005, rationale
      and short discussion here:
      https://mail.gnome.org/archives/desktop-devel-list/
      2005-July/msg00527.html
      with the following objections:
      - Firefox doesn't support XSMP (long fixed)
      - CDE on Solaris doesn't support XSMP (oh well...)
      - Motif applications don't support XSMP
      
      On kde-core-devel and kwin, nobody cared too much.
      Consider XSM "accidentally" broken now ;)
      https://marc.info/?l=kde-core-devel&m=144857647812257
      https://marc.info/?l=kde-core-devel&m=144976915400658
      
      There is a utility called xsmproxy which comes from X.org.
      It talks legacy XSM to clients and XSMP to an XSMP compliant
      session manager and can therefore maybe hopefully make session
      management of dinosaur applicatons sort of work.
      It seems like that one received its last major modification
      in 2003.
      
      There is also some XSM related code in KWin that I will remove next.
      5f0ca130
  20. 17 Nov, 2015 1 commit
    • Kai Uwe Broulik's avatar
      Add pretty user switcher · fe97f427
      Kai Uwe Broulik authored
      This adds a user switcher borrowing elements from the lock screen and log out dialog.
      It will be used instead of KRunner as main UI for switching sessions. The sessions runner
      will stay there for the time being.
      
      CHANGLOG: The main user switcher UI has been completely re-designed
      
      REVIEW: 124585
      fe97f427
  21. 05 Nov, 2015 1 commit
  22. 04 Nov, 2015 1 commit
  23. 29 Oct, 2015 2 commits
  24. 28 Oct, 2015 1 commit
    • Heiko Becker's avatar
      Use PATH_VARS feature of ecm_configure_package_config_file · 050c66bf
      Heiko Becker authored
      This makes specifying absolute paths on the commandline that are then
      encoded into the config file work.
      Not hard-coding the packackage prefix is also helpful on a multiarch
      layout where the prefix is /usr/${host} but arch-independent files
      should still be installed to /usr/share (i.e a level below the
      prefix).
      
      REVIEW: 125844
      050c66bf
  25. 26 May, 2015 1 commit
    • Martin Klapetek's avatar
      Switch the login sound to Phonon directly...for now · c445f993
      Martin Klapetek authored
      With its current architecture, KNotification can cause crashes on logout
      due to use of Q_GLOBAL_STATIC and threads and Phonon and cleanup by main
      thread. So this replaces the KNotification-in-a-thread with Phonon
      directly.
      
      This is exactly what KNotification would do. This is for the time being
      until the crash on logout is sorted out.
      
      Additionally, this also fixes logout sound which was missing before.
      This uses normal KNotification as at that point we don't need to be
      threading or anything, so KNotification is just safe.
      
      REVIEW: 123834
      c445f993
  26. 13 Mar, 2015 1 commit
  27. 09 Mar, 2015 1 commit
  28. 17 Jan, 2015 1 commit
  29. 11 Jan, 2015 1 commit
  30. 09 Jan, 2015 1 commit
  31. 31 Oct, 2014 1 commit
  32. 29 Sep, 2014 2 commits
  33. 03 Sep, 2014 1 commit