Merge pull request #4014 from piwonskp/4008/dynamic-drawer

feat(Group/Drawer): add dynamic drawer hiding modules based on module's class
This commit is contained in:
Alexis Rouillard
2026-07-04 01:02:14 +02:00
committed by GitHub
5 changed files with 68 additions and 3 deletions
+1
View File
@@ -20,6 +20,7 @@ class AModule : public IModule {
static constexpr const char* MODULE_CLASS = "module";
~AModule() override;
sigc::signal<void, AModule*> signal_updated;
auto update() -> void override;
virtual auto refresh(int shouldRefresh) -> void {};
operator Gtk::Widget&() override;
+6 -1
View File
@@ -19,7 +19,7 @@ class Group : public AModule {
operator Gtk::Widget&() override;
virtual Gtk::Box& getBox();
void addWidget(Gtk::Widget& widget);
void addWidget(AModule* module);
protected:
Gtk::Box box;
@@ -28,6 +28,7 @@ class Group : public AModule {
bool is_first_widget = true;
bool is_drawer = false;
bool click_to_reveal = false;
std::string always_visible_class;
bool empty_if_drawer_empty = false;
int reveal_delay = 0;
std::string add_class_to_drawer_children;
@@ -37,6 +38,10 @@ class Group : public AModule {
bool handleScroll(GdkEventScroll* e) override;
void show_group();
void hide_group();
void manage_visibility(AModule* module);
void show_widget(Gtk::Widget& widget);
void hide_widget(Gtk::Widget& widget);
void hide_current_widget_if_inactive();
};
} // namespace waybar