diff --git a/komorebi-bar/src/cpu.rs b/komorebi-bar/src/cpu.rs index 7c8187f6..9666cc07 100644 --- a/komorebi-bar/src/cpu.rs +++ b/komorebi-bar/src/cpu.rs @@ -1,11 +1,11 @@ use crate::config::LabelPrefix; use crate::render::RenderConfig; +use crate::selected_frame::SelectableFrame; use crate::widget::BarWidget; use eframe::egui::text::LayoutJob; use eframe::egui::Context; use eframe::egui::FontId; use eframe::egui::Label; -use eframe::egui::Sense; use eframe::egui::TextFormat; use eframe::egui::TextStyle; use eframe::egui::Ui; @@ -99,13 +99,9 @@ impl BarWidget for Cpu { TextFormat::simple(font_id, ctx.style().visuals.text_color()), ); - config.apply_on_widget(true, ui, |ui| { - if ui - .add( - Label::new(layout_job) - .selectable(false) - .sense(Sense::click()), - ) + config.apply_on_widget(false, ui, |ui| { + if SelectableFrame::new(false) + .show(ui, |ui| ui.add(Label::new(layout_job).selectable(false))) .clicked() { if let Err(error) = diff --git a/komorebi-bar/src/date.rs b/komorebi-bar/src/date.rs index 479b8e7c..9f90ab05 100644 --- a/komorebi-bar/src/date.rs +++ b/komorebi-bar/src/date.rs @@ -1,11 +1,11 @@ use crate::config::LabelPrefix; use crate::render::RenderConfig; +use crate::selected_frame::SelectableFrame; use crate::widget::BarWidget; use eframe::egui::text::LayoutJob; use eframe::egui::Context; use eframe::egui::FontId; use eframe::egui::Label; -use eframe::egui::Sense; use eframe::egui::TextFormat; use eframe::egui::TextStyle; use eframe::egui::Ui; @@ -119,13 +119,14 @@ impl BarWidget for Date { TextFormat::simple(font_id, ctx.style().visuals.text_color()), ); - config.apply_on_widget(true, ui, |ui| { - if ui - .add( - Label::new(WidgetText::LayoutJob(layout_job.clone())) - .selectable(false) - .sense(Sense::click()), - ) + config.apply_on_widget(false, ui, |ui| { + if SelectableFrame::new(false) + .show(ui, |ui| { + ui.add( + Label::new(WidgetText::LayoutJob(layout_job.clone())) + .selectable(false), + ) + }) .clicked() { self.format.next() diff --git a/komorebi-bar/src/media.rs b/komorebi-bar/src/media.rs index c8dda4f9..9c4abde5 100644 --- a/komorebi-bar/src/media.rs +++ b/komorebi-bar/src/media.rs @@ -1,4 +1,5 @@ use crate::render::RenderConfig; +use crate::selected_frame::SelectableFrame; use crate::ui::CustomUi; use crate::widget::BarWidget; use crate::MAX_LABEL_WIDTH; @@ -6,7 +7,6 @@ use eframe::egui::text::LayoutJob; use eframe::egui::Context; use eframe::egui::FontId; use eframe::egui::Label; -use eframe::egui::Sense; use eframe::egui::TextFormat; use eframe::egui::TextStyle; use eframe::egui::Ui; @@ -102,21 +102,20 @@ impl BarWidget for Media { TextFormat::simple(font_id, ctx.style().visuals.text_color()), ); - config.apply_on_widget(true, ui, |ui| { - let available_height = ui.available_height(); - let mut custom_ui = CustomUi(ui); + config.apply_on_widget(false, ui, |ui| { + if SelectableFrame::new(false) + .show(ui, |ui| { + let available_height = ui.available_height(); + let mut custom_ui = CustomUi(ui); - if custom_ui - .add_sized_left_to_right( - Vec2::new( - MAX_LABEL_WIDTH.load(Ordering::SeqCst) as f32, - available_height, - ), - Label::new(layout_job) - .selectable(false) - .sense(Sense::click()) - .truncate(), - ) + custom_ui.add_sized_left_to_right( + Vec2::new( + MAX_LABEL_WIDTH.load(Ordering::SeqCst) as f32, + available_height, + ), + Label::new(layout_job).selectable(false).truncate(), + ) + }) .clicked() { self.toggle(); diff --git a/komorebi-bar/src/memory.rs b/komorebi-bar/src/memory.rs index c6cce614..cb4834ee 100644 --- a/komorebi-bar/src/memory.rs +++ b/komorebi-bar/src/memory.rs @@ -1,11 +1,11 @@ use crate::config::LabelPrefix; use crate::render::RenderConfig; +use crate::selected_frame::SelectableFrame; use crate::widget::BarWidget; use eframe::egui::text::LayoutJob; use eframe::egui::Context; use eframe::egui::FontId; use eframe::egui::Label; -use eframe::egui::Sense; use eframe::egui::TextFormat; use eframe::egui::TextStyle; use eframe::egui::Ui; @@ -102,13 +102,9 @@ impl BarWidget for Memory { TextFormat::simple(font_id, ctx.style().visuals.text_color()), ); - config.apply_on_widget(true, ui, |ui| { - if ui - .add( - Label::new(layout_job) - .selectable(false) - .sense(Sense::click()), - ) + config.apply_on_widget(false, ui, |ui| { + if SelectableFrame::new(false) + .show(ui, |ui| ui.add(Label::new(layout_job).selectable(false))) .clicked() { if let Err(error) = diff --git a/komorebi-bar/src/network.rs b/komorebi-bar/src/network.rs index 1becdd5f..47551e5d 100644 --- a/komorebi-bar/src/network.rs +++ b/komorebi-bar/src/network.rs @@ -1,11 +1,11 @@ use crate::config::LabelPrefix; use crate::render::RenderConfig; +use crate::selected_frame::SelectableFrame; use crate::widget::BarWidget; use eframe::egui::text::LayoutJob; use eframe::egui::Context; use eframe::egui::FontId; use eframe::egui::Label; -use eframe::egui::Sense; use eframe::egui::TextFormat; use eframe::egui::TextStyle; use eframe::egui::Ui; @@ -303,13 +303,9 @@ impl BarWidget for Network { TextFormat::simple(font_id, ctx.style().visuals.text_color()), ); - config.apply_on_widget(true, ui, |ui| { - if ui - .add( - Label::new(layout_job) - .selectable(false) - .sense(Sense::click()), - ) + config.apply_on_widget(false, ui, |ui| { + if SelectableFrame::new(false) + .show(ui, |ui| ui.add(Label::new(layout_job).selectable(false))) .clicked() { if let Err(error) = Command::new("cmd.exe").args(["/C", "ncpa"]).spawn() { diff --git a/komorebi-bar/src/storage.rs b/komorebi-bar/src/storage.rs index a63fab94..34ea4b11 100644 --- a/komorebi-bar/src/storage.rs +++ b/komorebi-bar/src/storage.rs @@ -1,11 +1,11 @@ use crate::config::LabelPrefix; use crate::render::RenderConfig; +use crate::selected_frame::SelectableFrame; use crate::widget::BarWidget; use eframe::egui::text::LayoutJob; use eframe::egui::Context; use eframe::egui::FontId; use eframe::egui::Label; -use eframe::egui::Sense; use eframe::egui::TextFormat; use eframe::egui::TextStyle; use eframe::egui::Ui; @@ -107,13 +107,9 @@ impl BarWidget for Storage { TextFormat::simple(font_id.clone(), ctx.style().visuals.text_color()), ); - config.apply_on_widget(true, ui, |ui| { - if ui - .add( - Label::new(layout_job) - .selectable(false) - .sense(Sense::click()), - ) + config.apply_on_widget(false, ui, |ui| { + if SelectableFrame::new(false) + .show(ui, |ui| ui.add(Label::new(layout_job).selectable(false))) .clicked() { if let Err(error) = Command::new("cmd.exe") diff --git a/komorebi-bar/src/time.rs b/komorebi-bar/src/time.rs index 87e03199..f6c5d1eb 100644 --- a/komorebi-bar/src/time.rs +++ b/komorebi-bar/src/time.rs @@ -1,11 +1,11 @@ use crate::config::LabelPrefix; use crate::render::RenderConfig; +use crate::selected_frame::SelectableFrame; use crate::widget::BarWidget; use eframe::egui::text::LayoutJob; use eframe::egui::Context; use eframe::egui::FontId; use eframe::egui::Label; -use eframe::egui::Sense; use eframe::egui::TextFormat; use eframe::egui::TextStyle; use eframe::egui::Ui; @@ -110,13 +110,9 @@ impl BarWidget for Time { TextFormat::simple(font_id, ctx.style().visuals.text_color()), ); - config.apply_on_widget(true, ui, |ui| { - if ui - .add( - Label::new(layout_job) - .selectable(false) - .sense(Sense::click()), - ) + config.apply_on_widget(false, ui, |ui| { + if SelectableFrame::new(false) + .show(ui, |ui| ui.add(Label::new(layout_job).selectable(false))) .clicked() { self.format.toggle()