#pragma once #include #include #include "services/dbus/mpris.hpp" #include "gdkmm/monitor.h" #include "gtkmm/window.h" class NotificationController { static std::shared_ptr instance; public: static std::shared_ptr getInstance() { if (!NotificationController::instance) { NotificationController::instance = std::shared_ptr(new NotificationController()); } return NotificationController::instance; } void showSpotifyNotification(MprisController::MprisPlayer2Message mpris); void showNotificationOnAllMonitors(const std::string &title, const std::string &message); private: NotificationController(); std::vector> activeMonitors; void baseWindowSetup(std::shared_ptr win, std::shared_ptr monitor); };