From dcca5fec887a893363f6fe0cec1da4d0730ed8ef Mon Sep 17 00:00:00 2001 From: Samuel Onoja Date: Sun, 27 Sep 2026 06:55:21 +0100 Subject: [PATCH] Add selectable Pixel clock styling and widget font controls --- assets/fonts/Cantarell-ExtraBold.otf | Bin 0 -> 105548 bytes assets/fonts/Cantarell-LICENSE.txt | 111 ++++++++++++++++++ assets/fonts/Comfortaa-LICENSE.txt | 94 +++++++++++++++ assets/fonts/Comfortaa-Regular.otf | Bin 0 -> 91584 bytes crates/ferese-core/src/desktop.rs | 16 ++- docs/desktop-widgets.md | 13 ++- packaging/config.kdl | 3 +- packaging/ferese-screenshot | 4 +- scripts/install-session.sh | 2 + shell/ferese-settings/src/fonts.rs | 34 ++++++ shell/ferese-settings/src/main.rs | 42 +++++++ shell/ferese-settings/src/schema.rs | 28 +++-- shell/ferese-settings/src/store.rs | 1 + shell/ferese-shell/src/main.rs | 168 ++++++++++++++++++++++++--- 14 files changed, 479 insertions(+), 37 deletions(-) create mode 100644 assets/fonts/Cantarell-ExtraBold.otf create mode 100644 assets/fonts/Cantarell-LICENSE.txt create mode 100644 assets/fonts/Comfortaa-LICENSE.txt create mode 100644 assets/fonts/Comfortaa-Regular.otf create mode 100644 shell/ferese-settings/src/fonts.rs diff --git a/assets/fonts/Cantarell-ExtraBold.otf b/assets/fonts/Cantarell-ExtraBold.otf new file mode 100644 index 0000000000000000000000000000000000000000..ecb257627408378702389ae59b29c296a8005274 GIT binary patch literal 105548 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

; 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

