Enlightenment CVS committal
Author : kwo
Project : e17
Module : libs/ecore
Dir : e17/libs/ecore/src/lib/ecore_x
Modified Files:
Ecore_X.h ecore_x.c ecore_x_netwm.c
Log Message:
Move NetWM atoms to ecore_x_netwm.c. Added ecore_x_netwm_wm_identify().
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Ecore_X.h,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -3 -r1.68 -r1.69
--- Ecore_X.h 23 Oct 2004 14:49:06 -0000 1.68
+++ Ecore_X.h 27 Oct 2004 21:50:57 -0000 1.69
@@ -899,9 +899,8 @@
Ecore_X_Window *window_group,
int *is_urgent);
-#if 0 /* ??? */
void ecore_x_netwm_init(void);
-#endif
+ void ecore_x_netwm_wm_identify(Ecore_X_Window root, Ecore_X_Window
check, const char *wm_name);
void ecore_x_netwm_desk_count_set(Ecore_X_Window root, int n_desks);
void ecore_x_netwm_desk_roots_set(Ecore_X_Window root, int n_desks,
Ecore_X_Window * vroots);
void ecore_x_netwm_desk_names_set(Ecore_X_Window root, int n_desks,
const char **names);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x.c,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -3 -r1.47 -r1.48
--- ecore_x.c 24 Oct 2004 03:58:10 -0000 1.47
+++ ecore_x.c 27 Oct 2004 21:50:58 -0000 1.48
@@ -26,7 +26,7 @@
int _ecore_x_event_last_root_y = 0;
/*
- * ICCCM and Motif hints.
+ * ICCCM hints.
*/
Atom _ecore_x_atom_wm_state = 0;
Atom _ecore_x_atom_wm_delete_window = 0;
@@ -45,10 +45,21 @@
Atom _ecore_x_atom_wm_transient_for = 0;
Atom _ecore_x_atom_wm_save_yourself = 0;
+Atom _ecore_x_atoms_wm_protocols[ECORE_X_WM_PROTOCOL_NUM];
+
+/*
+ * Motif hints.
+ */
Atom _ecore_x_atom_motif_wm_hints = 0;
+/*
+ * GNOME hints.
+ */
Atom _ecore_x_atom_win_layer = 0;
+/*
+ * Other hints.
+ */
Atom _ecore_x_atom_selection_primary = 0;
Atom _ecore_x_atom_selection_secondary = 0;
Atom _ecore_x_atom_selection_clipboard = 0;
@@ -75,80 +86,12 @@
Atom _ecore_x_atom_xdnd_finished = 0;
Atom _ecore_x_atom_xdnd_leave = 0;
-/*
- * Root window NetWM hints.
- */
-Atom _ecore_x_atom_net_supported = 0;
-Atom _ecore_x_atom_net_client_list = 0;
-Atom _ecore_x_atom_net_client_list_stacking = 0;
-Atom _ecore_x_atom_net_number_of_desktops = 0;
-Atom _ecore_x_atom_net_desktop_geometry = 0;
-Atom _ecore_x_atom_net_desktop_viewport = 0;
-Atom _ecore_x_atom_net_current_desktop = 0;
-Atom _ecore_x_atom_net_desktop_names = 0;
-Atom _ecore_x_atom_net_active_window = 0;
-Atom _ecore_x_atom_net_workarea = 0;
-Atom _ecore_x_atom_net_supporting_wm_check = 0;
-Atom _ecore_x_atom_net_virtual_roots = 0;
-Atom _ecore_x_atom_net_desktop_layout = 0;
-Atom _ecore_x_atom_net_showing_desktop = 0;
-
-/*
- * Client message types.
- */
-Atom _ecore_x_atom_net_close_window = 0;
-Atom _ecore_x_atom_net_wm_moveresize = 0;
-
-/*
- * Application window specific NetWM hints.
- */
-Atom _ecore_x_atom_net_wm_desktop = 0;
-Atom _ecore_x_atom_net_wm_name = 0;
-Atom _ecore_x_atom_net_wm_visible_name = 0;
-Atom _ecore_x_atom_net_wm_icon_name = 0;
-Atom _ecore_x_atom_net_wm_visible_icon_name = 0;
-Atom _ecore_x_atom_net_wm_window_type = 0;
-Atom _ecore_x_atom_net_wm_state = 0;
-Atom _ecore_x_atom_net_wm_allowed_actions = 0;
-Atom _ecore_x_atom_net_wm_strut = 0;
-Atom _ecore_x_atom_net_wm_strut_partial = 0;
-Atom _ecore_x_atom_net_wm_icon_geometry = 0;
-Atom _ecore_x_atom_net_wm_icon = 0;
-Atom _ecore_x_atom_net_wm_pid = 0;
-Atom _ecore_x_atom_net_wm_handle_icons = 0;
-Atom _ecore_x_atom_net_wm_user_time = 0;
-
-Atom _ecore_x_atom_net_wm_window_type_desktop = 0;
-Atom _ecore_x_atom_net_wm_window_type_dock = 0;
-Atom _ecore_x_atom_net_wm_window_type_toolbar = 0;
-Atom _ecore_x_atom_net_wm_window_type_menu = 0;
-Atom _ecore_x_atom_net_wm_window_type_utility = 0;
-Atom _ecore_x_atom_net_wm_window_type_splash = 0;
-Atom _ecore_x_atom_net_wm_window_type_dialog = 0;
-Atom _ecore_x_atom_net_wm_window_type_normal = 0;
-
-Atom _ecore_x_atom_net_wm_state_modal = 0;
-Atom _ecore_x_atom_net_wm_state_sticky = 0;
-Atom _ecore_x_atom_net_wm_state_maximized_vert = 0;
-Atom _ecore_x_atom_net_wm_state_maximized_horz = 0;
-Atom _ecore_x_atom_net_wm_state_shaded = 0;
-Atom _ecore_x_atom_net_wm_state_skip_taskbar = 0;
-Atom _ecore_x_atom_net_wm_state_skip_pager = 0;
-Atom _ecore_x_atom_net_wm_state_hidden = 0;
-Atom _ecore_x_atom_net_wm_state_fullscreen = 0;
-Atom _ecore_x_atom_net_wm_state_above = 0;
-Atom _ecore_x_atom_net_wm_state_below = 0;
-
-Atom _ecore_x_atom_net_wm_window_opacity = 0;
-
Atom _ecore_x_atom_file_name = 0;
Atom _ecore_x_atom_string = 0;
Atom _ecore_x_atom_text = 0;
Atom _ecore_x_atom_utf8_string = 0;
Atom _ecore_x_atom_compound_text = 0;
-Atom _ecore_x_atoms_wm_protocols[ECORE_X_WM_PROTOCOL_NUM];
-
/* Xdnd atoms that need to be exposed to the application interface */
Ecore_X_Atom ECORE_X_DND_ACTION_COPY = 0;
Ecore_X_Atom ECORE_X_DND_ACTION_MOVE = 0;
@@ -372,6 +315,13 @@
return 0;
}
_ecore_x_filter_handler = ecore_event_filter_add(_ecore_x_event_filter_start,
_ecore_x_event_filter_filter, _ecore_x_event_filter_end, NULL);
+
+ _ecore_x_atom_compound_text = XInternAtom(_ecore_x_disp, "COMPOUND_TEXT",
False);
+ _ecore_x_atom_utf8_string = XInternAtom(_ecore_x_disp, "UTF8_STRING",
False);
+ _ecore_x_atom_file_name = XInternAtom(_ecore_x_disp, "FILE_NAME", False);
+ _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);
@@ -393,6 +343,9 @@
_ecore_x_atom_win_layer = XInternAtom(_ecore_x_disp, "_WIN_LAYER",
False);
+ /* Set up the _NET_... hints */
+ ecore_x_netwm_init();
+
/* This is just to be anal about naming conventions */
_ecore_x_atom_selection_primary = XA_PRIMARY;
_ecore_x_atom_selection_secondary = XA_SECONDARY;
@@ -425,67 +378,6 @@
ECORE_X_DND_ACTION_LINK = _ecore_x_atom_xdnd_action_link;
ECORE_X_DND_ACTION_ASK = _ecore_x_atom_xdnd_action_ask;
ECORE_X_DND_ACTION_PRIVATE = _ecore_x_atom_xdnd_action_private;
-
- _ecore_x_atom_net_supported = XInternAtom(_ecore_x_disp,
"_NET_SUPPORTED", False);
- _ecore_x_atom_net_supporting_wm_check = XInternAtom(_ecore_x_disp,
"_NET_SUPPORTING_WM_CHECK", False);
-
- _ecore_x_atom_net_number_of_desktops = XInternAtom(_ecore_x_disp,
"_NET_NUMBER_OF_DESKTOPS", False);
- _ecore_x_atom_net_desktop_geometry = XInternAtom(_ecore_x_disp,
"_NET_DESKTOP_GEOMETRY", False);
- _ecore_x_atom_net_desktop_names = XInternAtom(_ecore_x_disp,
"_NET_DESKTOP_NAMES", False);
- _ecore_x_atom_net_current_desktop = XInternAtom(_ecore_x_disp,
"_NET_CURRENT_DESKTOP", False);
- _ecore_x_atom_net_desktop_viewport = XInternAtom(_ecore_x_disp,
"_NET_DESKTOP_VIEWPORT", False);
- _ecore_x_atom_net_workarea = XInternAtom(_ecore_x_disp,
"_NET_WORKAREA", False);
- _ecore_x_atom_net_virtual_roots = XInternAtom(_ecore_x_disp,
"_NET_VIRTUAL_ROOTS", False);
-
- _ecore_x_atom_net_client_list = XInternAtom(_ecore_x_disp,
"_NET_CLIENT_LIST", False);
- _ecore_x_atom_net_client_list_stacking = XInternAtom(_ecore_x_disp,
"_NET_CLIENT_LIST_STACKING", False);
- _ecore_x_atom_net_active_window = XInternAtom(_ecore_x_disp,
"_NET_ACTIVE_WINDOW", False);
-
- _ecore_x_atom_net_close_window = XInternAtom(_ecore_x_disp,
"_NET_CLOSE_WINDOW", False);
- _ecore_x_atom_net_wm_moveresize = XInternAtom(_ecore_x_disp,
"_NET_WM_MOVERESIZE", False);
-
- _ecore_x_atom_net_wm_name = XInternAtom(_ecore_x_disp,
"_NET_WM_NAME", False);
- _ecore_x_atom_net_wm_visible_name = XInternAtom(_ecore_x_disp,
"_NET_WM_VISIBLE_NAME", False);
- _ecore_x_atom_net_wm_icon_name = XInternAtom(_ecore_x_disp,
"_NET_WM_ICON_NAME", False);
- _ecore_x_atom_net_wm_visible_icon_name = XInternAtom(_ecore_x_disp,
"_NET_WM_VISIBLE_ICON_NAME", False);
- _ecore_x_atom_net_wm_desktop = XInternAtom(_ecore_x_disp,
"_NET_WM_DESKTOP", False);
- _ecore_x_atom_net_wm_window_type = XInternAtom(_ecore_x_disp,
"_NET_WM_WINDOW_TYPE", False);
- _ecore_x_atom_net_wm_state = XInternAtom(_ecore_x_disp,
"_NET_WM_STATE", False);
- _ecore_x_atom_net_wm_allowed_actions = XInternAtom(_ecore_x_disp,
"_NET_WM_ALLOWED_ACTIONS", False);
- _ecore_x_atom_net_wm_strut = XInternAtom(_ecore_x_disp,
"_NET_WM_STRUT", False);
- _ecore_x_atom_net_wm_strut_partial = XInternAtom(_ecore_x_disp,
"_NET_WM_STRUT_PARTIAL", False);
- _ecore_x_atom_net_wm_icon_geometry = XInternAtom(_ecore_x_disp,
"_NET_WM_ICON_GEOMETRY", False);
- _ecore_x_atom_net_wm_icon = XInternAtom(_ecore_x_disp,
"_NET_WM_ICON", False);
- _ecore_x_atom_net_wm_pid = XInternAtom(_ecore_x_disp, "_NET_WM_PID",
False);
- _ecore_x_atom_net_wm_user_time = XInternAtom(_ecore_x_disp,
"_NET_WM_USER_TIME", False);
-
- _ecore_x_atom_net_wm_window_type_desktop = XInternAtom(_ecore_x_disp,
"_NET_WM_WINDOW_TYPE_DESKTOP", False);
- _ecore_x_atom_net_wm_window_type_dock = XInternAtom(_ecore_x_disp,
"_NET_WM_WINDOW_TYPE_DOCK", False);
- _ecore_x_atom_net_wm_window_type_toolbar = XInternAtom(_ecore_x_disp,
"_NET_WM_WINDOW_TYPE_TOOLBAR", False);
- _ecore_x_atom_net_wm_window_type_menu = XInternAtom(_ecore_x_disp,
"_NET_WM_WINDOW_TYPE_MENU", False);
- _ecore_x_atom_net_wm_window_type_utility = XInternAtom(_ecore_x_disp,
"_NET_WM_WINDOW_TYPE_UTILITY", False);
- _ecore_x_atom_net_wm_window_type_splash = XInternAtom(_ecore_x_disp,
"_NET_WM_WINDOW_TYPE_SPLASH", False);
- _ecore_x_atom_net_wm_window_type_dialog = XInternAtom(_ecore_x_disp,
"_NET_WM_WINDOW_TYPE_DIALOG", False);
- _ecore_x_atom_net_wm_window_type_normal = XInternAtom(_ecore_x_disp,
"_NET_WM_WINDOW_TYPE_NORMAL", False);
-
- _ecore_x_atom_net_wm_state_modal = XInternAtom(_ecore_x_disp,
"_NET_WM_STATE_MODAL", False);
- _ecore_x_atom_net_wm_state_sticky = XInternAtom(_ecore_x_disp,
"_NET_WM_STATE_STICKY", False);
- _ecore_x_atom_net_wm_state_maximized_vert = XInternAtom(_ecore_x_disp,
"_NET_WM_STATE_MAXIMIZED_VERT", False);
- _ecore_x_atom_net_wm_state_maximized_horz = XInternAtom(_ecore_x_disp,
"_NET_WM_STATE_MAXIMIZED_HORZ", False);
- _ecore_x_atom_net_wm_state_shaded = XInternAtom(_ecore_x_disp,
"_NET_WM_STATE_SHADED", False);
- _ecore_x_atom_net_wm_state_skip_taskbar = XInternAtom(_ecore_x_disp,
"_NET_WM_STATE_SKIP_TASKBAR", False);
- _ecore_x_atom_net_wm_state_skip_pager = XInternAtom(_ecore_x_disp,
"_NET_WM_STATE_SKIP_PAGER", False);
- _ecore_x_atom_net_wm_state_hidden = XInternAtom(_ecore_x_disp,
"_NET_WM_STATE_HIDDEN", False);
- _ecore_x_atom_net_wm_state_fullscreen = XInternAtom(_ecore_x_disp,
"_NET_WM_STATE_FULLSCREEN", False);
- _ecore_x_atom_net_wm_state_above = XInternAtom(_ecore_x_disp,
"_NET_WM_STATE_ABOVE", False);
- _ecore_x_atom_net_wm_state_below = XInternAtom(_ecore_x_disp,
"_NET_WM_STATE_BELOW", False);
- _ecore_x_atom_net_wm_window_opacity = XInternAtom(_ecore_x_disp,
"_NET_WM_WINDOW_OPACITY", False);
-
- _ecore_x_atom_compound_text = XInternAtom(_ecore_x_disp, "COMPOUND_TEXT",
False);
- _ecore_x_atom_utf8_string = XInternAtom(_ecore_x_disp, "UTF8_STRING",
False);
- _ecore_x_atom_file_name = XInternAtom(_ecore_x_disp, "FILE_NAME", False);
- _ecore_x_atom_string = XInternAtom(_ecore_x_disp, "STRING", False);
- _ecore_x_atom_text = XInternAtom(_ecore_x_disp, "TEXT", False);
_ecore_x_atoms_wm_protocols[ECORE_X_WM_PROTOCOL_DELETE_REQUEST] =
_ecore_x_atom_wm_delete_window;
_ecore_x_atoms_wm_protocols[ECORE_X_WM_PROTOCOL_TAKE_FOCUS] =
_ecore_x_atom_wm_take_focus;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_netwm.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- ecore_x_netwm.c 23 Oct 2004 14:26:25 -0000 1.1
+++ ecore_x_netwm.c 27 Oct 2004 21:50:58 -0000 1.2
@@ -8,6 +8,9 @@
/*
* Convenience macros
*/
+#define _ATOM_GET(name) \
+ XInternAtom(_ecore_x_disp, name, False)
+
#define _ATOM_SET_UTF8_STRING(atom, win, string) \
XChangeProperty(_ecore_x_disp, win, atom, _ecore_x_atom_utf8_string, 8,
PropModeReplace, \
(unsigned char *)string, strlen(string))
@@ -24,51 +27,150 @@
XChangeProperty(_ecore_x_disp, win, atom, XA_CARDINAL, 32, PropModeReplace, \
(unsigned char *)p_val, cnt)
-#if 0
+
+/*
+ * Root window NetWM hints.
+ */
+Atom _ecore_x_atom_net_supported = 0;
+Atom _ecore_x_atom_net_supporting_wm_check = 0;
+
+Atom _ecore_x_atom_net_number_of_desktops = 0;
+Atom _ecore_x_atom_net_virtual_roots = 0;
+Atom _ecore_x_atom_net_desktop_names = 0;
+Atom _ecore_x_atom_net_desktop_geometry = 0;
+Atom _ecore_x_atom_net_desktop_viewport = 0;
+Atom _ecore_x_atom_net_workarea = 0;
+Atom _ecore_x_atom_net_desktop_layout = 0;
+
+Atom _ecore_x_atom_net_current_desktop = 0;
+Atom _ecore_x_atom_net_showing_desktop = 0;
+
+Atom _ecore_x_atom_net_client_list = 0;
+Atom _ecore_x_atom_net_client_list_stacking = 0;
+Atom _ecore_x_atom_net_active_window = 0;
+
+/*
+ * Client message types.
+ */
+Atom _ecore_x_atom_net_close_window = 0;
+Atom _ecore_x_atom_net_wm_moveresize = 0;
+
/*
- * All netwm atoms could be moved to here. Otherwise remove this.
+ * Application window specific NetWM hints.
*/
-Atom _ecore_x_atom_net_number_of_desktops;
-Atom _ecore_x_atom_net_virtual_roots;
-Atom _ecore_x_atom_net_desktop_names;
-Atom _ecore_x_atom_net_desktop_geometry;
-Atom _ecore_x_atom_net_workarea;
-Atom _ecore_x_atom_net_current_desktop;
-Atom _ecore_x_atom_net_desktop_viewport;
-Atom _ecore_x_atom_net_showing_desktop;
-
-Atom _ecore_x_atom_net_client_list;
-Atom _ecore_x_atom_net_client_list_stacking;
-Atom _ecore_x_atom_net_active_window;
+Atom _ecore_x_atom_net_wm_desktop = 0;
+Atom _ecore_x_atom_net_wm_name = 0;
+Atom _ecore_x_atom_net_wm_visible_name = 0;
+Atom _ecore_x_atom_net_wm_icon_name = 0;
+Atom _ecore_x_atom_net_wm_visible_icon_name = 0;
+Atom _ecore_x_atom_net_wm_window_type = 0;
+Atom _ecore_x_atom_net_wm_state = 0;
+Atom _ecore_x_atom_net_wm_allowed_actions = 0;
+Atom _ecore_x_atom_net_wm_strut = 0;
+Atom _ecore_x_atom_net_wm_strut_partial = 0;
+Atom _ecore_x_atom_net_wm_icon_geometry = 0;
+Atom _ecore_x_atom_net_wm_icon = 0;
+Atom _ecore_x_atom_net_wm_pid = 0;
+Atom _ecore_x_atom_net_wm_handle_icons = 0;
+Atom _ecore_x_atom_net_wm_user_time = 0;
+
+Atom _ecore_x_atom_net_wm_window_type_desktop = 0;
+Atom _ecore_x_atom_net_wm_window_type_dock = 0;
+Atom _ecore_x_atom_net_wm_window_type_toolbar = 0;
+Atom _ecore_x_atom_net_wm_window_type_menu = 0;
+Atom _ecore_x_atom_net_wm_window_type_utility = 0;
+Atom _ecore_x_atom_net_wm_window_type_splash = 0;
+Atom _ecore_x_atom_net_wm_window_type_dialog = 0;
+Atom _ecore_x_atom_net_wm_window_type_normal = 0;
+
+Atom _ecore_x_atom_net_wm_state_modal = 0;
+Atom _ecore_x_atom_net_wm_state_sticky = 0;
+Atom _ecore_x_atom_net_wm_state_maximized_vert = 0;
+Atom _ecore_x_atom_net_wm_state_maximized_horz = 0;
+Atom _ecore_x_atom_net_wm_state_shaded = 0;
+Atom _ecore_x_atom_net_wm_state_skip_taskbar = 0;
+Atom _ecore_x_atom_net_wm_state_skip_pager = 0;
+Atom _ecore_x_atom_net_wm_state_hidden = 0;
+Atom _ecore_x_atom_net_wm_state_fullscreen = 0;
+Atom _ecore_x_atom_net_wm_state_above = 0;
+Atom _ecore_x_atom_net_wm_state_below = 0;
+
+Atom _ecore_x_atom_net_wm_window_opacity = 0;
void
ecore_x_netwm_init(void)
{
- _ecore_x_atom_net_number_of_desktops =
- XInternAtom(_ecore_x_disp, "_NET_NUMBER_OF_DESKTOPS", False);
- _ecore_x_atom_net_virtual_roots =
- XInternAtom(_ecore_x_disp, "_NET_VIRTUAL_ROOTS", False);
- _ecore_x_atom_net_desktop_names =
- XInternAtom(_ecore_x_disp, "_NET_DESKTOP_NAMES", False);
- _ecore_x_atom_net_desktop_geometry =
- XInternAtom(_ecore_x_disp, "_NET_DESKTOP_GEOMETRY", False);
- _ecore_x_atom_net_workarea =
- XInternAtom(_ecore_x_disp, "_NET_WORKAREA", False);
- _ecore_x_atom_net_current_desktop =
- XInternAtom(_ecore_x_disp, "_NET_CURRENT_DESKTOP", False);
- _ecore_x_atom_net_desktop_viewport =
- XInternAtom(_ecore_x_disp, "_NET_DESKTOP_VIEWPORT", False);
- _ecore_x_atom_net_showing_desktop =
- XInternAtom(_ecore_x_disp, "_NET_SHOWING_DESKTOP", False);
-
- _ecore_x_atom_net_client_list =
- XInternAtom(_ecore_x_disp, "_NET_CLIENT_LIST", False);
- _ecore_x_atom_net_client_list_stacking =
- XInternAtom(_ecore_x_disp, "_NET_CLIENT_LIST_STACKING", False);
- _ecore_x_atom_net_active_window =
- XInternAtom(_ecore_x_disp, "_NET_ACTIVE_WINDOW", False);
+ _ecore_x_atom_net_supported = _ATOM_GET("_NET_SUPPORTED");
+ _ecore_x_atom_net_supporting_wm_check = _ATOM_GET("_NET_SUPPORTING_WM_CHECK");
+
+ _ecore_x_atom_net_number_of_desktops = _ATOM_GET("_NET_NUMBER_OF_DESKTOPS");
+ _ecore_x_atom_net_virtual_roots = _ATOM_GET("_NET_VIRTUAL_ROOTS");
+ _ecore_x_atom_net_desktop_geometry = _ATOM_GET("_NET_DESKTOP_GEOMETRY");
+ _ecore_x_atom_net_desktop_names = _ATOM_GET("_NET_DESKTOP_NAMES");
+ _ecore_x_atom_net_current_desktop = _ATOM_GET("_NET_CURRENT_DESKTOP");
+ _ecore_x_atom_net_desktop_viewport = _ATOM_GET("_NET_DESKTOP_VIEWPORT");
+ _ecore_x_atom_net_workarea = _ATOM_GET("_NET_WORKAREA");
+
+ _ecore_x_atom_net_client_list = _ATOM_GET("_NET_CLIENT_LIST");
+ _ecore_x_atom_net_client_list_stacking = _ATOM_GET("_NET_CLIENT_LIST_STACKING");
+ _ecore_x_atom_net_active_window = _ATOM_GET("_NET_ACTIVE_WINDOW");
+
+ _ecore_x_atom_net_close_window = _ATOM_GET("_NET_CLOSE_WINDOW");
+ _ecore_x_atom_net_wm_moveresize = _ATOM_GET("_NET_WM_MOVERESIZE");
+
+ _ecore_x_atom_net_wm_name = _ATOM_GET("_NET_WM_NAME");
+ _ecore_x_atom_net_wm_visible_name = _ATOM_GET("_NET_WM_VISIBLE_NAME");
+ _ecore_x_atom_net_wm_icon_name = _ATOM_GET("_NET_WM_ICON_NAME");
+ _ecore_x_atom_net_wm_visible_icon_name = _ATOM_GET("_NET_WM_VISIBLE_ICON_NAME");
+ _ecore_x_atom_net_wm_desktop = _ATOM_GET("_NET_WM_DESKTOP");
+ _ecore_x_atom_net_wm_window_type = _ATOM_GET("_NET_WM_WINDOW_TYPE");
+ _ecore_x_atom_net_wm_state = _ATOM_GET("_NET_WM_STATE");
+ _ecore_x_atom_net_wm_allowed_actions = _ATOM_GET("_NET_WM_ALLOWED_ACTIONS");
+ _ecore_x_atom_net_wm_strut = _ATOM_GET("_NET_WM_STRUT");
+ _ecore_x_atom_net_wm_strut_partial = _ATOM_GET("_NET_WM_STRUT_PARTIAL");
+ _ecore_x_atom_net_wm_icon_geometry = _ATOM_GET("_NET_WM_ICON_GEOMETRY");
+ _ecore_x_atom_net_wm_icon = _ATOM_GET("_NET_WM_ICON");
+ _ecore_x_atom_net_wm_pid = _ATOM_GET("_NET_WM_PID");
+ _ecore_x_atom_net_wm_user_time = _ATOM_GET("_NET_WM_USER_TIME");
+
+ _ecore_x_atom_net_wm_window_type_desktop =
_ATOM_GET("_NET_WM_WINDOW_TYPE_DESKTOP");
+ _ecore_x_atom_net_wm_window_type_dock = _ATOM_GET("_NET_WM_WINDOW_TYPE_DOCK");
+ _ecore_x_atom_net_wm_window_type_toolbar =
_ATOM_GET("_NET_WM_WINDOW_TYPE_TOOLBAR");
+ _ecore_x_atom_net_wm_window_type_menu = _ATOM_GET("_NET_WM_WINDOW_TYPE_MENU");
+ _ecore_x_atom_net_wm_window_type_utility =
_ATOM_GET("_NET_WM_WINDOW_TYPE_UTILITY");
+ _ecore_x_atom_net_wm_window_type_splash = _ATOM_GET("_NET_WM_WINDOW_TYPE_SPLASH");
+ _ecore_x_atom_net_wm_window_type_dialog = _ATOM_GET("_NET_WM_WINDOW_TYPE_DIALOG");
+ _ecore_x_atom_net_wm_window_type_normal = _ATOM_GET("_NET_WM_WINDOW_TYPE_NORMAL");
+
+ _ecore_x_atom_net_wm_state_modal = _ATOM_GET("_NET_WM_STATE_MODAL");
+ _ecore_x_atom_net_wm_state_sticky = _ATOM_GET("_NET_WM_STATE_STICKY");
+ _ecore_x_atom_net_wm_state_maximized_vert =
_ATOM_GET("_NET_WM_STATE_MAXIMIZED_VERT");
+ _ecore_x_atom_net_wm_state_maximized_horz =
_ATOM_GET("_NET_WM_STATE_MAXIMIZED_HORZ");
+ _ecore_x_atom_net_wm_state_shaded = _ATOM_GET("_NET_WM_STATE_SHADED");
+ _ecore_x_atom_net_wm_state_skip_taskbar =
_ATOM_GET("_NET_WM_STATE_SKIP_TASKBAR");
+ _ecore_x_atom_net_wm_state_skip_pager = _ATOM_GET("_NET_WM_STATE_SKIP_PAGER");
+ _ecore_x_atom_net_wm_state_hidden = _ATOM_GET("_NET_WM_STATE_HIDDEN");
+ _ecore_x_atom_net_wm_state_fullscreen = _ATOM_GET("_NET_WM_STATE_FULLSCREEN");
+ _ecore_x_atom_net_wm_state_above = _ATOM_GET("_NET_WM_STATE_ABOVE");
+ _ecore_x_atom_net_wm_state_below = _ATOM_GET("_NET_WM_STATE_BELOW");
+
+ _ecore_x_atom_net_wm_window_opacity = _ATOM_GET("_NET_WM_WINDOW_OPACITY");
}
-#endif
+
+/*
+ * WM identification
+ */
+void
+ecore_x_netwm_wm_identify(Ecore_X_Window root, Ecore_X_Window check,
+ const char *wm_name)
+{
+ _ATOM_SET_WINDOW(_ecore_x_atom_net_supporting_wm_check, root, &check, 1);
+ _ATOM_SET_WINDOW(_ecore_x_atom_net_supporting_wm_check, check, &check, 1);
+ _ATOM_SET_UTF8_STRING(_ecore_x_atom_net_wm_name, check, wm_name);
+ /* This one isn't mandatory */
+ _ATOM_SET_UTF8_STRING(_ecore_x_atom_net_wm_name, root, wm_name);
+}
+
/*
* Desktop configuration and status
-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs