chore: release v1.2.1
This commit is contained in:
@@ -4,6 +4,12 @@ All notable changes to this project are documented here.
|
|||||||
|
|
||||||
The project uses semantic versioning. Tags are formatted as `vMAJOR.MINOR.PATCH`.
|
The project uses semantic versioning. Tags are formatted as `vMAJOR.MINOR.PATCH`.
|
||||||
|
|
||||||
|
## [1.2.1] - 2026-07-05
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Updated the TUI running screen to center a larger termdown-style ASCII time-left display above progress and post-countdown commands.
|
||||||
|
|
||||||
## [1.2.0] - 2026-07-05
|
## [1.2.0] - 2026-07-05
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
@@ -42,6 +48,7 @@ The project uses semantic versioning. Tags are formatted as `vMAJOR.MINOR.PATCH`
|
|||||||
- Added YAML configuration, CLI `init`, `preview`, and `run` commands.
|
- Added YAML configuration, CLI `init`, `preview`, and `run` commands.
|
||||||
- Added Gitea CI and tag-based release workflows.
|
- Added Gitea CI and tag-based release workflows.
|
||||||
|
|
||||||
|
[1.2.1]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.2.1
|
||||||
[1.2.0]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.2.0
|
[1.2.0]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.2.0
|
||||||
[1.1.3]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.3
|
[1.1.3]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.3
|
||||||
[1.1.2]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.2
|
[1.1.2]: https://gitea.forust.xyz/forust/gosleep/releases/tag/v1.1.2
|
||||||
|
|||||||
Generated
+1
-1
@@ -298,7 +298,7 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "gosleep-timer"
|
name = "gosleep-timer"
|
||||||
version = "1.2.0"
|
version = "1.2.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"clap",
|
"clap",
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "gosleep-timer"
|
name = "gosleep-timer"
|
||||||
version = "1.2.0"
|
version = "1.2.1"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
rust-version = "1.85"
|
rust-version = "1.85"
|
||||||
description = "Terminal sleep timer for Linux desktop actions, with YAML config and a Rust TUI"
|
description = "Terminal sleep timer for Linux desktop actions, with YAML config and a Rust TUI"
|
||||||
|
|||||||
+12
-1
@@ -1669,6 +1669,7 @@ fn format_gauge_label(progress: f64) -> String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn ascii_time(value: &str) -> Vec<String> {
|
fn ascii_time(value: &str) -> Vec<String> {
|
||||||
|
const GLYPH_WIDTH: usize = 10;
|
||||||
let mut rows = vec![String::new(); 7];
|
let mut rows = vec![String::new(); 7];
|
||||||
for ch in value.chars() {
|
for ch in value.chars() {
|
||||||
let glyph = ascii_glyph(ch);
|
let glyph = ascii_glyph(ch);
|
||||||
@@ -1676,7 +1677,7 @@ fn ascii_time(value: &str) -> Vec<String> {
|
|||||||
if !row.is_empty() {
|
if !row.is_empty() {
|
||||||
row.push(' ');
|
row.push(' ');
|
||||||
}
|
}
|
||||||
row.push_str(part);
|
row.push_str(&format!("{part:<GLYPH_WIDTH$}"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
rows
|
rows
|
||||||
@@ -2044,6 +2045,16 @@ mod tests {
|
|||||||
assert!(keys.contains(&FieldKey::CustomCommands));
|
assert!(keys.contains(&FieldKey::CustomCommands));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn ascii_time_rows_have_equal_width() {
|
||||||
|
let rows = ascii_time("14:45:27");
|
||||||
|
let width = rows.first().map(String::len).unwrap_or(0);
|
||||||
|
|
||||||
|
assert_eq!(rows.len(), 7);
|
||||||
|
assert!(width > 0);
|
||||||
|
assert!(rows.iter().all(|row| row.len() == width));
|
||||||
|
}
|
||||||
|
|
||||||
fn visible_field_keys(config: &Config) -> Vec<FieldKey> {
|
fn visible_field_keys(config: &Config) -> Vec<FieldKey> {
|
||||||
visible_fields(config)
|
visible_fields(config)
|
||||||
.into_iter()
|
.into_iter()
|
||||||
|
|||||||
Reference in New Issue
Block a user