diff --git a/Cargo.toml b/Cargo.toml index 199c9a4..558e582 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ gtk4 = { version = "0.9.6", optional = true } cfg-if = "1.0.0" [features] -default = ["ssl", "homedir", "pretty_tui"] +default = ["ssl", "homedir", "gtk_gui"] ssl = ["dep:native-tls"] pretty_tui = ["dep:crossterm"] gtk_gui = ["dep:gtk4"] diff --git a/README.md b/README.md index 70a9900..074d45e 100644 --- a/README.md +++ b/README.md @@ -39,21 +39,21 @@ cd bRAC 3. Build or run with Cargo ```bash -cargo build --release # build release (target/release/bRAC) -cargo run --release # run (builds and runs bRAC itself) +cargo build -r # build release (target/release/bRAC) +cargo run -r # run (builds and runs bRAC itself) ``` Minimal version: ```bash -cargo build --release --no-default-features -cargo run --release --no-default-features +cargo build -r --no-default-features +cargo run -r --no-default-features ``` GTK version: ```bash -cargo build --release --features gtk_gui -cargo run --release --features gtk_gui +cargo build -rF gtk_gui +cargo run -rF gtk_gui ``` ### nix package diff --git a/src/chat/gtk_gui.rs b/src/chat/gtk_gui.rs index f65d0f3..6a16906 100644 --- a/src/chat/gtk_gui.rs +++ b/src/chat/gtk_gui.rs @@ -2,7 +2,7 @@ use std::sync::{Arc, RwLock}; use std::time::Duration; use colored::{Color, Colorize}; -use gtk4::gdk::Display; +use gtk4::gdk::{Cursor, Display}; use gtk4::gdk_pixbuf::PixbufLoader; use gtk4::glib::clone::Downgrade; use gtk4::glib::{idle_add_local, idle_add_local_once, ControlFlow, source::timeout_add_local_once}; @@ -114,12 +114,14 @@ fn build_ui(ctx: Arc, app: &Application) { let send_btn = Button::builder() .label("Send") + .cursor(&Cursor::from_name("pointer", None).unwrap()) .build(); send_btn.connect_clicked(clone!( #[weak] text_entry, #[weak] ctx, move |_| { + if text_entry.text().is_empty() { return; } idle_add_local_once(clone!( #[weak] text_entry, move || { @@ -138,6 +140,7 @@ fn build_ui(ctx: Arc, app: &Application) { #[weak] text_entry, #[weak] ctx, move |_| { + if text_entry.text().is_empty() { return; } idle_add_local_once(clone!( #[weak] text_entry, move || { @@ -274,16 +277,20 @@ fn load_css() { let provider = CssProvider::new(); provider.load_from_data(" + * { + border-radius: 0; + } + .message-content { - color: #FFFFFF; + color: #000000; } .message-date { - color: #AAAAAA; + color: #555555; } .message-ip { - color: #AAAAAA; + color: #777777; } .message-name { @@ -361,6 +368,10 @@ fn load_css() { &provider, gtk4::STYLE_PROVIDER_PRIORITY_APPLICATION, ); + + if let Some(settings) = gtk4::Settings::default() { + settings.set_gtk_application_prefer_dark_theme(false); + } } fn on_add_message(ctx: Arc, ui: &UiModel, message: String) {