Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-03-02 | log: Include debug logs in release builds | Kenny Levinsen | |
2021-03-01 | log: Remove function name from log | Kenny Levinsen | |
2021-02-27 | libseat: Fix typo in doc string | Kenny Levinsen | |
2021-02-27 | seatd: Tear down VT when disabled client closes | Kenny 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-27 | client: Replace pending_disable with state enum | Kenny Levinsen | |
This simplifies logic in seat handling. | |||
2020-09-22 | terminal: Ack both release and acquire | Kenny Levinsen | |
Linux only requires acking release and ignores ack of acquire, but FreeBSD is more stringent and will patiently wait for both to be acked. Implement proper acking for both events. | |||
2020-09-22 | seat: Rework seat activation/switch logic | Kenny Levinsen | |
The seat activation logic did not correctly handle VT switching and switching between multiple sessions. Session switching on VT-bound seats is now performed using a VT switch, taking advantage of VT signals to perform the actual switch. This simplifies switching logic and makes it more robust. | |||
2020-09-22 | poller: Raise signals through self-pipe | Kenny Levinsen | |
Signal handling relied on poll(2) being interrupted by signals, followed by a check for signal handlers flagging a signal as received. This only allowed signals that were received during poll(2) to be handled correctly. Implement the usual self-pipe implementation, where signal handlers write an arbitrary byte to a polled file descriptor to ensure proper level-triggered signal handling. | |||
2020-08-31 | client: Do not leak idle clients on exit | Kenny Levinsen | |
2020-08-31 | test: Add test_run and test_assert macros | Kenny Levinsen | |
test_run and test_assert replaces regular assert with better logging which include the currently running test name. The tests can now also be built without DEBUG. | |||
2020-08-31 | Remove unused list implementation | Kenny Levinsen | |
2020-08-31 | poller: Convert to linked_list | Kenny Levinsen | |
2020-08-31 | server: Convert seat list to linked_list | Kenny Levinsen | |
2020-08-31 | poller: Make event sources opaque | Kenny Levinsen | |
2020-08-30 | seatd: Remove unused device_closed msg body | Kenny Levinsen | |
2020-08-30 | linked_list: Implement linked_list_take | Kenny Levinsen | |
2020-08-29 | seat: Destroy all clients on teardown | Kenny Levinsen | |
2020-08-29 | protocol: Add note to remove device_closed msg | Kenny Levinsen | |
The content of this message is unused, so it should be converted to a content-less message. | |||
2020-08-29 | libseat: Improve logging with seatd conn helpers | Kenny Levinsen | |
Add helpers around connection access to have all logging centralized and reduce code duplication. Improve existing helpers to further reduce code duplication. The seatd backend should have much better logging after this. | |||
2020-08-28 | Introduce libseat_set_log_level | Simon Ser | |
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 | Introduce libseat_set_log_handler | Simon Ser | |
This allows libseat users to register a custom logging function. | |||
2020-08-28 | Rename enum log_level to libseat_log_level | Simon Ser | |
This is preparatory work for exposing a public function to set libseat's log handler. | |||
2020-08-07 | seatd: Add command-line arguments | Kenny Levinsen | |
2020-08-05 | libseat: Fix doc typo | Kenny Levinsen | |
2020-08-05 | libseat: Rename libseat_impl to seat_impl | Kenny Levinsen | |
2020-08-05 | log: Remove libseat prefixes | Kenny Levinsen | |
2020-08-05 | Remove pointless compiler.h | Kenny Levinsen | |
2020-08-03 | seat: Convert client list to linked list | Kenny Levinsen | |
2020-08-03 | seat: Convert device list to linked list | Kenny Levinsen | |
2020-08-03 | linked_list: Initial implementation | Kenny Levinsen | |
2020-08-03 | server: Stack-allocate the server | Kenny Levinsen | |
2020-08-03 | poller: Inline the poller into the server struct | Kenny Levinsen | |
2020-08-03 | poller: Remove unnecessary poll_impl abstraction | Kenny Levinsen | |
2020-08-03 | libseat: Remove unused stdarg.h import | Kenny Levinsen | |
2020-08-03 | compiler: Rename erroneous header-guard | Kenny Levinsen | |
2020-08-03 | terminal: Remove unused prototypes | Kenny Levinsen | |
2020-08-03 | list: Make list_concat argument const | Kenny Levinsen | |
2020-08-03 | client: Prefix notification methods with 'send' | Kenny Levinsen | |
2020-08-03 | libseat: Use symbol file instead of -fvisibility | Kenny Levinsen | |
2020-08-02 | seat: Deactivate devices before sending disable | Kenny Levinsen | |
Previously, seatd would not deactivate devices until the client had acked the disable. In once instance, this lead to libinput spending significant time checking and closing each input device. As a workaround, mimick logind's behavior of deactivating devices first. The original behavior can be reintroduced if the client-side problem is fixed. Closes: https://todo.sr.ht/~kennylevinsen/seatd/5 | |||
2020-08-02 | list: Add list_pop_back | Kenny Levinsen | |
2020-08-02 | seat: Open/close tty on activation/deactivation | Kenny Levinsen | |
The VT and KD ioctl's are picky about the tty fd used. In order to satisfy these, and to improve state cleanup, we now only and store the current tty when opening a client, and use this fd to perform teardown later. The presence of the fd is also used to signal that teardown is needed. | |||
2020-08-01 | Remove ALWAYS_INLINE | Kenny Levinsen | |
Didn't do what I wanted it to anyway. | |||
2020-08-01 | connection: Shrink buffers from 1KB to 256B each | Kenny Levinsen | |
2020-08-01 | devices: Use path to check device type | Kenny Levinsen | |
FreeBSD device numbers cannot be used to check the type of a device, as they are merely unique filesystem IDs. As the paths we use have been sanitized with realpath, we can simply use the path to check if a requested file is an evdev or drm device. This also allows us to make the check before the file is opened. | |||
2020-08-01 | log: Avoid unnecessary GNU extension | Kenny Levinsen | |
2020-07-31 | Initial implementation of seatd and libseat | Kenny Levinsen | |