#pragma once #include #include #include "gdkmm/monitor.h" #include "gtkmm/window.h" #define DEFAULT_NOTIFICATION_TIMEOUT 7000 class BaseNotification : public Gtk::Window { public: BaseNotification( uint64_t notificationId, std::shared_ptr monitor); sigc::signal signal_close; virtual ~BaseNotification() = default; uint64_t getNotificationId() const { return this->notificationId; } private: void ensure_notification_css_loaded(); // onClose signal can be added here if needed protected: uint64_t notificationId; };