diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-09-14 22:46:53 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-09-15 03:15:56 +0800 |
commit | 31844fa8a1710c8f573f3f30b46baf9093cee83b (patch) | |
tree | 80102a573e4adca94e1656cf6dbed3d1dd0f346a /include/cru/platform/gui/xcb/UiApplication.h | |
parent | 085aae0e497872c9bbcd63c25a6bd32c74ab5710 (diff) | |
download | cru-31844fa8a1710c8f573f3f30b46baf9093cee83b.tar.gz cru-31844fa8a1710c8f573f3f30b46baf9093cee83b.tar.bz2 cru-31844fa8a1710c8f573f3f30b46baf9093cee83b.zip |
Implement visibility of xcb window.
Diffstat (limited to 'include/cru/platform/gui/xcb/UiApplication.h')
-rw-r--r-- | include/cru/platform/gui/xcb/UiApplication.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/include/cru/platform/gui/xcb/UiApplication.h b/include/cru/platform/gui/xcb/UiApplication.h index cc38b3ed..6063a8ab 100644 --- a/include/cru/platform/gui/xcb/UiApplication.h +++ b/include/cru/platform/gui/xcb/UiApplication.h @@ -31,10 +31,18 @@ class XcbUiApplication : public XcbResource, public virtual IUiApplication { xcb_screen_t* GetFirstXcbScreen(); xcb_atom_t GetOrCreateXcbAtom(std::string name); - xcb_atom_t GetXcbAtom_NET_WM_NAME(); - xcb_atom_t GetXcbAtom_NET_WM_WINDOW_TYPE(); - xcb_atom_t GetXcbAtom_NET_WM_WINDOW_TYPE_NORMAL(); - xcb_atom_t GetXcbAtom_NET_WM_WINDOW_TYPE_UTILITY(); + +#define CRU_XCB_UI_APPLICATION_DEFINE_XCB_ATOM(name) \ + xcb_atom_t GetXcbAtom##name() { return GetOrCreateXcbAtom(#name); } + + CRU_XCB_UI_APPLICATION_DEFINE_XCB_ATOM(WM_NAME) + CRU_XCB_UI_APPLICATION_DEFINE_XCB_ATOM(WM_STATE) + CRU_XCB_UI_APPLICATION_DEFINE_XCB_ATOM(_NET_WM_NAME) + CRU_XCB_UI_APPLICATION_DEFINE_XCB_ATOM(_NET_WM_WINDOW_TYPE) + CRU_XCB_UI_APPLICATION_DEFINE_XCB_ATOM(_NET_WM_WINDOW_TYPE_NORMAL) + CRU_XCB_UI_APPLICATION_DEFINE_XCB_ATOM(_NET_WM_WINDOW_TYPE_UTILITY) + +#undef CRU_XCB_UI_APPLICATION_DEFINE_XCB_ATOM public: int Run() override; |