PcRWEfX>pA1UKD#EhBr8W27qvWlJ_yi7 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 BulN7} literal 0 HcmV?d00001 diff --git a/crates/ferese-core/src/desktop.rs b/crates/ferese-core/src/desktop.rs index c29abb7..de3f2c4 100644 --- a/crates/ferese-core/src/desktop.rs +++ b/crates/ferese-core/src/desktop.rs @@ -179,9 +179,18 @@ pub enum Alignment { Right, } +#[derive(Clone, Copy, Debug, Default, Deserialize, PartialEq, Eq)] +#[serde(rename_all = "snake_case")] +pub enum ClockStyle { + #[default] + Pixel, + Minimal, +} + #[derive(Clone, Debug, Deserialize, PartialEq)] #[serde(default, deny_unknown_fields)] pub struct Clock { + pub style: ClockStyle, pub enabled: bool, /// Empty means every output; otherwise exact connector names. pub outputs: Vec, @@ -212,19 +221,20 @@ pub struct Clock { impl Default for Clock { fn default() -> Self { Self { + style: ClockStyle::Pixel, enabled: false, outputs: Vec::new(), anchor: Anchor::TopLeft, margin_x: 64, margin_y: 80, width: 440, - height: 160, + height: 320, font_family: None, bold: false, - time_size: 72., + time_size: 128., date_size: 18., time_format: "%-I:%M %p".into(), - date_format: "%A, %-d %B".into(), + date_format: "%a, %b %-d".into(), time_zone: None, show_date: true, lowercase: true, diff --git a/docs/desktop-widgets.md b/docs/desktop-widgets.md index 3c6dbbc..1ff87c2 100644 --- a/docs/desktop-widgets.md +++ b/docs/desktop-widgets.md @@ -14,15 +14,16 @@ Enable it in Settings → Desktop widgets or in your Ferese config: ```kdl desktop-widgets { clock enabled=#true anchor="top_left" margin-x=64 margin-y=80 { + style "pixel" // or "minimal" outputs // every output; or outputs "DP-2" width 440 - height 160 - font-family "" // inherit the desktop font + height 320 + font-family "" // style default; or "Comfortaa" bold #false - time-size 72.0 + time-size 128.0 date-size 18.0 time-format "%-I:%M %p" // use "%H:%M" for 24-hour time - date-format "%A, %-d %B" + date-format "%a, %b %-d" time-zone "" // system zone; or "Africa/Lagos" show-date #true lowercase #true @@ -45,6 +46,8 @@ Margins affect anchored axes only: a centered horizontal position ignores All geometry and text sizes use logical pixels and follow the output's scale. Increase the widget width/height for longer formats or larger text. +Pixel is the default clock style: heavy hours above minutes, alternating theme colors, and a small plain date above. Its bundled Cantarell display font can be replaced with the font selector. Minimal retains the plain time/date layout. Pixel zero-pads hours and hides am/pm for the stacked display. Formats with seconds or additional text retain their full formatted label on one line. Both styles shrink time text to fit smaller widget dimensions; an explicit text color overrides the alternating colors. + Saving reloads appearance and labels live. Placement, size, output filters and enable/disable changes recreate only clock surfaces; normal windows and the bar remain intact. Disconnecting an output destroys its clock; reconnecting creates @@ -84,6 +87,8 @@ click Edit for its multiline editor, then Done to finish. Text autosaves after 500 ms without typing. Escape cancels a drag or finishes editing. Position saves on release; dragging changes the anchor to `top_left` and saves pixel margins. Title, size and style are also editable in Settings. Notes persist in the config. +Choose each note’s font in Settings using the installed-font dropdown or enter a family name manually. Default font inherits the interface font. In KDL, use `font-family "Comfortaa"` inside the `note` node. + These are plain-text notes, not Markdown or HTML. ```kdl diff --git a/packaging/config.kdl b/packaging/config.kdl index d2a1efa..05b8ef4 100644 --- a/packaging/config.kdl +++ b/packaging/config.kdl @@ -33,11 +33,12 @@ window-rule title="Choose a wallpaper" floating=#true desktop-widgets { clock { + style "pixel" enabled #false anchor "top_left" margin-x 64 margin-y 80 - time-size 72.0 + time-size 128.0 date-size 18.0 opacity 0.9 } diff --git a/packaging/ferese-screenshot b/packaging/ferese-screenshot index f16396a..fd6279b 100755 --- a/packaging/ferese-screenshot +++ b/packaging/ferese-screenshot @@ -48,13 +48,13 @@ trap '[[ -z $input ]] || rm -f -- "$input"; [[ -s $file ]] || rm -f -- "$file"' input=$(mktemp "$XDG_RUNTIME_DIR/ferese-screenshot-XXXXXX.png") || fail 'Could not create the temporary capture.' grim "${capture_args[@]}" "$input" || fail 'Could not capture the screen. Log back into Ferese after enabling screen capture.' # Enter saves the annotated image and copies it; Escape discards the capture. -# Do not pass the selector lock to Satty or its clipboard subprocess. +exec 9>&- satty --filename "$input" --output-filename "$file" \ --fullscreen current-screen \ --copy-command 'wl-copy --type image/png' \ --save-after-copy \ --actions-on-enter save-to-file,save-to-clipboard,exit \ - --actions-on-escape exit 9>&- || fail 'Could not open the screenshot in Satty.' + --actions-on-escape exit || fail 'Could not open the screenshot in Satty.' if [[ -s $file ]]; then printf '%s\n' "$file" fi diff --git a/scripts/install-session.sh b/scripts/install-session.sh index 512f3c3..7d60190 100644 --- a/scripts/install-session.sh +++ b/scripts/install-session.sh @@ -59,6 +59,8 @@ install -m 0755 -- "$repo_dir/packaging/ferese-session" "$release_dir/ferese-ses install -m 0755 -- "$repo_dir/packaging/ferese-lock" "$release_dir/ferese-lock" install -m 0755 -- "$repo_dir/packaging/ferese-screenshot" "$release_dir/ferese-screenshot" install -m 0644 -- "$repo_dir/packaging/config.kdl" "$release_dir/config.example.kdl" +install -D -m 0644 -- "$repo_dir/assets/fonts/Comfortaa-LICENSE.txt" "$release_dir/licenses/Comfortaa-LICENSE.txt" +install -D -m 0644 -- "$repo_dir/assets/fonts/Cantarell-LICENSE.txt" "$release_dir/licenses/Cantarell-LICENSE.txt" install -d -m 0755 -- "$release_dir/wallpapers" install -m 0644 -- "$repo_dir/assets/wallpapers/ferese.png" "$release_dir/wallpapers/ferese.png" install -m 0644 -- "$repo_dir/assets/wallpapers/ferese.svg" "$release_dir/wallpapers/ferese.svg" diff --git a/shell/ferese-settings/src/fonts.rs b/shell/ferese-settings/src/fonts.rs new file mode 100644 index 0000000..53ee052 --- /dev/null +++ b/shell/ferese-settings/src/fonts.rs @@ -0,0 +1,34 @@ +use std::{process::Command, sync::OnceLock}; + +pub fn families() -> &'static [String] { + static FAMILIES: OnceLock> = OnceLock::new(); + + FAMILIES.get_or_init(|| { + let output = Command::new("fc-list") + .args(["--format", "%{family}\\n"]) + .output() + .ok() + .filter(|output| output.status.success()); + let mut families: Vec = output + .as_ref() + .map(|output| String::from_utf8_lossy(&output.stdout)) + .unwrap_or_default() + .lines() + .flat_map(|line| line.split(',')) + .map(str::trim) + .filter(|family| !family.is_empty() && family.len() <= 128) + .map(str::to_owned) + .collect(); + + families.extend([ + "Comfortaa".into(), + "sans-serif".into(), + "serif".into(), + "monospace".into(), + ]); + families.sort_unstable_by_key(|family| family.to_lowercase()); + families.dedup(); + families.insert(0, "Default font".into()); + families + }) +} diff --git a/shell/ferese-settings/src/main.rs b/shell/ferese-settings/src/main.rs index 66b0e68..7928c4b 100644 --- a/shell/ferese-settings/src/main.rs +++ b/shell/ferese-settings/src/main.rs @@ -1,3 +1,4 @@ +mod fonts; mod schema; mod store; mod visuals; @@ -26,6 +27,7 @@ fn main() -> cosmic::iced::Result { None => store::config_path(), }; let path = path.canonicalize().unwrap_or(path); + fonts::families(); let initial = Snapshot::read(&path); let theme = visuals::native_theme(initial.as_ref().ok()); @@ -45,6 +47,7 @@ enum Message { Page(Page), Search(String), Change(Edit), + SelectFont(String, String), Draft(String, String), Commit(Field), Range(Field, f64), @@ -212,6 +215,10 @@ impl cosmic::Application for App { self.sync_notes(); return task; } + Message::SelectFont(path, family) => { + self.inputs.remove(&path); + return self.change(set(&path, family)); + } Message::DragWindow => return self.core.drag(None), Message::ExternalConfig(result) => match result { Ok(snapshot) @@ -1085,6 +1092,41 @@ impl App { let labels = labels.width(Length::Fill); let path = field.path.clone(); let control: Element<'static, Message> = match field.kind.clone() { + Kind::Font => { + let value = self + .inputs + .get(&path) + .cloned() + .unwrap_or_else(|| self.draft.string(&path, "")); + let families = fonts::families(); + let selected = if value.is_empty() { + Some(0) + } else { + families.iter().position(|family| family == &value) + }; + let selection_path = path.clone(); + let commit = field.clone(); + column([]) + .spacing(6) + .push( + widget::dropdown(families, selected, move |index| { + let family = if index == 0 { "" } else { &families[index] }; + Message::SelectFont(selection_path.clone(), family.to_owned()) + }) + .width(225), + ) + .push( + text_input("Default font", value) + .font(self.font) + .style(visuals::input_style(palette)) + .on_input(move |value| Message::Draft(path.clone(), value)) + .on_submit(move |_| Message::Commit(field.clone())) + .on_unfocus(Message::Commit(commit)) + .width(225) + .size(12), + ) + .into() + } Kind::Toggle(default) => toggler(self.draft.boolean(&path, default)) .size(22) .on_toggle(move |value| Message::Change(set(&path, value))) diff --git a/shell/ferese-settings/src/schema.rs b/shell/ferese-settings/src/schema.rs index d5db414..9cd1fc7 100644 --- a/shell/ferese-settings/src/schema.rs +++ b/shell/ferese-settings/src/schema.rs @@ -90,6 +90,7 @@ impl Page { #[derive(Clone, Debug)] pub enum Kind { + Font, Toggle(bool), Range { default: f64, @@ -198,6 +199,13 @@ fn clock_fields() -> Vec { "Behind windows and click-through.", false, ), + choice( + "desktop_widgets.clock.style", + "Clock style", + "Pixel stacks heavy, alternating-color digits; Minimal uses plain text.", + "pixel", + &[("pixel", "Pixel"), ("minimal", "Minimal")], + ), toggle( "desktop_widgets.clock.bold", "Bold text", @@ -207,7 +215,7 @@ fn clock_fields() -> Vec { toggle( "desktop_widgets.clock.show_date", "Show date", - "A separate line beneath the time.", + "A small date above the digits in Pixel; beneath the time in Minimal.", true, ), toggle( @@ -222,11 +230,11 @@ fn clock_fields() -> Vec { "top_left, top_center, top_right, center_left, center, center_right, bottom_left, bottom_center, bottom_right", "top_left", ), - text( + Field::new( "desktop_widgets.clock.font_family", "Font", - "Empty follows the desktop font.", - "", + "Choose an installed family or enter a name. Empty uses the style default.", + Kind::Font, ), text( "desktop_widgets.clock.time_format", @@ -238,7 +246,7 @@ fn clock_fields() -> Vec { "desktop_widgets.clock.date_format", "Date format", "%A, %-d %B for weekday and date; %-d %b for a short date.", - "%A, %-d %B", + "%a, %b %-d", ), text( "desktop_widgets.clock.time_zone", @@ -301,7 +309,7 @@ fn clock_fields() -> Vec { "desktop_widgets.clock.height", "Widget height", "Leave room for both text lines.", - 160.0, + 320.0, 32.0, 800.0, 1.0, @@ -312,7 +320,7 @@ fn clock_fields() -> Vec { "desktop_widgets.clock.time_size", "Time size", "Logical pixels; scales with your output.", - 72.0, + 128.0, 8.0, 240.0, 1.0, @@ -411,11 +419,11 @@ pub fn note_fields(index: usize) -> Vec { "Nine positions, e.g. top_right or center.", "top_right", ), - text( + Field::new( format!("{prefix}.font_family"), "Font", - "Empty follows the desktop font.", - "", + "Choose an installed family or enter a name. Empty follows the desktop font.", + Kind::Font, ), text( format!("{prefix}.color"), diff --git a/shell/ferese-settings/src/store.rs b/shell/ferese-settings/src/store.rs index dd1f1e1..f5d8923 100644 --- a/shell/ferese-settings/src/store.rs +++ b/shell/ferese-settings/src/store.rs @@ -384,6 +384,7 @@ window-rule app-id="mine" floating=#true for field in fields { use crate::schema::Kind; let values: Vec = match field.kind { + Kind::Font => vec!["".into(), "sans-serif".into()], Kind::Toggle(_) => vec![true.into(), false.into()], Kind::Range { min, max, integer, .. diff --git a/shell/ferese-shell/src/main.rs b/shell/ferese-shell/src/main.rs index e24eba7..1c7d369 100644 --- a/shell/ferese-shell/src/main.rs +++ b/shell/ferese-shell/src/main.rs @@ -107,6 +107,30 @@ impl From for BarMetrics { } } +fn stacked_clock_digits(label: &str) -> Option<[String; 2]> { + let mut parts = label.split_whitespace(); + let time = parts.next()?; + if let Some(period) = parts.next() { + if !period.eq_ignore_ascii_case("am") && !period.eq_ignore_ascii_case("pm") { + return None; + } + } + if parts.next().is_some() { + return None; + } + let (hour, minute) = time.split_once(':')?; + if !(1..=2).contains(&hour.len()) + || minute.len() != 2 + || !hour + .bytes() + .chain(minute.bytes()) + .all(|digit| digit.is_ascii_digit()) + { + return None; + } + Some([format!("{hour:0>2}"), minute.to_owned()]) +} + fn main() -> cosmic::iced::Result { // Small shell surfaces do not need a second GPU device and shader setup. // Keep wgpu as a fallback and honor an explicit renderer preference. @@ -115,6 +139,18 @@ fn main() -> cosmic::iced::Result { // toolkit threads are started. unsafe { std::env::set_var("ICED_BACKEND", "tiny-skia,wgpu") }; } + cosmic::iced::advanced::graphics::text::font_system() + .write() + .unwrap() + .load_font(std::borrow::Cow::Borrowed(include_bytes!( + "../../../assets/fonts/Comfortaa-Regular.otf" + ))); + cosmic::iced::advanced::graphics::text::font_system() + .write() + .unwrap() + .load_font(std::borrow::Cow::Borrowed(include_bytes!( + "../../../assets/fonts/Cantarell-ExtraBold.otf" + ))); let mut config = config::load(); motion::configure(config.animations); let compositor_wallpaper = std::env::var_os("FERESE_COMPOSITOR_WALLPAPER").is_some(); @@ -1336,16 +1372,22 @@ impl FereseShell { ClockAlignment::Center => alignment::Horizontal::Center, ClockAlignment::Right => alignment::Horizontal::Right, }; - let mut font = configured_font( - clock - .font_family - .as_deref() - .filter(|family| !family.trim().is_empty()) - .or(self.config.font_family.as_deref()), - ); - if clock.bold { + let pixel = clock.style == ferese_core::desktop::ClockStyle::Pixel; + let custom_font = clock + .font_family + .as_deref() + .filter(|family| !family.trim().is_empty()); + let mut font = configured_font(if pixel { + custom_font.or(Some("Cantarell")) + } else { + custom_font.or(self.config.font_family.as_deref()) + }); + if pixel && custom_font.is_none() { + font.weight = cosmic::iced::font::Weight::Black; + } else if clock.bold { font.weight = cosmic::iced::font::Weight::Bold; } + let date_font = configured_font(custom_font.or(self.config.font_family.as_deref())); let tint = |custom: &Option, fallback| { let mut tint = color( custom @@ -1356,21 +1398,98 @@ impl FereseShell { tint.a *= clock.opacity; tint }; + let foreground = tint(&clock.color, self.config.theme.text_primary); + let accent = color(self.config.theme.accent); + let custom_color = clock + .color + .as_deref() + .and_then(config::parse_color) + .is_some(); + let digit_colors = [0.8, 0.45].map(|text_mix| { + if custom_color { + return foreground; + } + Color { + r: foreground.r * text_mix + accent.r * (1.0 - text_mix), + g: foreground.g * text_mix + accent.g * (1.0 - text_mix), + b: foreground.b * text_mix + accent.b * (1.0 - text_mix), + a: foreground.a, + } + }); let mut labels = cosmic::widget::column([]) .spacing(clock.gap) - .align_x(alignment) - .push( - cosmic::widget::text(self.desktop_clock.0.clone()) - .font(font) - .size(clock.time_size) - .width(Length::Fill) - .align_x(alignment) + .align_x(alignment); + + if pixel && clock.show_date { + labels = labels.push( + cosmic::widget::text(self.desktop_clock.1.clone()) + .font(date_font) + .size(clock.date_size) .class(theme::Text::Color(tint( - &clock.color, + &clock.date_color, self.config.theme.text_primary, ))), ); - if clock.show_date { + } + + if let Some(digits) = pixel + .then(|| stacked_clock_digits(&self.desktop_clock.0)) + .flatten() + { + let available_height = (clock.height as f32 + - clock.padding * 2.0 + - if clock.show_date { + clock.date_size * 1.3 + clock.gap + } else { + 0.0 + }) + .max(16.0); + let size = clock + .time_size + .min(available_height / 1.6) + .min((clock.width as f32 - clock.padding * 2.0).max(16.0) / 1.5); + let mut stack = cosmic::widget::column([]).spacing(0).align_x(alignment); + + for (line, digits) in digits.into_iter().enumerate() { + let mut digit_row = row([]).spacing(0); + for (position, digit) in digits.chars().enumerate() { + digit_row = digit_row.push( + cosmic::widget::text(digit.to_string()) + .font(font) + .size(size) + .line_height(cosmic::iced::widget::text::LineHeight::Relative(0.8)) + .class(theme::Text::Color(digit_colors[(line + position) % 2])), + ); + } + stack = stack.push(digit_row); + } + labels = labels.push(stack); + } else { + let characters = self.desktop_clock.0.chars().count().max(1) as f32; + let available_width = (clock.width as f32 - clock.padding * 2.0).max(1.0); + let available_height = (clock.height as f32 + - clock.padding * 2.0 + - if clock.show_date { + clock.date_size * 1.3 + clock.gap + } else { + 0.0 + }) + .max(1.0); + let size = clock + .time_size + .min(available_width / (characters * 0.75)) + .min(available_height / 1.3); + labels = labels.push( + cosmic::widget::text(self.desktop_clock.0.clone()) + .font(font) + .size(size) + .width(Length::Fill) + .align_x(alignment) + .class(theme::Text::Color(foreground)), + ); + } + + if !pixel && clock.show_date { labels = labels.push( cosmic::widget::text(self.desktop_clock.1.clone()) .font(font) @@ -2381,6 +2500,21 @@ mod tests { ); } + #[test] + fn pixel_clock_stacks_only_hour_and_minute_formats() { + assert_eq!( + super::stacked_clock_digits("2:45 pm"), + Some(["02".into(), "45".into()]) + ); + assert_eq!( + super::stacked_clock_digits("14:45"), + Some(["14".into(), "45".into()]) + ); + assert!(super::stacked_clock_digits("14:45:30").is_none()); + assert!(super::stacked_clock_digits("Today 14:45").is_none()); + assert!(super::stacked_clock_digits("14:45 pm extra").is_none()); + } + #[test] fn note_drag_origin_and_bounds_use_logical_output_coordinates() { use cosmic::iced::Point;