summaryrefslogtreecommitdiff
path: root/src/ewmh.h
diff options
context:
space:
mode:
authorBossCode45 <boss@tehbox.org>2025-05-11 18:17:27 +1200
committerBossCode45 <boss@tehbox.org>2025-06-08 23:29:33 +1200
commit6698e92f6d7574a31a6d0e17acf63edf9f689102 (patch)
tree96dec36f65651889a5f6ee80bb917b5bfc0f2bc3 /src/ewmh.h
parent7dd44834f0af18cca87786a2050ae69928b7a397 (diff)
downloadYATwm-6698e92f6d7574a31a6d0e17acf63edf9f689102.tar.gz
YATwm-6698e92f6d7574a31a6d0e17acf63edf9f689102.zip
feat: A few minor bug fixesv0.0.2main
Fixed keybinding errors Hopefully fixed multiple monitor status bar workspaces Refactored EWMH module
Diffstat (limited to 'src/ewmh.h')
-rw-r--r--src/ewmh.h27
1 files changed, 20 insertions, 7 deletions
diff --git a/src/ewmh.h b/src/ewmh.h
index 9473d5d..cb1284a 100644
--- a/src/ewmh.h
+++ b/src/ewmh.h
@@ -9,17 +9,30 @@
#include "structs.h"
#include "config.h"
+#include "util.h"
-void initEWMH(Display** dpy, Window* root, int numWS, std::vector<Workspace> workspaces);
+class EWMHModule
+{
+public:
+ EWMHModule(Globals& globals, Config& cfg);
+
+ void init();
-void updateClientList(std::map<int, Client> clients);
+ void updateClientList(std::map<int, Client> clients);
-void setWindowDesktop(Window w, int desktop);
+ void updateScreens(ScreenInfo* screens, int nscreens);
-void setCurrentDesktop(int desktop);
+ void setWindowDesktop(Window w, int desktop);
-void setFullscreen(Window w, bool fullscreen);
+ void setCurrentDesktop(int desktop);
-void setIPCPath(unsigned char* path, int len);
+ void setFullscreen(Window w, bool fullscreen);
-int getProp(Window w, char* propName, Atom* type, unsigned char** data);
+ void setIPCPath(unsigned char* path, int len);
+
+ int getProp(Window w, char* propName, Atom* type, unsigned char** data);
+
+private:
+ Globals& globals;
+ Config& cfg;
+};