This space intentionally left blank.
tty1 is usually the console, which is the kernel log and where things like systemd write their messages. No amount of clearing the screen or redraw will stop a future log message from being shown - for reference, greetd clears the screen just before starting the greeter.
Your idle trick does work fine for avoiding most of the messages, but if you want to avoid all risk, either set the console to be a different TTY (this is done on the kernel command line), or run the greeter from e.g. tty2.
Closing as this is just Linux kernel behavior.
Can you try this commit? https://git.sr.ht/~kennylevinsen/seatd/commit/9d855130eb6ac5542cca4eb2d5a87f60a7a557b1
This allow seat_add_client to let new clients be added on empty VTs if the previous client is being disabled. Its seat_open_client will (gracefully) fail, but it will be activated by the session switch logic once the previous client acks the disable event.
There is no guarantee that /run or /var/run is a temporarily filesystem, but I guess we could make the path configurable if needed.
~apognu, would you be up for a a patch? :)
Forgot to close this.
I suppose we could accept which outputs to control as an argument. We will have to get the names of the outputs through the xdg_output protocol.
Apply the background using CSS instead of the older background option, as it works poorly with scaling.
I added an example to the wiki: https://man.sr.ht/~kennylevinsen/greetd/#styling-gtkgreet.
/proc/sys/kernel/core_pattern is the file configuring what the kernel will do with core files. It is not a coredump itself.
You might want to go to #kennylevinsen on freenode.