aboutsummaryrefslogtreecommitdiff
path: root/backend/session/logind.c
AgeCommit message (Collapse)Author
2019-05-22session/logind: check for XDG_SESSION_ID firstJan Chren
In order to support compositors running as systemd user units without display manager, a mechanism for specifying session ID exactly must exist. Checking for `XDG_SESSION_ID` mimics loginctl behaviour https://github.com/systemd/systemd/blob/e95be7def26c6c5feaf08a4135aa4f50c53263a8/src/login/loginctl.c#L856.
2019-05-22session/logind: specify seat exactlyJan Chren
"/org/freedesktop/login1/seat/self" path triggers seat-finding code path in logind, which currently relies on getting the session based on caller's PID. This behaviour is deprecated in logind as it doesn't work eg. with systemd user units, which run outside of user session. We check for "seat0" in logind_change_vt() already as introduced in 47985d2dc56a6af469ac9375e7548136765aff16, so hard-coding it here is not a problem, otherwise sd_session_get_seat() could be used.
2019-05-13session/logind: keep active for pause_device goneBrian Ashworth
This appears to be a quick fix for compositors freezing when a dock is disconnected. Disconnection of the dock is causing `pause_device` for the DRM devices associated with the dock. Since these devices major number is `DRM_MAJOR`, the session was being set to inactive. This just makes it so the session is not set to inactive when the device's state is `gone`.
2019-03-01meson: enable more compiler warningsemersion
2019-02-03Allow compositors to run as systemd user unitsmnussbaum
When a wlroots compositor runs as a systemd user unit there is no session associated with the compositor process. Instead we need to attach to an active and graphical user session. This change first looks for an available session for the process, and if there isn't one falls back to display in the oldest available graphical session. This work was modeled after a similar change to mutter - https://gitlab.gnome.org/GNOME/mutter/merge_requests/150.
2019-01-31backend/session/logind: dup FD with CLOEXECemersion
2018-12-06backend/session/logind: improve loggingemersion
2018-11-12Use #if instead of #ifdef for wlroots config dataemersion
This prevents some annoying issues when e.g. not including wlr/config.h or making a typo in the guard name.
2018-10-04Use sd_bus_get_property_trivial & remove numberingnyorain
2018-09-24Rework session handlingnyorain
Sessions can now be retrieved from a backend in a more general manner. Multi-backend gets back its `session` field that contains the session if one was created, removing the interfacing from multi backend with the drm backend directly. This adds the possibility to use sessions even without the drm backend. It additionally fixes the bug that 2 session objects got created when WLR_BACKENDS were set to "libinput,drm". To allow vt switching without drm backend (and drm fd) on logind, start listening to PropertiesChanged signals from dbus and parse the session "Active" property when no master fd was created (this does not change current drm backend behaviour in any way).
2018-09-18backend/session: add assertionsemersion
2018-07-21Revert "Merge pull request #1153 from emersion/include-config"Drew DeVault
This reverts commit ef0a6ea4d2934ec014d791150c42348061ec4f7f, reversing changes made to 8d03bc9178d8544cbcd24293ece6ac9f1698e602.
2018-07-21Always include config.hemersion
2018-07-09util: add wlr_ prefix to log symbolsemersion
2018-07-01Close fd's obtained from logindVincent Vanlaer
2018-06-14Multiseat fixesScott Anderson
2018-02-12Reformat all #include directivesemersion
2018-02-12Make wlr_signal_emit_safe privateemersion
2018-02-12Add wlr_signal_emit_safeemersion
2018-01-21style: add comment to empty while loop in logind.cJohannes Schramm
2018-01-21style: include brackets for if/while/for, even if it's a single statementJohannes Schramm
2018-01-02fix build without systemdPoroCYon
2017-12-27config: Avoid clash with other config-headersBjörn Esser
2017-12-26config: Put all defines into config.hBjörn Esser
2017-12-02Fix style and string comparisonn3rdopolis
2017-12-02Attempt to fix #454n3rdopolis
With logind, only seat0 can use TTYs
2017-11-11Fix typosStefano Ragni
2017-09-22Add elogind supportdudemanguy
Resolves SirCmpwn/wlroots#146
2017-08-26Remove single GPU assumptions from wlr_sessionScott Anderson
2017-08-26Merge wlr_udev into wlr_sessionScott Anderson
2017-08-26Rename functions to be consistent with #93Scott Anderson
2017-08-06Changed header paths.Scott Anderson
2017-08-06Moved session/ into backend/Scott Anderson