aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-09libseat/seatd: Add dispatch_pending_and_executeKenny Levinsen
This handler returns the number of dispatched or executed events, or -1 if dispatch_pending failed. This helper is used to clean up dispatch_background, which now ensures that all events are executed before we read or poll the connection, and have improved error handling in the corner case where the second dispatch_pending failed.
2021-07-08libseat/seatd: Return executed eventsKenny Levinsen
Dispatch needs to report if something has happened, which includes events executed from the queue as these could have lead to additional dispatch and queuing.
2021-07-06build: add prefix to libseat optionsSimon Ser
The option names are a little bit confusing, because it's not clear which ones toggle libseat features, and which ones toggle seatd features. Add a "libseat-" prefix to libseat-specific features, to make it more obvious that they only are about the library.
2021-06-20link with rtSimeon Schaub
Since seatd uses `clock_gettime`, this is needed when cross-compiling. This came up in https://github.com/JuliaPackaging/Yggdrasil/pull/3193.
2021-05-19readme: Update discuss sectionKenny Levinsen
2021-04-25meson: Support building builtin without seatdKenny Levinsen
The builtin backend relies on the seatd backend implementation. When builtin was enabled without seatd, compilation would fail due to the implementation not being included. Include the implementation if either seatd or builtin is enabled.
2021-04-25libseat/seatd: downgrade ENOENT log to infoSimon Ser
The socket is expected not to be found if seatd is not running. In general other backends will be attempted after seatd. There is already an error message in case no backend can be started.
2021-04-17contrib/systemd: Use a different groupKenny Levinsen
"video" was used for convenience in the example, but a dedicated group is preferable so that a user does not gain the ability to bypass the seat manager and open devices directly.
2021-04-10build: set pkgconfig/dependency variables for featuresSimon Ser
This allows libseat users to e.g. advise people to chmod a+s the executable if libseat is built with the builtin backend. While bumping the Meson version, adjust the scdoc logic to avoid the following warnings: WARNING: Project targeting '>=0.56.0' but tried to use feature deprecated since '0.56.0': Dependency.get_pkgconfig_variable. use Dependency.get_variable(pkgconfig : ...) instead WARNING: Project targeting '>=0.56.0' but tried to use feature deprecated since '0.55.0': ExternalProgram.path. use ExternalProgram.full_path() instead
2021-04-10build: disable logind on -Dauto_features=disabled -Dlogind=autoSimon Ser
Setting auto_features=disabled is supposed to disable all optional dependencies. Since we aren't using a feature option here, we need to manually add logic to disable logind in this case.
2021-04-08build: don't allow "auto" for seatd, builtin, server and examplesSimon Ser
These features don't have any dependencies, so "auto" doesn't make sense.
2021-04-08build: don't explicitly search for shSimon Ser
This removes the "Program sh found" line in the build logs, and should not change anything else.
2021-04-08build: fix logind feature summary when auto-detectedSimon Ser
If -Dlogind=auto but systemd/elogind isn't available, logind_provider would get set to the last item of the foreach loop. This would incorrectly report "systemd: YES".
2021-04-08build: add explicit logind provider option, auto-detect by defaultSimon Ser
Allow package maintainers to explicitly select a logind provider by passing -Dlogind=systemd or -Dlogind=elogind. In case both are available (e.g. for distributions which support both), this makes it possible to gte deterministic behavior. By default, auto-detect the logind provider. That way, users which have systemd or elogind installed get the backend built by default.
2021-04-08meson: make 'logind' var always availableKenny Levinsen
2021-04-08ci: Use 'auto' for arch linux logindKenny Levinsen
2021-03-26Avoid a clang-format quirkKenny Levinsen
clang-format wants to put the terminating NULLs on the same line as the noop backend when it doens't have any immediate non-NULL neighbors. Add a newline to stop it.
2021-03-26meson: declare libseat dependencySimon Ser
This can be used by parent projects when seatd is a subproject: libseat = dependency('libseat', fallback: ['seatd', 'libseat'])
2021-03-26Add no-op sessionSimon Ser
This is useful for headless testing, for instance with VKMS: modprobe vkms export WLR_DRM_DEVICES=/dev/dri/card1 export WLR_BACKENDS=drm export LIBSEAT_BACKEND=noop sway We don't need any of the VT handling in this case.
2021-03-21client: enable cr_pid on FreeBSD >= 12.3Jan Beich
https://cgit.freebsd.org/src/commit/?id=925f44f33862908f9a2e72520a17af148c7d0db5 https://cgit.freebsd.org/src/commit/?id=2b61bda2c75f30f6eadd18fb891fd885e4c8d19d
2021-03-18readme: Remove alpha labelKenny Levinsen
2021-03-16contrib: Add Documentation to systemd unitKenny Levinsen
2021-03-16ci: Remove unnecessary env varsKenny Levinsen
2021-03-16ci: Reduce test runs from 5 to 2Kenny Levinsen
2021-03-16meson: Disable examples by defaultKenny Levinsen
2021-03-16Correct minor misspellingsKenny Levinsen
2021-03-16meson: Minor cleanupKenny Levinsen
2021-03-16meson: Fix logind backend auto modeKenny Levinsen
2021-03-15Bump version to 0.5.0Kenny Levinsen
2021-03-15ci: Add clang-extra-tools to alpineKenny Levinsen
Needed for the clang-format target.
2021-03-15meson: Fix indentationKenny Levinsen
2021-03-15meson: Make summary prettierKenny Levinsen
2021-03-15meson: Clean up test declarations a bitKenny Levinsen
2021-03-02log: Include debug logs in release buildsKenny Levinsen
2021-03-02Normalize log texts a bitKenny Levinsen
2021-03-01log: Remove function name from logKenny Levinsen
2021-02-27clang-formatKenny Levinsen
2021-02-27seatd: Close cur_ttyfd in seat_destroyKenny Levinsen
This fd would only still be set after closing clients if no clients were active on the current VT.
2021-02-27client: Remove link if seat_add_client succeedsKenny Levinsen
Removing the link before before means that we can return without a link, resulting in a double-remove.
2021-02-27seatd: Clean up debug logs a bitKenny Levinsen
2021-02-27Convert a few debug logs to error logsKenny Levinsen
2021-02-27seatd: Set errno in seat_add_clientKenny Levinsen
2021-02-27logind: Fix return values from close_device/get_fdKenny Levinsen
2021-02-27libseat: Fix typo in doc stringKenny Levinsen
2021-02-27meson: ignore 'man-pages' if 'server' is disabledAleksei Bavshin
`seatd.1` is the only man page, so it's not necessary to install it or require scdoc when the server is not built.
2021-02-27seatd: Tear down VT when disabled client closesKenny Levinsen
If a client closed while it was disabled, the VT would not be torn down. If the user navigated back to the VT it belonged to, they would be stuck. When a client is disabled, open the fd for the VT it belonged to and perform regular teardown on it.
2021-02-27client: Replace pending_disable with state enumKenny Levinsen
This simplifies logic in seat handling.
2021-02-02seat: Remove unused arg from seat_deactive_deviceKenny Levinsen
2020-12-23logind: Send ReleaseControl when closing seatKenny Levinsen
This is not strictly speaking necessary as detaching from the bus should trigger this automatically, but elogind apparently has issues with this. Doing this explicitly does no harm, so let's just do that.
2020-12-14simpletest: Close fd after closing deviceKenny Levinsen