small refactors

This commit is contained in:
2025-12-20 21:05:57 +01:00
parent 47f052f913
commit 36f8b6d8b2
5 changed files with 37 additions and 14 deletions

View File

@@ -4,6 +4,7 @@
#include "widgets/date.hpp"
#include "widgets/spacer.hpp"
#include "widgets/todo.hpp"
#include "widgets/volumeWidget.hpp"
#include "widgets/workspaceIndicator.hpp"
@@ -39,6 +40,8 @@ Bar::Bar(GdkMonitor *monitor, HyprlandService &hyprlandService,
set_child(main_box);
this->volumeWidget = Gtk::make_managed<VolumeWidget>();
workspaceIndicator = Gtk::make_managed<WorkspaceIndicator>(hyprlandService, monitorId);
trayWidget = Gtk::make_managed<TrayWidget>(trayService);
load_css();
setup_ui();
@@ -54,33 +57,32 @@ Bar::Bar(GdkMonitor *monitor, HyprlandService &hyprlandService,
}
void Bar::setup_ui() {
main_box.set_hexpand(true);
main_box.set_start_widget(left_box);
main_box.set_center_widget(center_box);
main_box.set_end_widget(right_box);
main_box.set_valign(Gtk::Align::CENTER);
left_box.set_valign(Gtk::Align::CENTER);
center_box.set_hexpand(false);
center_box.set_valign(Gtk::Align::CENTER);
center_box.set_halign(Gtk::Align::CENTER);
right_box.set_valign(Gtk::Align::CENTER);
workspaceIndicator = Gtk::make_managed<WorkspaceIndicator>(hyprlandService, monitorId);
setup_left_box();
setup_center_box();
setup_right_box();
}
void Bar::setup_left_box() {
left_box.append(*workspaceIndicator);
}
clock.set_name("clock-label");
void Bar::setup_center_box() {
center_box.set_hexpand(false);
center_box.append(*(new Todo("\uf23a", "To-Do")));
center_box.append(*(new Spacer()));
center_box.append(this->date);
center_box.append(*(new Spacer()));
center_box.append(this->clock);
center_box.append(*(new Spacer()));
center_box.append(*this->volumeWidget);
}
trayWidget = Gtk::make_managed<TrayWidget>(trayService);
void Bar::setup_right_box() {
right_box.append(*trayWidget);
right_box.append(homeAssistant);
}

9
src/widgets/todo.cpp Normal file
View File

@@ -0,0 +1,9 @@
#include <gtkmm/label.h>
#include "widgets/todo.hpp"
Todo::Todo(std::string icon, std::string title) : Popover(icon, title) {
auto label = Gtk::make_managed<Gtk::Label>(title);
label->add_css_class("todo-label");
this->set_popover_child(*label);
}