44 lines
1.5 KiB
Markdown
44 lines
1.5 KiB
Markdown
# Cosmic Weather Applet
|
|
|
|
A weather applet for the [COSMIC](https://github.com/pop-os/cosmic-epoch) desktop environment that displays current conditions in the panel and a full forecast in a popup. Weather data is provided by [wttr.in](https://wttr.in) using IP-based geolocation.
|
|
|
|
## Building
|
|
|
|
Requires a Rust toolchain and the following system dependencies:
|
|
|
|
```sh
|
|
# Debian/Ubuntu
|
|
sudo apt-get install pkg-config libxkbcommon-dev libwayland-dev
|
|
```
|
|
|
|
Install Rust via [rustup](https://rustup.rs/) if needed, then:
|
|
|
|
```sh
|
|
cargo build --release
|
|
```
|
|
|
|
## Testing
|
|
|
|
For development, `cargo run` launches the applet in a standalone window in the center of the display. It behaves the same as when embedded in the panel.
|
|
|
|
```sh
|
|
cargo run
|
|
```
|
|
|
|
## Deploying
|
|
|
|
To deploy to your local user session, build a release binary, replace the running instance, and restart the panel so it picks up the new binary:
|
|
|
|
```sh
|
|
cargo build --release
|
|
cp target/release/cosmic-weather-applet ~/.local/bin/
|
|
# Restart the applet and panel
|
|
killall cosmic-weather-applet
|
|
killall cosmic-panel
|
|
```
|
|
|
|
The panel will relaunch automatically and load the updated applet.
|
|
|
|
## Localization
|
|
|
|
[Fluent](https://projectfluent.org/) is used for localization. Translation files are in the [i18n directory](./i18n). To add a new language, copy the [English (en) localization](./i18n/en), rename the directory to the target [ISO 639-1 language code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and translate the message values.
|