mirror of
https://github.com/Zedfrigg/ironbar.git
synced 2025-08-16 22:31:03 +02:00
Merge pull request #983 from postsolar/hide-empty-bindmode
fix(bindmode): hide bindmode label if it's empty
This commit is contained in:
commit
e4c0a1ba92
1 changed files with 16 additions and 1 deletions
|
@ -2,7 +2,7 @@ use crate::channels::{AsyncSenderExt, BroadcastReceiverExt};
|
||||||
use crate::clients::compositor::BindModeUpdate;
|
use crate::clients::compositor::BindModeUpdate;
|
||||||
use crate::config::{CommonConfig, LayoutConfig, TruncateMode};
|
use crate::config::{CommonConfig, LayoutConfig, TruncateMode};
|
||||||
use crate::gtk_helpers::IronbarLabelExt;
|
use crate::gtk_helpers::IronbarLabelExt;
|
||||||
use crate::modules::{Module, ModuleInfo, ModuleParts, WidgetContext};
|
use crate::modules::{Module, ModuleInfo, ModuleParts, ModuleUpdateEvent, WidgetContext};
|
||||||
use crate::{module_impl, spawn};
|
use crate::{module_impl, spawn};
|
||||||
use color_eyre::Result;
|
use color_eyre::Result;
|
||||||
use gtk::Label;
|
use gtk::Label;
|
||||||
|
@ -72,6 +72,15 @@ impl Module<Label> for Bindmode {
|
||||||
label.truncate(truncate);
|
label.truncate(truncate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Send a dummy event on init so that the widget starts hidden
|
||||||
|
{
|
||||||
|
let tx = context.tx.clone();
|
||||||
|
tx.send_spawn(ModuleUpdateEvent::Update(BindModeUpdate {
|
||||||
|
name: String::new(),
|
||||||
|
pango_markup: true,
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
let label = label.clone();
|
let label = label.clone();
|
||||||
|
|
||||||
|
@ -79,6 +88,12 @@ impl Module<Label> for Bindmode {
|
||||||
trace!("mode: {:?}", mode);
|
trace!("mode: {:?}", mode);
|
||||||
label.set_use_markup(mode.pango_markup);
|
label.set_use_markup(mode.pango_markup);
|
||||||
label.set_label_escaped(&mode.name);
|
label.set_label_escaped(&mode.name);
|
||||||
|
|
||||||
|
if mode.name.is_empty() {
|
||||||
|
label.hide();
|
||||||
|
} else {
|
||||||
|
label.show();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
context.subscribe().recv_glib(on_mode);
|
context.subscribe().recv_glib(on_mode);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue