diff --git a/CHANGELOG.md b/CHANGELOG.md index c4c3968..6d9b50e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,8 +15,11 @@ Procedure when bumping the version number: ## Unreleased +## v0.8.0 - 2024-01-04 + ### Added - Support for multiple euph server domains +- Support for `TZ` environment variable - `time_zone` config option - `--domain` option to `cove export` command - `--domain` option to `cove clear-cookies` command diff --git a/CONFIG.md b/CONFIG.md index a3f25ac..fca0589 100644 --- a/CONFIG.md +++ b/CONFIG.md @@ -8,15 +8,11 @@ Here is an example config that changes a few different options: measure_widths = true rooms_sort_order = "importance" -[euph.rooms.welcome] -autojoin = true - -[euph.rooms.test] -username = "badingle" -force_username = true - -[euph.rooms.private] -password = "foobar" +[euph.servers."euphoria.leet.nu".rooms] +welcome.autojoin = true +test.username = "badingle" +test.force_username = true +private.password = "foobar" [keys] general.abort = ["esc", "ctrl+c"] @@ -24,17 +20,6 @@ general.exit = "ctrl+q" tree.action.fold_tree = "f" ``` -If you want to configure lots of rooms, TOML lets you write this in a more -compact way: - -```toml -[euph.rooms] -foo = { autojoin = true } -bar = { autojoin = true } -baz = { autojoin = true } -private = { autojoin = true, password = "foobar" } -``` - ## Key bindings Key bindings are specified as strings or lists of strings. Each string specifies @@ -94,7 +79,7 @@ any options related to the data dir. See also the `--ephemeral` command line option. -### `euph.rooms..autojoin` +### `euph.servers..rooms..autojoin` **Required:** yes **Type:** boolean @@ -102,7 +87,7 @@ See also the `--ephemeral` command line option. Whether to automatically join this room on startup. -### `euph.rooms..force_username` +### `euph.servers..rooms..force_username` **Required:** yes **Type:** boolean @@ -112,7 +97,7 @@ If `euph.rooms..username` is set, this will force cove to set the username even if there is already a different username associated with the current session. -### `euph.rooms..password` +### `euph.servers..rooms..password` **Required:** no **Type:** string @@ -120,7 +105,7 @@ the current session. If set, cove will try once to use this password to authenticate, should the room be password-protected. -### `euph.rooms..username` +### `euph.servers..rooms..username` **Required:** no **Type:** string @@ -642,15 +627,39 @@ See also the `--offline` command line option. **Required:** yes **Type:** string **Values:** `"alphabet"`, `"importance"` -**Default:** `alphabet` +**Default:** `"alphabet"` Initial sort order of rooms list. -`alphabet` sorts rooms in alphabetic order. +`"alphabet"` sorts rooms in alphabetic order. -`importance` sorts rooms by the following criteria (in descending order -of priority): +`"importance"` sorts rooms by the following criteria (in descending +order of priority): 1. connected rooms before unconnected rooms 2. rooms with unread messages before rooms without 3. alphabetic order + +### `time_zone` + +**Required:** no +**Type:** string +**Default:** `$TZ` or local system time zone + +Time zone that chat timestamps should be displayed in. + +This option is interpreted as a POSIX TZ string. It is described here in +further detail: + + +On a normal system, the string `"localtime"` as well as any value from +the "TZ identifier" column of the following wikipedia article should be +valid TZ strings: + + +If the `TZ` environment variable exists, it overrides this option. If +neither exist, cove uses the system's local time zone. + +**Warning:** On Windows, cove can't get the local time zone and uses UTC +instead. However, you can still specify a path to a tz data file or a +custom time zone string. diff --git a/Cargo.lock b/Cargo.lock index 9061b62..4e31d05 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -280,7 +280,7 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "cove" -version = "0.7.1" +version = "0.8.0" dependencies = [ "anyhow", "async-trait", @@ -311,7 +311,7 @@ dependencies = [ [[package]] name = "cove-config" -version = "0.7.1" +version = "0.8.0" dependencies = [ "cove-input", "cove-macro", @@ -322,7 +322,7 @@ dependencies = [ [[package]] name = "cove-input" -version = "0.7.1" +version = "0.8.0" dependencies = [ "cove-macro", "crossterm", @@ -336,7 +336,7 @@ dependencies = [ [[package]] name = "cove-macro" -version = "0.7.1" +version = "0.8.0" dependencies = [ "case", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index 19a2d92..f7b582f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ resolver = "2" members = ["cove", "cove-*"] [workspace.package] -version = "0.7.1" +version = "0.8.0" edition = "2021" [workspace.dependencies]