mirror of
https://github.com/outbackdingo/hyprcosmic-session.git
synced 2026-08-25 14:53:23 +00:00
Upstream hardcodes the set of cosmic-* components a session launches. HyprCosmic needs cosmic-comp for window management but waybar and rofi in place of cosmic-panel and cosmic-launcher, so `profile` gates that set. The default profile is upstream behaviour exactly, and it is what an unconfigured build gets; the alternate set is opt-in through HYPRCOSMIC_PROFILE, which only the new session entry sets. So installing this fork cannot change how the stock session boots, and a broken HyprCosmic config is always one logout away from being escaped. Gating lives at the single definition of `start_component` rather than at its call sites, keeping the diff against upstream small enough to rebase against a fast-moving tree. cosmic-panel and cosmic-notifications are the exception: they are started as a coupled pair sharing notification fds and cannot go through that path, so they are gated where they are spawned (hence the re-indentation in the diff). cosmic-greeter is deliberately never disabled - a display manager is the easiest thing to lock yourself out of. cosmic-osd and cosmic-idle stay too, since HyDE's equivalents are separate programs a user may not have and neither competes with waybar for layer-shell space. Verified: 5 unit tests over profile selection and extras parsing; `cargo check -j1` and `cargo build -j1` clean. NOT verified: the gating has never been observed at runtime. Two attempts to run this session nested inside the live desktop logged the developer out instead, so runtime confirmation is deferred to logging into the hyprcosmic.desktop entry from the greeter. Two hazards found along the way and worth recording: name-matching (pkill/pgrep) cannot distinguish this fork's processes from the live session's, and a nested cosmic-session steals the well-known D-Bus name com.system76.CosmicSession from the running session unless it is given a private bus.
38 lines
495 B
Plaintext
38 lines
495 B
Plaintext
# Generated by Cargo
|
|
# will have compiled files and executables
|
|
/target/
|
|
|
|
# These are backup files generated by rustfmt
|
|
**/*.rs.bk
|
|
|
|
# Added by cargo
|
|
/target
|
|
|
|
# Added by Nix
|
|
/result
|
|
|
|
# Debian packaging stuff
|
|
.cargo
|
|
vendor/
|
|
vendor.tar
|
|
*.xz
|
|
*.deb
|
|
*.ddeb
|
|
*.dsc
|
|
*.changes
|
|
*.deb.tar.*
|
|
*.buildinfo
|
|
*.build
|
|
debian/*
|
|
!debian/*install
|
|
!debian/*postinst
|
|
!debian/*gsettings-override
|
|
!debian/changelog
|
|
!debian/control
|
|
!debian/links
|
|
!debian/rules
|
|
!debian/source
|
|
|
|
# HyprCosmic: OMC operational artifacts
|
|
.omc/
|