No description
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> |
||
|---|---|---|
| .github | ||
| .zed | ||
| cosmic-greeter-config | ||
| daemon | ||
| dbus | ||
| debian | ||
| examples | ||
| i18n | ||
| res | ||
| src | ||
| .gitattributes | ||
| .gitignore | ||
| build.rs | ||
| Cargo.lock | ||
| Cargo.toml | ||
| cosmic-greeter-start.sh | ||
| cosmic-greeter.toml | ||
| i18n.toml | ||
| justfile | ||
| LICENSE | ||
| README.md | ||
| rust-toolchain.toml | ||
| rustfmt.toml | ||
cosmic-greeter
libcosmic greeter for greetd, which can be run inside cosmic-comp
Development
This project uses just as a command runner.
Available Commands
Building
just build-debug- Compile with debug profilejust build-release- Compile with release profile (default)just build-vendored- Compile release profile with vendored dependencies- Requires vendoring first, which can be done with
just vendor
- Requires vendoring first, which can be done with
Testing & Development
just mock- Run greeter in a windowed compositor for quick testing (builds and runs the mock server example)just run- Run with debug logs (RUST_LOG=debugandRUST_BACKTRACE=full)
Code Quality
just check- Run clippy linter with pedantic warningsjust check-json- Run clippy with JSON output format
Installation
just install- Install all files (binary, daemon, D-Bus config, systemd files)just install-debian- Install only Debian package required filesjust uninstall- Remove all installed files
Cleanup
just clean- Runcargo cleanjust clean-dist- Runcargo cleanand remove vendored dependencies
Vendoring
just vendor- Vendor dependencies locally and create vendor.tarjust vendor-extract- Extract vendored dependencies from vendor.tar