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

Reply via email to