Kenny Levinsen
6e6903829e
logind: Merge PropertiesChanged handlers
2020-08-28 22:55:25 +02:00
Kenny Levinsen
74eee486fa
libseat: Expand logging in all backends
2020-08-28 22:55:10 +02:00
Kenny Levinsen
1e6d4f451f
libseat: Only print backend attempts for matches
2020-08-28 22:40:10 +02:00
Kenny Levinsen
27c1914625
terminal: Explain FreeBSD current_vt behavior
2020-08-28 17:46:13 +02:00
Kenny Levinsen
dbdce8a54b
terminal: Construct TTY paths correctly on FreeBSD
...
FreeBSD TTY paths are contructed in the kernel using the %r formatter,
which in this case ends up being a base 32 encoding.
The base 32 implementation is taken more or less directly from wlroots
commit fc6c0ca12e94.
2020-08-28 17:46:13 +02:00
Kenny Levinsen
60a8e809b2
terminal: FreeBSD VT num is 1 higher than tty num
...
This was causing all VT and TTY changes to be applied to the wrong TTY.
2020-08-28 02:54:14 +02:00
Kenny Levinsen
8e0b58f90d
terminal: Set K_RAW and term raw mode on FreeBSD
...
Taken from X11, weston and consolekit2 ports for FreeBSD.
Setting just K_CODE as done before makes input seemingly have no ill
effects, but it is still buffered and possibly send to the terminal
after application exit if stdin is never drained. Setting raw mode
appears to be needed to solve that issue.
A K_OFF-like VT keyboard setting like Linux has would seem more
appropriate, but that is not currently available to us on FreeBSD.
2020-08-28 02:54:14 +02:00
Kenny Levinsen
4ae4793b25
simpletest: Set log level to debug
2020-08-28 01:26:39 +02:00
Simon Ser
07ceeeebe0
Introduce libseat_set_log_level
...
The default level is SILENT. log_init no longer takes an initial log
level (so that calls to libseat_set_log_level prior to log_init work
correctly).
2020-08-28 01:21:57 +02:00
Simon Ser
48b9bf4707
Nuke LIBSEAT_LOGLEVEL
...
This will be replaced with a libseat API to set the log level.
2020-08-28 01:21:57 +02:00
Simon Ser
47d4b43f1a
Introduce libseat_set_log_handler
...
This allows libseat users to register a custom logging function.
2020-08-28 01:21:57 +02:00
Simon Ser
a254fe3692
Rename enum log_level to libseat_log_level
...
This is preparatory work for exposing a public function to set libseat's
log handler.
2020-08-28 01:21:57 +02:00
Kenny Levinsen
ab4b961492
libseat: Remove useless logind fallbacks
...
The logind code is based on the wlroots implementation, which in turn
contained copy-paste code from Mutter that serves no purpose here.
2020-08-24 02:55:14 +02:00
Kenny Levinsen
26aff21058
logind: Set session type from env
2020-08-23 20:13:05 +02:00
Kenny Levinsen
8ab3fc03aa
logind: Remove session type check
2020-08-23 20:12:51 +02:00
Kenny Levinsen
24c66d8c08
logind: Remove useless check
2020-08-23 20:12:29 +02:00
Kenny Levinsen
ff44c56ef9
meson: Set license to MIT
2020-08-22 21:47:00 +02:00
Kenny Levinsen
f5bc8ab12b
seatd: Use path-based chmod/chown
...
The fd variants do not seem to work for sockets
2020-08-08 15:27:43 +02:00
Kenny Levinsen
24e2fc7861
ci: Install scdoc for alpine and archlinux
2020-08-08 14:59:50 +02:00
Kenny Levinsen
b312fbfb5e
man: Add simple seatd(1) page
2020-08-08 14:54:25 +02:00
Isaac Freund
48e712ffd9
build: check for libelogind before libsystemd
...
elogind provides a libsystemd wrapper which is packaged by some distros.
For whatever reason using this wrapper instead of libelogind directly
causes compiler warnings to pop up. Checking for libelogind first
ensures that this wrapper is not used.
2020-08-08 14:46:14 +02:00
Kenny Levinsen
e57e3e22b9
contrib: Add example systemd service
2020-08-07 16:06:00 +02:00
Kenny Levinsen
a98e0c4ce9
seatd: Add command-line arguments
2020-08-07 15:50:27 +02:00
Kenny Levinsen
420f973004
ci: Run unittests on all platforms
2020-08-06 13:25:00 +02:00
Kenny Levinsen
b496efa2f9
linked_list: Add unittest
2020-08-06 13:23:51 +02:00
Kenny Levinsen
7d2668e360
logind: Allow SwitchTo for all seats
2020-08-06 02:25:24 +02:00
Kenny Levinsen
0fd525e85e
logind: close_device always returned error
...
Error handling was broken in close_device, always returning -1.
Use the return value, and add a few errno assignments while we're at it.
2020-08-06 02:25:24 +02:00
Kenny Levinsen
304489c30d
libseat: Fix doc typo
2020-08-05 23:41:55 +02:00
Kenny Levinsen
3586530d81
libseat: Rename libseat_impl to seat_impl
2020-08-05 23:41:55 +02:00
Kenny Levinsen
493cc2a97d
log: Remove libseat prefixes
2020-08-05 23:41:55 +02:00
Kenny Levinsen
563a932659
Remove pointless compiler.h
2020-08-05 23:20:50 +02:00
Kenny Levinsen
86efc98a5e
linked_list: Assert initialized list in linked_list_empty
2020-08-04 14:25:07 +02:00
Kenny Levinsen
a844d77c21
seat: Fix device double-remove
2020-08-04 02:38:05 +02:00
Kenny Levinsen
68d95e66b3
seatd: Unlink default seatd socket on startup
2020-08-04 01:44:27 +02:00
Kenny Levinsen
55cbe043e2
server: Gracefully shut down on error
2020-08-04 01:43:55 +02:00
Kenny Levinsen
db36f0dfe8
client: Sanitize shutdown/kill mechanism
2020-08-04 01:43:24 +02:00
Kenny Levinsen
a8204ebcea
client: Tidying
2020-08-03 21:22:59 +02:00
Kenny Levinsen
afc3fa4b11
seat: Enable VT process switching when switching away
2020-08-03 21:21:34 +02:00
Kenny Levinsen
98a4a4ff67
seat: Add VT cleanup on switch to empty VT
...
VTs were being cleaned up the active client of a VT went away, or if we
were acking a kernel VT switch request. However, no cleanup was done if
the user had reqested a session switch to a different VT.
Duplicate the VT cleanup to the VT switch condition.
2020-08-03 02:55:07 +02:00
Kenny Levinsen
250adee852
libseat: Use LIBSEAT_LOGLEVEL instead of SEATD_LOGLEVEL
2020-08-03 02:49:07 +02:00
Kenny Levinsen
e25688fed6
libseat: Convert clients to linked_list
2020-08-03 02:49:04 +02:00
Kenny Levinsen
fc7116ffad
seat: Convert client list to linked list
2020-08-03 02:48:39 +02:00
Kenny Levinsen
9b7a12d90a
seat: Convert device list to linked list
2020-08-03 02:16:21 +02:00
Kenny Levinsen
4afe674e54
linked_list: Initial implementation
2020-08-03 02:13:47 +02:00
Kenny Levinsen
c35b2d2d88
server: Stack-allocate the server
2020-08-03 02:13:47 +02:00
Kenny Levinsen
d68c5feaee
poller: Inline the poller into the server struct
2020-08-03 02:13:22 +02:00
Kenny Levinsen
3f3bdd41dd
poller: Remove unnecessary poll_impl abstraction
2020-08-03 01:15:20 +02:00
Kenny Levinsen
4f4a17a2bd
libseat: Remove unused stdarg.h import
2020-08-03 00:57:34 +02:00
Kenny Levinsen
3a5c17f911
compiler: Rename erroneous header-guard
2020-08-03 00:57:20 +02:00
Kenny Levinsen
9d2e63d090
terminal: Remove unused prototypes
2020-08-03 00:56:38 +02:00