From aefa423d3857b39d586a387b01799e150c0394ce Mon Sep 17 00:00:00 2001 From: Alex Mickelson Date: Mon, 11 Aug 2025 11:28:40 -0600 Subject: [PATCH] more cargo --- monitors/monitor-tui-rs/Cargo.lock | 1 + monitors/monitor-tui-rs/Cargo.toml | 1 + monitors/monitor-tui-rs/flake.nix | 4 ++-- monitors/monitor-tui-rs/src/main.rs | 12 +++++++++++- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/monitors/monitor-tui-rs/Cargo.lock b/monitors/monitor-tui-rs/Cargo.lock index bbab190..fd15798 100644 --- a/monitors/monitor-tui-rs/Cargo.lock +++ b/monitors/monitor-tui-rs/Cargo.lock @@ -230,6 +230,7 @@ version = "0.1.0" dependencies = [ "anyhow", "chrono", + "console", "dialoguer", "regex", "which", diff --git a/monitors/monitor-tui-rs/Cargo.toml b/monitors/monitor-tui-rs/Cargo.toml index f162f04..b4add7b 100644 --- a/monitors/monitor-tui-rs/Cargo.toml +++ b/monitors/monitor-tui-rs/Cargo.toml @@ -9,3 +9,4 @@ which = "6" anyhow = "1" chrono = { version = "0.4", features = ["clock"] } dialoguer = "0.11" +console = "0.15" diff --git a/monitors/monitor-tui-rs/flake.nix b/monitors/monitor-tui-rs/flake.nix index 78e33c2..4160c4c 100644 --- a/monitors/monitor-tui-rs/flake.nix +++ b/monitors/monitor-tui-rs/flake.nix @@ -46,11 +46,11 @@ let pkgs = import nixpkgs { inherit system; }; in { default = pkgs.mkShell { buildInputs = with pkgs; [ - rustc cargo rustfmt clippy rust-analyzer rust-src + rustc cargo rustfmt clippy rust-analyzer gnome-monitor-config xorg.xrandr bash coreutils ]; shellHook = '' - export RUST_SRC_PATH=${pkgs.rust-src}/lib/rustlib/src/rust/library + export RUST_SRC_PATH=${pkgs.rustPlatform.rustLibSrc} ''; }; } diff --git a/monitors/monitor-tui-rs/src/main.rs b/monitors/monitor-tui-rs/src/main.rs index 171e0a7..602ebdb 100644 --- a/monitors/monitor-tui-rs/src/main.rs +++ b/monitors/monitor-tui-rs/src/main.rs @@ -8,6 +8,7 @@ use std::path::{Path, PathBuf}; use std::process::Command; use which::which; use dialoguer::{theme::ColorfulTheme, Input, Select, MultiSelect}; +use console::style; const APP_NAME: &str = "GNOME Monitor TUI"; @@ -18,7 +19,16 @@ fn theme() -> ColorfulTheme { // Slightly more vivid selection and success colors for a modern feel t.values_style = t.values_style.bold(); t.active_item_style = t.active_item_style.bold(); - t.selection_style = t.selection_style.bold(); + // Customize prefixes for a cleaner, modern aesthetic + t.prompt_prefix = style("❯".to_string()); + t.success_prefix = style("✔".to_string()); + t.error_prefix = style("✘".to_string()); + t.active_item_prefix = style("➤".to_string()); + t.inactive_item_prefix = style(" ".to_string()); + t.checked_item_prefix = style("◉".to_string()); + t.unchecked_item_prefix = style("○".to_string()); + t.picked_item_prefix = style("⭐".to_string()); + t.unpicked_item_prefix = style(" ".to_string()); t }