Commit graph

16 commits

Author SHA1 Message Date
Kenny Levinsen
51c7467516 seat: Rework seat activation/switch logic
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 01:01:46 +02:00
Kenny Levinsen
d16122e98a client: Remove unnecessary active_client check 2020-09-22 01:01:46 +02:00
Kenny Levinsen
ad214dc3fe client: Only unlink if on the idle list 2020-09-01 02:47:03 +02:00
Kenny Levinsen
5d4036e9bd Move list removal to seat/client destroy 2020-09-01 00:33:20 +02:00
Kenny Levinsen
5b8117f3d4 client: Do not leak idle clients on exit 2020-08-31 23:13:16 +02:00
Kenny Levinsen
8e1bf10d9d seatd: Explicit cast -1 to unsigned gid_t
Silences a warning on some architectures.
2020-08-30 23:16:47 +02:00
Kenny Levinsen
c9503ef35d seatd: Slight error handling cleanup 2020-08-30 03:26:52 +02:00
Kenny Levinsen
e86c9ec2b7 seatd: Remove unused device_closed msg body 2020-08-30 03:26:32 +02:00
Kenny Levinsen
5470c48113 seat: Destroy all clients on teardown 2020-08-29 23:49:22 +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
9b7a12d90a seat: Convert device list to linked list 2020-08-03 02:16:21 +02:00
Kenny Levinsen
a003e92600 client: Prefix notification methods with 'send' 2020-08-03 00:56:10 +02:00
Kenny Levinsen
b2cbe576d1 seat: Deactivate devices before sending disable
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 21:46:13 +02:00
Kenny Levinsen
2f54beb5fe client: Implement get_peer for FreeBSD 2020-08-01 16:53:44 +02:00
Kenny Levinsen
61716a2c77 Initial implementation of seatd and libseat 2020-07-31 00:22:18 +02:00