kwo pushed a commit to branch master.

http://git.enlightenment.org/e16/e16.git/commit/?id=204999090e25aa25a0c430f3f9fe3bd7038594ca

commit 204999090e25aa25a0c430f3f9fe3bd7038594ca
Author: Kim Woelders <k...@woelders.dk>
Date:   Sat Aug 21 15:18:15 2021 +0200

    Shuffle some property stuff around
    
    Just somewhat cleaner.
---
 src/desktops.c |  1 +
 src/hints.c    | 25 +------------------------
 src/hints.h    | 22 +---------------------
 src/xprop.c    | 56 ++++++++++++++++++++++++++++++++++++++++----------------
 src/xprop.h    | 31 ++++++++++++++++++++++++++-----
 5 files changed, 69 insertions(+), 66 deletions(-)

diff --git a/src/desktops.c b/src/desktops.c
index effd0823..ea36f13e 100644
--- a/src/desktops.c
+++ b/src/desktops.c
@@ -50,6 +50,7 @@
 #include "slide.h"
 #include "timers.h"
 #include "tooltips.h"
+#include "xprop.h"
 #include "xwin.h"
 
 #define DESK_EVENT_MASK1 \
diff --git a/src/hints.c b/src/hints.c
index d350b5e8..3315c5cc 100644
--- a/src/hints.c
+++ b/src/hints.c
@@ -40,28 +40,6 @@
 static void         EHintsSetDeskInfo(void);
 static void         EHintsSetAreaInfo(void);
 
-static const char  *const atoms_misc_names[] = {
-   /* Misc atoms */
-   "MANAGER",
-
-   /* Root background atoms */
-   "_XROOTPMAP_ID",
-   "_XROOTCOLOR_PIXEL",
-
-   /* E16 atoms */
-   "ENLIGHTENMENT_VERSION",
-
-   "ENLIGHTENMENT_COMMS",
-   "ENL_MSG",
-
-   "ENL_INTERNAL_AREA_DATA",
-   "ENL_INTERNAL_DESK_DATA",
-   "ENL_WIN_DATA",
-   "ENL_WIN_BORDER"
-};
-
-EX_Atom             atoms_misc[10];
-
 static unsigned int desk_info = 0;
 
 void
