From e5b3effc547f41008f67ca88b36f323bd006f8ac Mon Sep 17 00:00:00 2001 From: Kim Woelders Date: Sun, 5 Dec 2004 08:29:10 +0000 Subject: [PATCH] Introduce ecore_x_icccm_init(), add ECORE_X_ATOM_WM_NORMAL_HINTS. SVN revision: 12358 --- legacy/ecore/src/lib/ecore_x/Ecore_X.h | 1 + legacy/ecore/src/lib/ecore_x/Ecore_X_Atoms.h | 1 + legacy/ecore/src/lib/ecore_x/ecore_x.c | 18 ++-------- legacy/ecore/src/lib/ecore_x/ecore_x_icccm.c | 36 ++++++++++++++++++++ 4 files changed, 40 insertions(+), 16 deletions(-) diff --git a/legacy/ecore/src/lib/ecore_x/Ecore_X.h b/legacy/ecore/src/lib/ecore_x/Ecore_X.h index 46f44a5805..829a57d768 100644 --- a/legacy/ecore/src/lib/ecore_x/Ecore_X.h +++ b/legacy/ecore/src/lib/ecore_x/Ecore_X.h @@ -930,6 +930,7 @@ EAPI int ecore_x_client_message8_send(Ecore_X_Window win, Ecore_X_A EAPI void ecore_x_window_client_sniff(Ecore_X_Window win); EAPI Ecore_X_Atom ecore_x_atom_get(const char *name); + EAPI void ecore_x_icccm_init(void); EAPI void ecore_x_icccm_state_set(Ecore_X_Window win, Ecore_X_Window_State_Hint state); EAPI void diff --git a/legacy/ecore/src/lib/ecore_x/Ecore_X_Atoms.h b/legacy/ecore/src/lib/ecore_x/Ecore_X_Atoms.h index 831215e6e4..fe33c14bdb 100644 --- a/legacy/ecore/src/lib/ecore_x/Ecore_X_Atoms.h +++ b/legacy/ecore/src/lib/ecore_x/Ecore_X_Atoms.h @@ -33,6 +33,7 @@ extern Ecore_X_Atom ECORE_X_ATOM_WM_CHANGE_STATE; extern Ecore_X_Atom ECORE_X_ATOM_WM_COLORMAP_WINDOWS; extern Ecore_X_Atom ECORE_X_ATOM_WM_WINDOW_ROLE; extern Ecore_X_Atom ECORE_X_ATOM_WM_HINTS; +extern Ecore_X_Atom ECORE_X_ATOM_WM_NORMAL_HINTS; extern Ecore_X_Atom ECORE_X_ATOM_WM_CLIENT_LEADER; extern Ecore_X_Atom ECORE_X_ATOM_WM_TRANSIENT_FOR; extern Ecore_X_Atom ECORE_X_ATOM_WM_SAVE_YOURSELF; diff --git a/legacy/ecore/src/lib/ecore_x/ecore_x.c b/legacy/ecore/src/lib/ecore_x/ecore_x.c index bb8621bd66..6c56c4fff9 100644 --- a/legacy/ecore/src/lib/ecore_x/ecore_x.c +++ b/legacy/ecore/src/lib/ecore_x/ecore_x.c @@ -299,22 +299,8 @@ ecore_x_init(const char *name) ECORE_X_ATOM_STRING = XInternAtom(_ecore_x_disp, "STRING", False); ECORE_X_ATOM_TEXT = XInternAtom(_ecore_x_disp, "TEXT", False); - ECORE_X_ATOM_WM_STATE = XInternAtom(_ecore_x_disp, "WM_STATE", False); - ECORE_X_ATOM_WM_DELETE_WINDOW = XInternAtom(_ecore_x_disp, "WM_DELETE_WINDOW", False); - ECORE_X_ATOM_WM_TAKE_FOCUS = XInternAtom(_ecore_x_disp, "WM_TAKE_FOCUS", False); - ECORE_X_ATOM_WM_PROTOCOLS = XInternAtom(_ecore_x_disp, "WM_PROTOCOLS", False); - ECORE_X_ATOM_WM_CLASS = XInternAtom(_ecore_x_disp, "WM_CLASS", False); - ECORE_X_ATOM_WM_NAME = XInternAtom(_ecore_x_disp, "WM_NAME", False); - ECORE_X_ATOM_WM_COMMAND = XInternAtom(_ecore_x_disp, "WM_COMMAND", False); - ECORE_X_ATOM_WM_ICON_NAME = XInternAtom(_ecore_x_disp, "WM_ICON_NAME", False); - ECORE_X_ATOM_WM_CLIENT_MACHINE = XInternAtom(_ecore_x_disp, "WM_CLIENT_MACHINE", False); - ECORE_X_ATOM_WM_CHANGE_STATE = XInternAtom(_ecore_x_disp, "WM_CHANGE_STATE", False); - ECORE_X_ATOM_WM_COLORMAP_WINDOWS = XInternAtom(_ecore_x_disp, "WM_COLORMAP_WINDOWS", False); - ECORE_X_ATOM_WM_WINDOW_ROLE = XInternAtom(_ecore_x_disp, "WM_WINDOW_ROLE", False); - ECORE_X_ATOM_WM_HINTS = XInternAtom(_ecore_x_disp, "WM_HINTS", False); - ECORE_X_ATOM_WM_CLIENT_LEADER = XInternAtom(_ecore_x_disp, "WM_CLIENT_LEADER", False); - ECORE_X_ATOM_WM_TRANSIENT_FOR = XInternAtom(_ecore_x_disp, "WM_TRANSIENT_FOR", False); - ECORE_X_ATOM_WM_SAVE_YOURSELF = XInternAtom(_ecore_x_disp, "WM_SAVE_YOURSELF", False); + /* Set up the ICCCM hints */ + ecore_x_icccm_init(); ECORE_X_ATOM_MOTIF_WM_HINTS = XInternAtom(_ecore_x_disp, "_MOTIF_WM_HINTS", False); diff --git a/legacy/ecore/src/lib/ecore_x/ecore_x_icccm.c b/legacy/ecore/src/lib/ecore_x/ecore_x_icccm.c index b85a99187c..45fb1d0fe0 100644 --- a/legacy/ecore/src/lib/ecore_x/ecore_x_icccm.c +++ b/legacy/ecore/src/lib/ecore_x/ecore_x_icccm.c @@ -23,10 +23,46 @@ Ecore_X_Atom ECORE_X_ATOM_WM_CHANGE_STATE = 0; Ecore_X_Atom ECORE_X_ATOM_WM_COLORMAP_WINDOWS = 0; Ecore_X_Atom ECORE_X_ATOM_WM_WINDOW_ROLE = 0; Ecore_X_Atom ECORE_X_ATOM_WM_HINTS = 0; +Ecore_X_Atom ECORE_X_ATOM_WM_NORMAL_HINTS = 0; Ecore_X_Atom ECORE_X_ATOM_WM_CLIENT_LEADER = 0; Ecore_X_Atom ECORE_X_ATOM_WM_TRANSIENT_FOR = 0; Ecore_X_Atom ECORE_X_ATOM_WM_SAVE_YOURSELF = 0; +void +ecore_x_icccm_init(void) +{ + + ECORE_X_ATOM_WM_STATE = XInternAtom(_ecore_x_disp, "WM_STATE", False); + ECORE_X_ATOM_WM_DELETE_WINDOW = + XInternAtom(_ecore_x_disp, "WM_DELETE_WINDOW", False); + ECORE_X_ATOM_WM_TAKE_FOCUS = + XInternAtom(_ecore_x_disp, "WM_TAKE_FOCUS", False); + ECORE_X_ATOM_WM_PROTOCOLS = + XInternAtom(_ecore_x_disp, "WM_PROTOCOLS", False); + ECORE_X_ATOM_WM_CLASS = XInternAtom(_ecore_x_disp, "WM_CLASS", False); + ECORE_X_ATOM_WM_NAME = XInternAtom(_ecore_x_disp, "WM_NAME", False); + ECORE_X_ATOM_WM_COMMAND = XInternAtom(_ecore_x_disp, "WM_COMMAND", False); + ECORE_X_ATOM_WM_ICON_NAME = + XInternAtom(_ecore_x_disp, "WM_ICON_NAME", False); + ECORE_X_ATOM_WM_CLIENT_MACHINE = + XInternAtom(_ecore_x_disp, "WM_CLIENT_MACHINE", False); + ECORE_X_ATOM_WM_CHANGE_STATE = + XInternAtom(_ecore_x_disp, "WM_CHANGE_STATE", False); + ECORE_X_ATOM_WM_COLORMAP_WINDOWS = + XInternAtom(_ecore_x_disp, "WM_COLORMAP_WINDOWS", False); + ECORE_X_ATOM_WM_WINDOW_ROLE = + XInternAtom(_ecore_x_disp, "WM_WINDOW_ROLE", False); + ECORE_X_ATOM_WM_HINTS = XInternAtom(_ecore_x_disp, "WM_HINTS", False); + ECORE_X_ATOM_WM_NORMAL_HINTS = + XInternAtom(_ecore_x_disp, "WM_NORMAL_HINTS", False); + ECORE_X_ATOM_WM_CLIENT_LEADER = + XInternAtom(_ecore_x_disp, "WM_CLIENT_LEADER", False); + ECORE_X_ATOM_WM_TRANSIENT_FOR = + XInternAtom(_ecore_x_disp, "WM_TRANSIENT_FOR", False); + ECORE_X_ATOM_WM_SAVE_YOURSELF = + XInternAtom(_ecore_x_disp, "WM_SAVE_YOURSELF", False); +} + void ecore_x_icccm_state_set(Ecore_X_Window win, Ecore_X_Window_State_Hint state) {