The greeter daemon runs as root without HOME set, so
xdg::BaseDirectories resolved the state dir against root's
environment and never found the user's cosmic-comp output layout.
The greeter therefore came up with the default monitor arrangement
instead of the saved one.
Resolve the home directory from the passwd entry of the user being
described, read ~/.local/state/cosmic-comp/outputs.ron directly, and
fall back to an empty list when the file is absent.
Also revert the two version fields that the 1.3.0 bulk bump rewrote by
mistake: greetd_ipc has no 1.3.0 release, and the crate version is kept
at 0.1.0 to stay consistent with Cargo.lock so --locked builds work.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Mostly closes: #103
Analogous to my other patches that localize date strings (e.g.
pop-os/cosmic-files#277).
The "password:" prompt is not localized in this patch because PAM should
yield translated strings on its own. This needs further investigation.
Copied from cosmic-comp. Software rendering isn't all that usable
unoptimized. `dev` builds are more practical to test with some
optimization like this.
* Add greeter keyboard and user selection
Fixes#37Fixes#38
* Support switching users and add tooltips to icon buttons
* Implement switching users
* Implement keyboard layout switching
* Ensure that user's xkb_config is used
Logins seem to spuriously fail with both correct or incorrect passwords.
The failure is not related to the password. `cosmic-greeter` hangs but
the GUI still works. The password text area disappears as well.
I traced this issue down to the socket. It seems like accessing the
socket deadlocks with one thread waiting for the socket to become
readable while another waits for it to become writable.
Switching to `greet-ipc`'s `TokioCodec` and adding a lock to the socket
seems to have fixed this issue. I successfully logged in and inputted
incorrect passwords consecutively without experiencing a deadlock.