@@ -69,11 +47,10 @@ HintsInit(void)
 {
    EX_Window           win;
 
-   ex_atoms_get(atoms_misc_names, E_ARRAY_SIZE(atoms_misc_names), atoms_misc);
-
    win = XCreateSimpleWindow(disp, WinGetXwin(VROOT), -200, -200, 5, 5,
                             0, 0, 0);
 
+   ex_atoms_init();
    ICCCM_Init();
    MWM_SetInfo();
 #if ENABLE_GNOME
diff --git a/src/hints.h b/src/hints.h
index 79e6f8c4..0c5b5b24 100644
--- a/src/hints.h
+++ b/src/hints.h
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2000-2007 Carsten Haitzler, Geoff Harrison and various 
contributors
- * Copyright (C) 2004-2020 Kim Woelders
+ * Copyright (C) 2004-2021 Kim Woelders
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to
@@ -25,28 +25,8 @@
 #define _HINTS_H_
 
 #include "etypes.h"
-#include "xprop.h"
 #include "xwin.h"
 
-/* Misc atoms */
-
-extern EX_Atom      atoms_misc[];
-
-#define E_XA_MANAGER                   atoms_misc[0]
-
-#define E_XROOTPMAP_ID                 atoms_misc[1]
-#define E_XROOTCOLOR_PIXEL             atoms_misc[2]
-
-#define E16_ATOM_VERSION               atoms_misc[3]
-
-#define E16_ATOM_COMMS_WIN             atoms_misc[4]
-#define E16_ATOM_COMMS_MSG             atoms_misc[5]
-
-#define E16_ATOM_INTERNAL_AREA_DATA    atoms_misc[6]
-#define E16_ATOM_INTERNAL_DESK_DATA    atoms_misc[7]
-#define E16_ATOM_WIN_DATA              atoms_misc[8]
-#define E16_ATOM_WIN_BORDER            atoms_misc[9]
-
 /* ewmh.c */
 void                EWMH_Init(EX_Window win_wm_check);
 void                EWMH_SetDesktopCount(void);
diff --git a/src/xprop.c b/src/xprop.c
index cc754ac6..6fdb86b0 100644
--- a/src/xprop.c
+++ b/src/xprop.c
@@ -350,7 +350,7 @@ ex_window_prop_string_get(EX_Window win, EX_Atom atom)
 static void
 _ex_window_prop_string_utf8_set(EX_Window win, EX_Atom atom, const char *str)
 {
-   XChangeProperty(_ex_disp, win, atom, EX_ATOM_UTF8_STRING, 8,
+   XChangeProperty(_ex_disp, win, atom, E_XA_UTF8_STRING, 8,
                   PropModeReplace, (unsigned char *)str, strlen(str));
 }
 
@@ -369,7 +369,7 @@ _ex_window_prop_string_utf8_get(EX_Window win, EX_Atom atom)
    str = NULL;
    prop_ret = NULL;
    XGetWindowProperty(_ex_disp, win, atom, 0, 0x7fffffff, False,
-                     EX_ATOM_UTF8_STRING, &type_ret,
+                     E_XA_UTF8_STRING, &type_ret,
                      &format_ret, &num_ret, &bytes_after, &prop_ret);
    if (prop_ret && num_ret > 0 && format_ret == 8)
      {
@@ -567,13 +567,46 @@ ex_window_prop_window_list_get(EX_Window win, EX_Atom 
atom, EX_Window ** plst)
    return ex_window_prop_xid_list_get(win, atom, XA_WINDOW, plst);
 }
 
+/*
+ * Misc atom stuff
+ */
+
+static const char  *const atoms_misc_names[] = {
+   /* Misc atoms */
+   "UTF8_STRING",
+   "MANAGER",
+
+   /* Root background atoms */
+   "_XROOTPMAP_ID",
+   "_XROOTCOLOR_PIXEL",
+
+   /* E16 atoms */
+   "ENLIGHTENMENT_VERSION",
+
+   "ENLIGHTENMENT_COMMS",
+   "ENL_MSG",
+
+   "ENL_INTERNAL_AREA_DATA",
+   "ENL_INTERNAL_DESK_DATA",
+   "ENL_WIN_DATA",
+   "ENL_WIN_BORDER",
+};
+EX_Atom             atoms_misc[E_ARRAY_SIZE(atoms_misc_names)];
+
+void
+ex_atoms_init(void)
+{
+#if DEBUG_CHECK
+   assert(CHECK_COUNT_MISC == E_ARRAY_SIZE(atoms_misc));
+#endif
+   ex_atoms_get(atoms_misc_names, E_ARRAY_SIZE(atoms_misc), atoms_misc);
+}
+
 /*
  * ICCCM stuff
  */
 
 static const char  *const atoms_icccm_names[] = {
-/* *INDENT-OFF* */
-
    /* ICCCM */
    "WM_STATE",
    "WM_WINDOW_ROLE",
@@ -586,13 +619,8 @@ static const char  *const atoms_icccm_names[] = {
 #if 0
    "WM_SAVE_YOURSELF",
 #endif
-
-   /* Misc. */
-   "UTF8_STRING",
-
-/* *INDENT-ON* */
 };
-EX_Atom             atoms_icccm[CHECK_COUNT_ICCCM];
+EX_Atom             atoms_icccm[E_ARRAY_SIZE(atoms_icccm_names)];
 
 void
 ex_icccm_init(void)
@@ -709,8 +737,6 @@ ex_icccm_name_class_get(EX_Window win, char **name, char 
**clss)
  */
 
 static const char  *const atoms_netwm_names[] = {
-/* *INDENT-OFF* */
-
    /* Window manager info */
    "_NET_SUPPORTED",
    "_NET_SUPPORTING_WM_CHECK",
@@ -811,10 +837,8 @@ static const char  *const atoms_netwm_names[] = {
    "_NET_STARTUP_ID",
    "_NET_STARTUP_INFO_BEGIN",
    "_NET_STARTUP_INFO",
-
-/* *INDENT-ON* */
 };
-EX_Atom             atoms_netwm[CHECK_COUNT_NETWM];
+EX_Atom             atoms_netwm[E_ARRAY_SIZE(atoms_netwm_names)];
 
 void
 ex_netwm_init(void)
@@ -888,7 +912,7 @@ ex_netwm_desk_names_set(EX_Window root, const char **names,
      }
 
    XChangeProperty(_ex_disp, root, EX_ATOM_NET_DESKTOP_NAMES,
-                  EX_ATOM_UTF8_STRING, 8, PropModeReplace,
+                  E_XA_UTF8_STRING, 8, PropModeReplace,
                   (unsigned char *)buf, len);
 
  done:
diff --git a/src/xprop.h b/src/xprop.h
index 8a2879e1..8fbd5d63 100644
--- a/src/xprop.h
+++ b/src/xprop.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004-2014 Kim Woelders
+ * Copyright (C) 2004-2021 Kim Woelders
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to
@@ -78,12 +78,33 @@ void                ex_window_prop_string_set(EX_Window 
win, EX_Atom atom,
                                              const char *str);
 char               *ex_window_prop_string_get(EX_Window win, EX_Atom atom);
 
-/* Misc. */
+/* Misc atoms */
+extern EX_Atom      atoms_misc[];
+
+#define E_XA_UTF8_STRING               atoms_misc[0]
+#define E_XA_MANAGER                   atoms_misc[1]
+
+#define E_XROOTPMAP_ID                 atoms_misc[2]
+#define E_XROOTCOLOR_PIXEL             atoms_misc[3]
+
+#define E16_ATOM_VERSION               atoms_misc[4]
+
+#define E16_ATOM_COMMS_WIN             atoms_misc[5]
+#define E16_ATOM_COMMS_MSG             atoms_misc[6]
+
+#define E16_ATOM_INTERNAL_AREA_DATA    atoms_misc[7]
+#define E16_ATOM_INTERNAL_DESK_DATA    atoms_misc[8]
+#define E16_ATOM_WIN_DATA              atoms_misc[9]
+#define E16_ATOM_WIN_BORDER            atoms_misc[10]
+
+#define CHECK_COUNT_MISC  11
+
+void                ex_atoms_init(void);
+
+/* ICCCM */
 #include <X11/Xatom.h>
 extern EX_Atom      atoms_icccm[];
 
-#define EX_ATOM_UTF8_STRING            atoms_icccm[8]
-
 /* ICCCM */
 #define EX_ATOM_WM_STATE               atoms_icccm[0]
 #define EX_ATOM_WM_WINDOW_ROLE         atoms_icccm[1]
@@ -94,7 +115,7 @@ extern EX_Atom      atoms_icccm[];
 #define EX_ATOM_WM_DELETE_WINDOW       atoms_icccm[6]
 #define EX_ATOM_WM_TAKE_FOCUS          atoms_icccm[7]
 
-#define CHECK_COUNT_ICCCM 9
+#define CHECK_COUNT_ICCCM 8
 
 #define EX_ATOM_WM_CLASS               XA_WM_CLASS
 #define EX_ATOM_WM_NAME                        XA_WM_NAME

-- 


Reply via email to