summaryrefslogtreecommitdiff
path: root/src/helpers/Monitor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/helpers/Monitor.cpp')
-rw-r--r--src/helpers/Monitor.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp
index ceb021c8..f7d2274c 100644
--- a/src/helpers/Monitor.cpp
+++ b/src/helpers/Monitor.cpp
@@ -1,10 +1,8 @@
#include "Monitor.hpp"
-
#include "MiscFunctions.hpp"
-
#include "../Compositor.hpp"
-
#include "../config/ConfigValue.hpp"
+#include "../protocols/GammaControl.hpp"
int ratHandler(void* data) {
g_pHyprRenderer->renderMonitor((CMonitor*)data);
@@ -26,6 +24,8 @@ CMonitor::~CMonitor() {
hyprListener_monitorNeedsFrame.removeCallback();
hyprListener_monitorCommit.removeCallback();
hyprListener_monitorBind.removeCallback();
+
+ events.destroy.emit();
}
void CMonitor::onConnect(bool noRule) {
@@ -214,6 +214,10 @@ void CMonitor::onConnect(bool noRule) {
renderTimer = wl_event_loop_add_timer(g_pCompositor->m_sWLEventLoop, ratHandler, this);
g_pCompositor->scheduleFrameForMonitor(this);
+
+ PROTO::gamma->applyGammaToState(this);
+
+ events.connect.emit();
}
void CMonitor::onDisconnect(bool destroy) {
@@ -228,6 +232,8 @@ void CMonitor::onDisconnect(bool destroy) {
Debug::log(LOG, "onDisconnect called for {}", output->name);
+ events.disconnect.emit();
+
// Cleanup everything. Move windows back, snap cursor, shit.
CMonitor* BACKUPMON = nullptr;
for (auto& m : g_pCompositor->m_vMonitors) {