close one notification to close all

This commit is contained in:
2026-02-02 21:47:47 +01:00
parent ed1a9a8605
commit 6d9f016350
9 changed files with 137 additions and 33 deletions

View File

@@ -1,24 +1,30 @@
#pragma once
#include <filesystem>
#include <string>
#include "helpers/system.hpp"
#include <csignal>
#include <cstdint>
#include "gdkmm/monitor.h"
#include "gtk4-layer-shell.h"
#include "gtkmm/cssprovider.h"
#include "gtkmm/window.h"
#define DEFAULT_NOTIFICATION_TIMEOUT 7000
class BaseNotification : public Gtk::Window {
public:
BaseNotification(std::shared_ptr<Gdk::Monitor> monitor);
BaseNotification( uint64_t notificationId, std::shared_ptr<Gdk::Monitor> monitor);
sigc::signal<void(int)> 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;
};