wayland: error out if there aren’t any seats available

If there aren’t any seats available, input is not possible (neither
keyboard nor mouse input).

Note that this is not the same thing as e.g. no keyboard being plugged
in. In this case, there will be a seat, but without the keybaord
capability. Input may not be possible _right now_, but may be later,
if the user plugs in a keyboard.

Closes #779
This commit is contained in:
Daniel Eklöf 2021-11-07 11:29:25 +01:00
parent 347b90eaae
commit 0183e13f50
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 7 additions and 0 deletions

View file

@ -56,6 +56,9 @@
`double-width` to `wcswidth`.
* INSTALL.md: `--override tweak.grapheme-shaping=no` added to PGO
command line.
* Foot now terminates if there are no available seats - for example,
due to the compositor not implementing a recent enough version of
the `wl_seat` interface (https://codeberg.org/dnkl/foot/issues/779).
### Deprecated

View file

@ -1238,6 +1238,10 @@ wayl_init(const struct config *conf, struct fdm *fdm)
"(wl_data_device_manager not implemented by server)");
goto out;
}
if (tll_length(wayl->seats) == 0) {
LOG_ERR("no seats available (wl_seat interface too old?)");
goto out;
}
if (wayl->primary_selection_device_manager == NULL)
LOG_WARN("no primary selection available");