No description
The hidden.is_some() guard dropped a hide-reason upgrade: an Idle-hidden cursor that received a touch stayed Idle, so a later click or scroll revealed it where the spec says a touch-hidden cursor waits for real movement. Reachable on the default config — fullscreen video, cursor idle-hidden after 3s, tap the screen, nudge the scroll wheel. The guard itself has to stay, or every keystroke with while_typing on reschedules a render on every output; so it now returns early only when the reason is unchanged or already Touch. hide_cursor also returned before clearing idle_timer and last_armed when the pointer was grabbed, leaving both stale while on_idle_timer's neighbouring Drop arm cleared them carefully. Clearing in hide_cursor before the grab check fixes both call sites at once — hide_cursor_now removes the source itself, and the Hide arm returns TimeoutAction::Drop — rather than restating the cleanup in one match arm. Drafted with Claude (Anthropic); reviewed and tested by the committer. |
||
|---|---|---|
| .github | ||
| cosmic-comp-config | ||
| data | ||
| debian | ||
| examples | ||
| resources | ||
| src | ||
| .gitignore | ||
| build.rs | ||
| cargo.just | ||
| Cargo.lock | ||
| Cargo.toml | ||
| flake.lock | ||
| flake.nix | ||
| i18n.toml | ||
| justfile | ||
| LICENSE | ||
| README.md | ||
| rust-toolchain.toml | ||
| rustfmt.toml | ||
cosmic-comp
Compositor for the COSMIC desktop environment
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
Code Quality
just check- Run clippy linter with pedantic warnings
Installation
just install- Install binary and configuration filesjust install-bare-session- Install with bare session files (wayland session, systemd units)just uninstall- Remove installed filesjust uninstall-bare-session- Remove installed files including bare session 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