summaryrefslogtreecommitdiff
path: root/mate-session/gsm-manager.c
AgeCommit message (Collapse)AuthorFilesLines
2019-02-04 manager: restart user bus if last graphical sessionVictor Kareh1-0/+49
There are desktop services (such as goa-daemon, e-d-s, etc) that don't open the display, but rely on dbus-daemon to scope the session. These days dbus-daemon is a user bus, not a sesssion, bus which leaves these services alive after log out. This commit checks to see if we're the last desktop session for the user at log out time, and if so, restarts the dbus daemon. This will lead to existing clients getting booted and die, but allow user bus clients that want to outlive a session to stick around if they so desire. Longer term, clients should stop relying on the session bus to define their lifetime. https://bugzilla.gnome.org/show_bug.cgi?id=764029 Adapted from https://gitlab.gnome.org/GNOME/gnome-session/commit/97d1cf5
2019-02-04gsm: Disconnect all dbus clients when dbus is disconnectedVincent Untz1-0/+53
When we receive the Disconnected signal from dbus on the session bus, then we know we won't be able to talk to dbus clients anymore, so mark them as disconnected. Also, do not restart them even if they're supposed to be autorestarted, as we won't be able to track them. At this point, the session is kind of hosed. We could possibly decide to simply leave, but we don't do it in case it's a user session and there's unsaved data. This helps a lot in the case of the gdm greeter, see https://bugzilla.gnome.org/show_bug.cgi?id=658481 Adapted from https://gitlab.gnome.org/GNOME/gnome-session/commit/ae8fa537
2019-02-04manager: don't wait for all clients to exit before exitingRay Strode1-18/+2
If a client gets hung up, we shouldn't hold up going to login screen. It means making a bug in a single client break the desktop. https://bugzilla.gnome.org/show_bug.cgi?id=750508 Adapted from https://gitlab.gnome.org/GNOME/gnome-session/commit/58c9323e
2018-11-27gsm-manager: avoid deprecated 'g_settings_list_schemas'Pablo Barciela1-2/+5
2018-11-26Avoid compile warning for g_type_class_add_privateyetist1-294/+511
Fixes the issue with GLib >= 2.58, list of modified files: - mate-session/gsm-manager.c - mate-session/gsm-manager.h
2018-01-03gsm-manager.c: Fix build warning:Pablo Barciela1-1/+4
ignoring return value of ‘fscanf’, declared with attribute warn_unused_result
2017-10-17don't lose focus when displaying logout or shutdown dialogmonsta1-0/+5
same as done in: https://github.com/mate-desktop/mate-polkit/commit/ed37b52fbfbce5d57d0549fac1a9dca2502f3372 fixes https://github.com/mate-desktop/mate-session-manager/issues/123 fixes https://github.com/mate-desktop/mate-session-manager/issues/140
2017-03-05Replace deprecated upower functions with ConsoleKit2 equivalentsSander Sweers1-55/+16
This requires ConsoleKit2 version 0.9.2. + corrections for issues mentioned at https://github.com/mate-desktop/mate-session-manager/pull/133
2017-03-05fix indent a bitmonsta1-4/+4
2017-02-27fix indent of some #if's to match the rest of the filemonsta1-8/+8
2016-10-19Also look for gdm-binary processGeorge Vlahavas1-1/+1
In some systems the gdm binary is actually called "gdm-binary", so we need to check for that too.
2015-12-13fix logic error that caused a weird build warningMonsta1-1/+1
2015-12-13fix warnings about unused variablesMonsta1-18/+6
2015-11-14compile fix for upower 0.99 seriesOlaf Leidinger1-6/+6
upower 0.99 has lost support for hibernate and suspend. This leads to undefined references to up_client_get_can_suspend and up_client_get_can_hibernate on my system. This patch removes any call to those functions for upower >= 0.99.
2015-10-15Only wait 1 second max on logout/shutdownClement Lefebvre1-1/+6
Ported from https://github.com/linuxmint/cinnamon-session/commit/73048abbfe05f882fed31365a1fe5b5733b6b7f6
2015-09-04Use org.gnome.SessionManager at /org/gnome/SessionManager as the DBUS API. ↵Clement Lefebvre1-4/+4
This is necessary for compatibility and it brings support for many apps hardcoding GNOME support but also apps written in GTK (Gtk.Application taps into org.gnome.Session to register applications for a clean shutdown and for inhibition). It doesn't conflict with GNOME or Cinnamon (which both use the same name) since it's on the SessionBus. It makes mate-session aware of programs such as gedit, etc.. which might need to save people's work before logout, it brings support for totem inhibiting the session etc etc..
2015-07-27clean up and de-duplicate definesMonsta1-2/+0
from https://github.com/GNOME/gnome-session/commit/f415130f0de6cdc13d9433632d5ee1554a242103 and https://github.com/GNOME/gnome-session/commit/378f502047022b263d14bbbec213ad442e5ad822
2015-06-28Fix uninitialized variable usages for !HAVE_UPOWEROBATA Akio1-2/+2
2015-04-01ckeck-for-running DM for user switchingraveit651-42/+43
fixes https://github.com/mate-desktop/mate-session-manager/issues/76 taken from linuxmint/cinnamon-session@55538a5
2014-11-07Add an IsSessionRunning methodinfirit1-0/+11
This gives clients who missed the SessionRunning signal a chance to find out if the session has entered the running phase, and lets us avoid race conditions. Based on gnome-session commit: b59d358796343f81b31d4a398998faedd20b8f4b From: Matthias Clasen <[email protected]> Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=636229
2014-11-07gsm: Enforce disable-user-switching lockdown settinginfirit1-1/+24
Based on gnome-session commit: 899fe6b1628cd2d86931632f72512bca04d2aeaf From: Vincent Untz <[email protected]>
2014-11-07lockdown: Add define for disable-log-outinfirit1-1/+2
2014-11-04gsm: Also support disable-log-out for Shutdown/CanShutdown dbus methodsinfirit1-10/+30
On top of that, be a bit paranoid and ensure we don't log out in end_phase() by checking the lockdown setting there too. Based on gnome-session-commit: 107cfa7a4f6f43698407772e31472d742bdb219f From: Vincent Untz <[email protected]>
2014-11-04Improve logout lockdowninfirit1-0/+16
Taken from gnome-session commit: 1e3e0b475cfd352d4abe7ace4ee5a40be04a8b42 From: Ray Strode <[email protected]>
2014-11-04manager: track full details of logout requestinfirit1-31/+42
When we get a logout request, there are two bits of information that come with the request: 1) Whether or not we should seek confirmation by default from the user before proceeding 2) Whether or not individual applications should be given an opportunity to ask us to seek confirmation from the user before proceeding. We track the latter in a boolean state variable (forceful_logout), but not the former. We already have an enumeration type (GsmManagerLogoutMode) that can be used to track both bits, though. This commit changes the boolean state variable to the enum type, so the whether-we-should-confirmation information is available deeper down in the logout process. Based on gnome-session commit: d7adaa9111d0f42d11225c7e29a7ee1d37d74d2f From: Ray Strode <[email protected]>
2014-11-04manager: don't ever show inhibitor dialog if logout is forcedinfirit1-3/+21
If logout is forced, we don't want to show the inhibitor dialog. A forced logout is one that shouldn't be "cancelable". This commit prevents inhibitors from getting added if logout is forced. Based on gnome-session commit: bf1b6e8843b5e72d4f5a62a34eb322b82e33c2df From: Ray Strode <[email protected]>
2014-11-04manager: remove client from query clients list on disconnectinfirit1-6/+47
When the session manager enters the query end session phase, it temporarily adds all clients to the "query clients" list. This list is used to track the progression of clients quitting. If a client quits during the query end session phase instead of waiting until the end session phase, then it will get destroyed but not get removed from the query clients list. This commit removes it from the query clients list in this case. It does this by explicitly invoking the end session response handler (in effect, the client responded to the end session query by exiting). based on gnome-session commit: 8e6afcf1789c02692cf3b1ff3ee0a792d57e17a3 From: Ray Strode <[email protected]>
2014-05-20Always use g_spawn_command_line_syncinfirit1-12/+0
2014-04-30Revert "Allow to build with upower 0.99"Stefano Karapetsas1-6/+6
This reverts commit 80be90bb422ef8cb5a28c7ff3fe2a337dce8c368.
2014-04-22Allow to build with upower 0.99Stefano Karapetsas1-6/+6
2013-11-07Make upower optionalStefano Karapetsas1-11/+24
This commit is just an improved version of the pull request by Wolfgang Ulbrich at https://github.com/mate-desktop/mate-session-manager/pull/38 making it working with both upower and systemd, and improving configure part
2013-10-31session: support_autostart_delayraveit651-8/+46
2013-09-12fix systemd-login1 support for hibernate/suspendraveit651-0/+34
2013-07-26mate-session: Add support for GTK3Stefano Karapetsas1-0/+8
2013-07-10Drop sd-daemon.h and libsystemd-daemon dependency, no longer usedFabio Erculiani1-1/+0
2013-07-10Use LOGIND_RUNNING() rather than sd_booted()Fabio Erculiani1-7/+7
2013-04-13Use synchronous DBus call to switch user in LightDMStefano Karapetsas1-8/+7
2013-04-13Add support to switch user with LightDMStefano Karapetsas1-19/+67
http://bazaar.launchpad.net/~lightdm-team/lightdm/trunk/view/head:/utils/gdmflexiserver Closes #22 (https://github.com/mate-desktop/mate-session-manager/issues/22)
2013-03-22Increase phase timeout to 30 secondsStefano Karapetsas1-1/+1
2013-03-05Add initial systemd supportStefano Karapetsas1-23/+241
2012-11-26fix screensaver gschema usageStefano Karapetsas1-2/+28
close https://github.com/mate-desktop/mate-desktop/issues/38
2012-11-13Fix all compile warnings.Scott Balneaves1-8/+15
2012-10-12fix incorrect FSF addressraveit651-1/+1
2012-10-02migrate to gsettingsmate-session-manager-1.5.0Stefano Karapetsas1-163/+53
2012-05-10Fixed reboot/shutdown issue.Steve Zesch1-0/+42
2012-01-15switch user, use GDM if MDM not found (lightDM supports gdmflexiserver too)Stefano Karapetsas1-0/+23
2011-12-01moving from https://github.com/perberos/mate-desktop-environmentPerberos1-0/+3481