From 33f686c79f8250e9793d156fdaed56bdd276d80e Mon Sep 17 00:00:00 2001 From: Window Maker Date: Tue, 2 Jun 2026 10:42:28 +0200 Subject: [PATCH] decompose wl_backend.c: extract wl_atom.c --- src/Makefile.am | 3 ++- src/backend/wayland/wl_atom.c | 15 +++++++++++++++ src/backend/wayland/wl_backend.c | 9 --------- src/backend/wayland/wl_types.h | 1 + 4 files changed, 18 insertions(+), 10 deletions(-) create mode 100644 src/backend/wayland/wl_atom.c diff --git a/src/Makefile.am b/src/Makefile.am index d7493c8..24f4ffd 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -166,7 +166,8 @@ wmaker_SOURCES += \ backend/wayland/wl_props.c \ backend/wayland/wl_client.c \ backend/wayland/wl_icccm.c \ - backend/wayland/wl_framebuf.c + backend/wayland/wl_framebuf.c \ + backend/wayland/wl_atom.c endif if USE_NESTED_FUNC diff --git a/src/backend/wayland/wl_atom.c b/src/backend/wayland/wl_atom.c new file mode 100644 index 0000000..c382df2 --- /dev/null +++ b/src/backend/wayland/wl_atom.c @@ -0,0 +1,15 @@ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include "wl_types.h" + +unsigned long +wl_atom_intern(const char *name) +{ + /* The WM's own UI runs on XWayland — it needs real X11 atoms for + * property operations (WM_STATE, WM_PROTOCOLS, etc.). */ + if (wl_state.x_display) + return (unsigned long)XInternAtom(wl_state.x_display, name, False); + return 0; +} diff --git a/src/backend/wayland/wl_backend.c b/src/backend/wayland/wl_backend.c index c104c30..5ec9c16 100644 --- a/src/backend/wayland/wl_backend.c +++ b/src/backend/wayland/wl_backend.c @@ -3110,15 +3110,6 @@ wl_display_default_screen(void) return 0; } -static unsigned long -wl_atom_intern(const char *name) -{ - /* The WM's own UI runs on XWayland — it needs real X11 atoms for - * property operations (WM_STATE, WM_PROTOCOLS, etc.). */ - if (wl_state.x_display) - return (unsigned long)XInternAtom(wl_state.x_display, name, False); - return 0; -} /* ------------------------------------------------------------------ */ /* Phase 29+: signalfd-based signal handling */ diff --git a/src/backend/wayland/wl_types.h b/src/backend/wayland/wl_types.h index 547ce25..fb4795e 100644 --- a/src/backend/wayland/wl_types.h +++ b/src/backend/wayland/wl_types.h @@ -498,3 +498,4 @@ extern const struct wlr_buffer_impl frame_buf_impl; void fb_attach_tree_listener(struct wl_frame_buf *fb); void fb_attach_scene_buf_listener(struct wl_frame_buf *fb); void wl_frame_paint_button(WCoreWindow *button, WTexture *texture, unsigned long color, WPixmap *image, int pushed); +unsigned long wl_atom_intern(const char *name);