feat: merge subscriptions crate into cosmic-settings repo

This commit is contained in:
Michael Aaron Murphy 2025-10-08 08:19:35 +02:00 committed by Michael Murphy
parent a2f53f2239
commit 600720b7d1
47 changed files with 8399 additions and 63 deletions

View file

@ -4,10 +4,13 @@ The settings application for the [COSMIC desktop environment][cosmic-epoch].
## Translators
Translation files may be found in the [i18n directory](./i18n). New translations may copy the [English (en) localization](./i18n/en) of the project and rename `en` to the desired [ISO 639-1 language code][iso-codes]. Translations may be submitted through GitHub as an issue or pull request. Submissions by email or other means are also acceptable; with the preferred name and email to associate with the changes.
Translations must go through Weblate at https://hosted.weblate.org/projects/pop-os/cosmic-settings.
## Distributors
We will accept pull requests for distro-specific features and pages.
Make them compile conditionally with a [cargo feature][cargo-feature].
The accent palettes on the Appearance settings page are configurable through the cosmic-config directory at `/usr/share/cosmic/com.system76.CosmicSettings/v1/`. One at `accent_palette_dark`, and another at `accent_palette_light`. Examples can be found at [resources/accent_palette_dark.ron](./resources/accent_palette_dark.ron) and [resources/accent_palette_light.ron](./resources/accent_palette_light.ron). This can be copied locally to `~/.config/cosmic/com.system76.CosmicSettings/v1/` for testing, and then move to `/usr/share/cosmic` for packaging.
## Build
@ -41,10 +44,10 @@ It is recommended to build a source tarball with the vendored dependencies, whic
Developers should install [rustup][rustup] and configure their editor to use [rust-analyzer][rust-analyzer]. Run `just check` to ensure that the changes you make are free of linter warnings. You may configure your editor to run `just check-json` as the rust-analyzer check command.
To improve compilation times, disable LTO in the release profile, install the [mold][mold] linker, and configure [sccache][sccache] for use with Rust. The [mold][mold] linker will only improve link times if LTO is disabled.
Run the cosmic-settings binary with `just run` so that logs will be emitted to stderr, and crashes will generate detailed backtraces. Applications shouldn't crash, so when writing code, avoid use of `unwrap()` and `expect()`. Instead, log errors with `tracing::error!()` or `tracing::warn!()`.
To improve compilation times, use Rust >= 1.90.0 and configure [sccache][sccache] for use with Rust.
## License
Licensed under the [GNU Public License 3.0](https://choosealicense.com/licenses/gpl-3.0).
@ -57,10 +60,9 @@ Any contribution intentionally submitted for inclusion in the work by you shall
// SPDX-License-Identifier: GPL-3.0-only
```
[cargo-feature]: https://doc.rust-lang.org/cargo/reference/features.html
[cosmic-epoch]: https://github.com/pop-os/cosmic-epoch
[iso-codes]: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
[just]: https://github.com/casey/just
[rustup]: https://rustup.rs/
[rust-analyzer]: https://rust-analyzer.github.io/
[mold]: https://github.com/rui314/mold
[sccache]: https://github.com/mozilla/sccache