From: <enl...@li...> - 2004-11-29 22:27:11
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src/lib/ecore Modified Files: Ecore_Data.h Log Message: Trivial fixes to avoid compiler warnings. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore/Ecore_Data.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- Ecore_Data.h 30 Apr 2004 03:10:15 -0000 1.5 +++ Ecore_Data.h 29 Nov 2004 22:26:28 -0000 1.6 @@ -143,7 +143,7 @@ /* Creating and initializing new list structures */ - Ecore_List *ecore_list_new(); + Ecore_List *ecore_list_new(void); int ecore_list_init(Ecore_List *list); /* Adding items to the list */ @@ -181,7 +181,7 @@ void ecore_list_destroy(Ecore_List *list); /* Creating and initializing list nodes */ - Ecore_List_Node *ecore_list_node_new(); + Ecore_List_Node *ecore_list_node_new(void); int ecore_list_node_init(Ecore_List_Node *newNode); /* Destroying nodes */ @@ -201,7 +201,7 @@ }; /* Creating and initializing new list structures */ - Ecore_DList *ecore_dlist_new(); + Ecore_DList *ecore_dlist_new(void); int ecore_dlist_init(Ecore_DList *list); void ecore_dlist_destroy(Ecore_DList *list); @@ -239,7 +239,7 @@ int ecore_dlist_clear(Ecore_DList * _e_dlist); /* Creating and initializing list nodes */ - Ecore_DList_Node *ecore_dlist_node_new(); + Ecore_DList_Node *ecore_dlist_node_new(void); /* Destroying nodes */ int ecore_dlist_node_destroy(Ecore_DList_Node * node, Ecore_Free_Cb free_func); @@ -537,7 +537,7 @@ /* Initialize a node */ int ecore_tree_node_init(Ecore_Tree_Node * new_node); /* Allocate and initialize a new node */ - Ecore_Tree_Node *ecore_tree_node_new(); + Ecore_Tree_Node *ecore_tree_node_new(void); /* Free the desired node */ int ecore_tree_node_destroy(Ecore_Tree_Node * node, Ecore_Free_Cb free_data); |
From: <enl...@li...> - 2004-11-29 22:27:15
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src/lib/ecore_txt Modified Files: Ecore_Txt.h ecore_txt.c Log Message: Trivial fixes to avoid compiler warnings. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_txt/Ecore_Txt.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- Ecore_Txt.h 25 Nov 2004 05:17:17 -0000 1.3 +++ Ecore_Txt.h 29 Nov 2004 22:26:30 -0000 1.4 @@ -27,7 +27,7 @@ extern "C" { #endif -EAPI char *ecore_txt_convert(char *enc_from, char *enc_to, char *text); +EAPI char *ecore_txt_convert(const char *enc_from, const char *enc_to, const char *text); #ifdef __cplusplus } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_txt/ecore_txt.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- ecore_txt.c 23 Nov 2004 15:17:54 -0000 1.4 +++ ecore_txt.c 29 Nov 2004 22:26:32 -0000 1.5 @@ -14,7 +14,7 @@ * FIXME: Finish this. */ char * -ecore_txt_convert(char *enc_from, char *enc_to, char *text) +ecore_txt_convert(const char *enc_from, const char *enc_to, const char *text) { iconv_t ic; char *new_txt, *inp, *outp; |
From: <enl...@li...> - 2004-11-29 22:27:32
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src/lib/ecore_x Modified Files: ecore_x.c ecore_x_dnd.c ecore_x_events.c Log Message: Trivial fixes to avoid compiler warnings. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x.c,v retrieving revision 1.50 retrieving revision 1.51 diff -u -3 -r1.50 -r1.51 --- ecore_x.c 24 Nov 2004 07:27:57 -0000 1.50 +++ ecore_x.c 29 Nov 2004 22:26:33 -0000 1.51 @@ -888,7 +888,7 @@ * @return Associated atom value. */ Ecore_X_Atom -ecore_x_atom_get(char *name) +ecore_x_atom_get(const char *name) { if (!_ecore_x_disp) return 0; return XInternAtom(_ecore_x_disp, name, False); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_dnd.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -3 -r1.10 -r1.11 --- ecore_x_dnd.c 23 Nov 2004 15:17:55 -0000 1.10 +++ ecore_x_dnd.c 29 Nov 2004 22:26:37 -0000 1.11 @@ -241,6 +241,7 @@ _xdnd->dest = win; } +#if 0 /* Unused? */ void _ecore_x_dnd_send_finished(void) { @@ -263,4 +264,4 @@ return (!XSetSelectionOwner(_ecore_x_disp, _ecore_x_atom_selection_xdnd, _xdnd->source, CurrentTime)); } - +#endif =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_events.c,v retrieving revision 1.37 retrieving revision 1.38 diff -u -3 -r1.37 -r1.38 --- ecore_x_events.c 23 Nov 2004 15:17:55 -0000 1.37 +++ ecore_x_events.c 29 Nov 2004 22:26:37 -0000 1.38 @@ -6,12 +6,14 @@ #include "ecore_x_private.h" #include "Ecore_X.h" +#if 0 static void _ecore_x_event_free_window_prop_name_class_change(void *data, void *ev); static void _ecore_x_event_free_window_prop_title_change(void *data, void *ev); static void _ecore_x_event_free_window_prop_visible_title_change(void *data, void *ev); static void _ecore_x_event_free_window_prop_icon_name_change(void *data, void *ev); static void _ecore_x_event_free_window_prop_visible_icon_name_change(void *data, void *ev); static void _ecore_x_event_free_window_prop_client_machine_change(void *data, void *ev); +#endif static void _ecore_x_event_free_key_down(void *data, void *ev); static void _ecore_x_event_free_key_up(void *data, void *ev); @@ -45,6 +47,7 @@ XChangeWindowAttributes(_ecore_x_disp, w, CWEventMask, &s_attr); } +#if 0 static void _ecore_x_event_free_window_prop_name_class_change(void *data, void *ev) { @@ -105,6 +108,7 @@ if (e->name) free(e->name); free(e); } +#endif static void _ecore_x_event_free_key_down(void *data, void *ev) |
From: <enl...@li...> - 2004-11-29 22:30:22
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src/lib/ecore_x Modified Files: ecore_x_icccm.c Log Message: Fix incorrect function name. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_icccm.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- ecore_x_icccm.c 27 Nov 2004 15:17:30 -0000 1.11 +++ ecore_x_icccm.c 29 Nov 2004 22:30:14 -0000 1.12 @@ -586,7 +586,7 @@ * @param argv Arguments. */ void -ecore_x_window_icccm_command_get(Ecore_X_Window win, int *argc, char ***argv) +ecore_x_icccm_command_get(Ecore_X_Window win, int *argc, char ***argv) { XGetCommand(_ecore_x_disp, win, argv, argc); } |
From: <enl...@li...> - 2004-11-29 23:25:20
|
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_netwm.c Log Message: Add a few netwm functions. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Ecore_X.h,v retrieving revision 1.79 retrieving revision 1.80 diff -u -3 -r1.79 -r1.80 --- Ecore_X.h 26 Nov 2004 08:27:44 -0000 1.79 +++ Ecore_X.h 29 Nov 2004 23:25:10 -0000 1.80 @@ -800,6 +800,7 @@ EAPI void ecore_x_dnd_aware_set(Ecore_X_Window win, int on); EAPI int ecore_x_dnd_version_get(Ecore_X_Window win); EAPI int ecore_x_dnd_begin (Ecore_X_Window source, unsigned char *data, int size); +EAPI void ecore_x_dnd_send_status(int will_accept, int suppress, Ecore_X_Rectangle rectangle, Ecore_X_Atom action); EAPI Ecore_X_Window ecore_x_window_new(Ecore_X_Window parent, int x, int y, int w, int h); EAPI Ecore_X_Window ecore_x_window_override_new(Ecore_X_Window parent, int x, int y, int w, int h); @@ -869,6 +870,7 @@ EAPI Ecore_X_WM_Protocol *ecore_x_window_prop_protocol_list_get(Ecore_X_Window win, int *num_ret); EAPI void ecore_x_window_prop_sticky_set(Ecore_X_Window win, int on); EAPI int ecore_x_window_prop_input_mode_set(Ecore_X_Window win, Ecore_X_Window_Input_Mode mode); +EAPI int ecore_x_window_prop_initial_state_set(Ecore_X_Window win, Ecore_X_Window_State_Hint state); EAPI void ecore_x_window_prop_min_size_set(Ecore_X_Window win, int w, int h); EAPI void ecore_x_window_prop_max_size_set(Ecore_X_Window win, int w, int h); EAPI void ecore_x_window_prop_base_size_set(Ecore_X_Window win, int w, int h); @@ -914,20 +916,6 @@ EAPI int ecore_x_client_message32_send(Ecore_X_Window win, Ecore_X_Atom type, long d0, long d1, long d2, long d3, long d4); EAPI int ecore_x_client_message8_send(Ecore_X_Window win, Ecore_X_Atom type, const void *data, int len); -#if 0 /* ??? */ - EAPI void ecore_x_netwm_init(void); -#endif - EAPI void ecore_x_netwm_desk_count_set(Ecore_X_Window root, int n_desks); - EAPI void ecore_x_netwm_desk_roots_set(Ecore_X_Window root, int n_desks, Ecore_X_Window * vroots); - EAPI void ecore_x_netwm_desk_names_set(Ecore_X_Window root, int n_desks, const char **names); - EAPI void ecore_x_netwm_desk_size_set(Ecore_X_Window root, int width, int height); - EAPI void ecore_x_netwm_desk_workareas_set(Ecore_X_Window root, int n_desks, int *areas); - EAPI void ecore_x_netwm_desk_current_set(Ecore_X_Window root, int desk); - EAPI void ecore_x_netwm_desk_viewports_set(Ecore_X_Window root, int n_desks, int *origins); - EAPI void ecore_x_netwm_showing_desktop_set(Ecore_X_Window root, int on); - EAPI void ecore_x_netwm_client_list_set(Ecore_X_Window root, int n_clients, Ecore_X_Window * p_clients); - EAPI void ecore_x_netwm_client_list_stacking_set(Ecore_X_Window root, int n_clients, Ecore_X_Window * p_clients); - EAPI void ecore_x_netwm_client_active_set(Ecore_X_Window root, Ecore_X_Window win); /* FIXME: these funcs need categorising */ EAPI void ecore_x_drawable_geometry_get(Ecore_X_Drawable d, int *x, int *y, int *w, int *h); @@ -939,7 +927,7 @@ EAPI void ecore_x_window_client_manage(Ecore_X_Window win); EAPI void ecore_x_window_sniff(Ecore_X_Window win); EAPI void ecore_x_window_client_sniff(Ecore_X_Window win); - EAPI Ecore_X_Atom ecore_x_atom_get(char *name); + EAPI Ecore_X_Atom ecore_x_atom_get(const char *name); EAPI void ecore_x_icccm_state_set(Ecore_X_Window win, Ecore_X_Window_State_Hint state); @@ -1087,6 +1075,14 @@ EAPI void ecore_x_netwm_client_list_set(Ecore_X_Window root, int n_clients, Ecore_X_Window * p_clients); EAPI void ecore_x_netwm_client_list_stacking_set(Ecore_X_Window root, int n_clients, Ecore_X_Window * p_clients); EAPI void ecore_x_netwm_client_active_set(Ecore_X_Window root, Ecore_X_Window win); + EAPI void ecore_x_netwm_name_set(Ecore_X_Window win, const char *name); + EAPI char *ecore_x_netwm_name_get(Ecore_X_Window win); + EAPI void ecore_x_netwm_visible_name_set(Ecore_X_Window win, const char *name); + EAPI char *ecore_x_netwm_visible_name_get(Ecore_X_Window win); + EAPI void ecore_x_netwm_icon_name_set(Ecore_X_Window win, const char *name); + EAPI char *ecore_x_netwm_icon_name_get(Ecore_X_Window win); + EAPI void ecore_x_netwm_visible_icon_name_set(Ecore_X_Window win, const char *name); + EAPI char *ecore_x_netwm_visible_icon_name_get(Ecore_X_Window win); /* FIXME: these funcs need categorising */ EAPI void ecore_x_drawable_geometry_get(Ecore_X_Drawable d, int *x, int *y, int *w, int *h); @@ -1098,7 +1094,7 @@ EAPI void ecore_x_window_client_manage(Ecore_X_Window win); EAPI void ecore_x_window_sniff(Ecore_X_Window win); EAPI void ecore_x_window_client_sniff(Ecore_X_Window win); - EAPI Ecore_X_Atom ecore_x_atom_get(char *name); + EAPI Ecore_X_Atom ecore_x_atom_get(const char *name); typedef struct _Ecore_X_Window_Attributes { =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_netwm.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- ecore_x_netwm.c 27 Oct 2004 21:50:58 -0000 1.2 +++ ecore_x_netwm.c 29 Nov 2004 23:25:12 -0000 1.3 @@ -29,6 +29,52 @@ /* + * Convenience functions. Should probably go elsewhere. + */ + +/* + * Set UTF-8 string property + */ +static void +_ecore_x_window_prop_string_utf8_set(Ecore_X_Window win, Ecore_X_Atom atom, const char *str) +{ + _ATOM_SET_UTF8_STRING(win, atom, str); +} + +/* + * Get UTF-8 string property + */ +static char * +_ecore_x_window_prop_string_utf8_get(Ecore_X_Window win, Ecore_X_Atom atom) +{ + char *str; + unsigned char *prop_return; + Atom type_ret; + unsigned long bytes_after, num_ret; + int format_ret; + + str = NULL; + prop_return = NULL; + XGetWindowProperty(_ecore_x_disp, win, atom, 0, 0x7fffffff, False, + _ecore_x_atom_utf8_string, &type_ret, + &format_ret, &num_ret, &bytes_after, &prop_return); + if (prop_return && num_ret > 0 && format_ret == 8) + { + str = malloc(num_ret + 1); + if (str) + { + memcpy(str, prop_return, num_ret); + str[num_ret] = '\0'; + } + } + if (prop_return) + XFree(prop_return); + + return str; +} + + +/* * Root window NetWM hints. */ Atom _ecore_x_atom_net_supported = 0; @@ -316,3 +362,51 @@ { _ATOM_SET_WINDOW(_ecore_x_atom_net_active_window, root, &win, 1); } + +void +ecore_x_netwm_name_set(Ecore_X_Window win, const char *name) +{ + _ecore_x_window_prop_string_utf8_set(_ecore_x_atom_net_wm_name, win, name); +} + +char * +ecore_x_netwm_name_get(Ecore_X_Window win) +{ + return _ecore_x_window_prop_string_utf8_get(win, _ecore_x_atom_net_wm_name); +} + +void +ecore_x_netwm_icon_name_set(Ecore_X_Window win, const char *name) +{ + _ecore_x_window_prop_string_utf8_set(_ecore_x_atom_net_wm_icon_name, win, name); +} + +char * +ecore_x_netwm_icon_name_get(Ecore_X_Window win) +{ + return _ecore_x_window_prop_string_utf8_get(win, _ecore_x_atom_net_wm_icon_name); +} + +void +ecore_x_netwm_visible_name_set(Ecore_X_Window win, const char *name) +{ + _ecore_x_window_prop_string_utf8_set(_ecore_x_atom_net_wm_visible_name, win, name); +} + +char * +ecore_x_netwm_visible_name_get(Ecore_X_Window win) +{ + return _ecore_x_window_prop_string_utf8_get(win, _ecore_x_atom_net_wm_visible_name); +} + +void +ecore_x_netwm_visible_icon_name_set(Ecore_X_Window win, const char *name) +{ + _ecore_x_window_prop_string_utf8_set(_ecore_x_atom_net_wm_visible_icon_name, win, name); +} + +char * +ecore_x_netwm_visible_icon_name_get(Ecore_X_Window win) +{ + return _ecore_x_window_prop_string_utf8_get(win, _ecore_x_atom_net_wm_visible_icon_name); +} |
From: <enl...@li...> - 2004-12-04 10:10:39
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src/lib/ecore_x Modified Files: Ecore_X.h Makefile.am ecore_x.c ecore_x_dnd.c ecore_x_events.c ecore_x_icccm.c ecore_x_mwm.c ecore_x_netwm.c ecore_x_private.h ecore_x_selection.c ecore_x_window.c ecore_x_window_prop.c Added Files: Ecore_X_Atoms.h Log Message: Make ecore_x atoms public. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Ecore_X.h,v retrieving revision 1.81 retrieving revision 1.82 diff -u -3 -r1.81 -r1.82 --- Ecore_X.h 4 Dec 2004 03:54:04 -0000 1.81 +++ Ecore_X.h 4 Dec 2004 10:10:19 -0000 1.82 @@ -639,7 +639,6 @@ extern EAPI int ECORE_X_LOCK_NUM; extern EAPI int ECORE_X_LOCK_CAPS; -#ifndef _ECORE_X_PRIVATE_H typedef enum _Ecore_X_WM_Protocol { /** * If enabled the window manager will be asked to send a @@ -651,9 +650,11 @@ * If enabled the window manager will be told that the window * explicitly sets input focus. */ - ECORE_X_WM_PROTOCOL_TAKE_FOCUS + ECORE_X_WM_PROTOCOL_TAKE_FOCUS, + + /* Number of defined items */ + ECORE_X_WM_PROTOCOL_NUM } Ecore_X_WM_Protocol; -#endif typedef enum _Ecore_X_Window_Input_Mode { /** The window can never be focused */ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Makefile.am,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- Makefile.am 25 Nov 2004 14:09:24 -0000 1.15 +++ Makefile.am 4 Dec 2004 10:10:20 -0000 1.16 @@ -19,6 +19,7 @@ lib_LTLIBRARIES = libecore_x.la include_HEADERS = \ Ecore_X.h \ +Ecore_X_Atoms.h \ Ecore_X_Cursor.h libecore_x_la_SOURCES = \ @@ -53,6 +54,7 @@ EXTRA_DIST = \ Ecore_X.h \ +Ecore_X_Atoms.h \ Ecore_X_Cursor.h \ ecore_x.c \ ecore_x_dnd.c \ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x.c,v retrieving revision 1.52 retrieving revision 1.53 diff -u -3 -r1.52 -r1.53 --- ecore_x.c 4 Dec 2004 03:54:04 -0000 1.52 +++ ecore_x.c 4 Dec 2004 10:10:28 -0000 1.53 @@ -1,6 +1,7 @@ #include "Ecore.h" #include "ecore_x_private.h" #include "Ecore_X.h" +#include "Ecore_X_Atoms.h" static int _ecore_x_fd_handler(void *data, Ecore_Fd_Handler *fd_handler); static int _ecore_x_fd_handler_buf(void *data, Ecore_Fd_Handler *fd_handler); @@ -25,72 +26,48 @@ int _ecore_x_event_last_root_x = 0; int _ecore_x_event_last_root_y = 0; -/* - * ICCCM hints. - */ -Atom _ecore_x_atom_wm_state = 0; -Atom _ecore_x_atom_wm_delete_window = 0; -Atom _ecore_x_atom_wm_take_focus = 0; -Atom _ecore_x_atom_wm_protocols = 0; -Atom _ecore_x_atom_wm_class = 0; -Atom _ecore_x_atom_wm_name = 0; -Atom _ecore_x_atom_wm_command = 0; -Atom _ecore_x_atom_wm_icon_name = 0; -Atom _ecore_x_atom_wm_client_machine = 0; -Atom _ecore_x_atom_wm_change_state = 0; -Atom _ecore_x_atom_wm_colormap_windows = 0; -Atom _ecore_x_atom_wm_window_role = 0; -Atom _ecore_x_atom_wm_hints = 0; -Atom _ecore_x_atom_wm_client_leader = 0; -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]; +/* FIXME - These are duplicates after making ecore atoms public */ +Ecore_X_Atom ECORE_X_ATOM_FILE_NAME = 0; +Ecore_X_Atom ECORE_X_ATOM_STRING = 0; +Ecore_X_Atom ECORE_X_ATOM_TEXT = 0; +Ecore_X_Atom ECORE_X_ATOM_UTF8_STRING = 0; +Ecore_X_Atom ECORE_X_ATOM_COMPOUND_TEXT = 0; -/* - * Motif hints. - */ -Atom _ecore_x_atom_motif_wm_hints = 0; +Ecore_X_Atom _ecore_x_atoms_wm_protocols[ECORE_X_WM_PROTOCOL_NUM]; /* * GNOME hints. */ -Atom _ecore_x_atom_win_layer = 0; +Ecore_X_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; -Atom _ecore_x_atom_selection_prop_primary = 0; -Atom _ecore_x_atom_selection_prop_secondary = 0; -Atom _ecore_x_atom_selection_prop_clipboard = 0; - -Atom _ecore_x_atom_selection_xdnd = 0; -Atom _ecore_x_atom_selection_prop_xdnd = 0; -Atom _ecore_x_atom_xdnd_aware = 0; -Atom _ecore_x_atom_xdnd_enter = 0; -Atom _ecore_x_atom_xdnd_type_list = 0; -Atom _ecore_x_atom_xdnd_position = 0; -Atom _ecore_x_atom_xdnd_action_copy = 0; -Atom _ecore_x_atom_xdnd_action_move = 0; -Atom _ecore_x_atom_xdnd_action_link = 0; -Atom _ecore_x_atom_xdnd_action_private = 0; -Atom _ecore_x_atom_xdnd_action_ask = 0; -Atom _ecore_x_atom_xdnd_action_list = 0; -Atom _ecore_x_atom_xdnd_action_description = 0; -Atom _ecore_x_atom_xdnd_proxy = 0; -Atom _ecore_x_atom_xdnd_status = 0; -Atom _ecore_x_atom_xdnd_drop = 0; -Atom _ecore_x_atom_xdnd_finished = 0; -Atom _ecore_x_atom_xdnd_leave = 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; +Ecore_X_Atom ECORE_X_ATOM_SELECTION_PRIMARY = 0; +Ecore_X_Atom ECORE_X_ATOM_SELECTION_SECONDARY = 0; +Ecore_X_Atom ECORE_X_ATOM_SELECTION_CLIPBOARD = 0; +Ecore_X_Atom ECORE_X_ATOM_SELECTION_PROP_PRIMARY = 0; +Ecore_X_Atom ECORE_X_ATOM_SELECTION_PROP_SECONDARY = 0; +Ecore_X_Atom ECORE_X_ATOM_SELECTION_PROP_CLIPBOARD = 0; + +Ecore_X_Atom ECORE_X_ATOM_SELECTION_XDND = 0; +Ecore_X_Atom ECORE_X_ATOM_SELECTION_PROP_XDND = 0; +Ecore_X_Atom ECORE_X_ATOM_XDND_AWARE = 0; +Ecore_X_Atom ECORE_X_ATOM_XDND_ENTER = 0; +Ecore_X_Atom ECORE_X_ATOM_XDND_TYPE_LIST = 0; +Ecore_X_Atom ECORE_X_ATOM_XDND_POSITION = 0; +Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_COPY = 0; +Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_MOVE = 0; +Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_LINK = 0; +Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_PRIVATE = 0; +Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_ASK = 0; +Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_LIST = 0; +Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_DESCRIPTION = 0; +Ecore_X_Atom ECORE_X_ATOM_XDND_PROXY = 0; +Ecore_X_Atom ECORE_X_ATOM_XDND_STATUS = 0; +Ecore_X_Atom ECORE_X_ATOM_XDND_DROP = 0; +Ecore_X_Atom ECORE_X_ATOM_XDND_FINISHED = 0; +Ecore_X_Atom ECORE_X_ATOM_XDND_LEAVE = 0; /* Xdnd atoms that need to be exposed to the application interface */ Ecore_X_Atom ECORE_X_DND_ACTION_COPY = 0; @@ -316,71 +293,71 @@ } _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); - _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); + 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); + 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); - _ecore_x_atom_motif_wm_hints = XInternAtom(_ecore_x_disp, "_MOTIF_WM_HINTS", False); + ECORE_X_ATOM_MOTIF_WM_HINTS = XInternAtom(_ecore_x_disp, "_MOTIF_WM_HINTS", False); - _ecore_x_atom_win_layer = XInternAtom(_ecore_x_disp, "_WIN_LAYER", False); + 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; - _ecore_x_atom_selection_clipboard = XInternAtom(_ecore_x_disp, "CLIPBOARD", False); - _ecore_x_atom_selection_prop_primary = XInternAtom(_ecore_x_disp, "_ECORE_SELECTION_PRIMARY", False); - _ecore_x_atom_selection_prop_secondary = XInternAtom(_ecore_x_disp, "_ECORE_SELECTION_SECONDARY", False); - _ecore_x_atom_selection_prop_clipboard = XInternAtom(_ecore_x_disp, "_ECORE_SELECTION_CLIPBOARD", False); - _ecore_x_atom_selection_prop_xdnd = XInternAtom(_ecore_x_disp, "JXSelectionWindowProperty", False); - _ecore_x_atom_selection_xdnd = XInternAtom(_ecore_x_disp, "XdndSelection", False); - _ecore_x_atom_xdnd_aware = XInternAtom(_ecore_x_disp, "XdndAware", False); - _ecore_x_atom_xdnd_type_list = XInternAtom(_ecore_x_disp, "XdndTypeList", False); - _ecore_x_atom_xdnd_enter = XInternAtom(_ecore_x_disp, "XdndEnter", False); - _ecore_x_atom_xdnd_position = XInternAtom(_ecore_x_disp, "XdndPosition", False); - _ecore_x_atom_xdnd_action_copy = XInternAtom(_ecore_x_disp, "XdndActionCopy", False); - _ecore_x_atom_xdnd_action_move = XInternAtom(_ecore_x_disp, "XdndActionMove", False); - _ecore_x_atom_xdnd_action_private = XInternAtom(_ecore_x_disp, "XdndActionPrivate", False); - _ecore_x_atom_xdnd_action_ask = XInternAtom(_ecore_x_disp, "XdndActionAsk", False); - _ecore_x_atom_xdnd_action_list = XInternAtom(_ecore_x_disp, "XdndActionList", False); - _ecore_x_atom_xdnd_action_link = XInternAtom(_ecore_x_disp, "XdndActionLink", False); - _ecore_x_atom_xdnd_action_description = XInternAtom(_ecore_x_disp, "XdndActionDescription", False); - _ecore_x_atom_xdnd_proxy = XInternAtom(_ecore_x_disp, "XdndProxy", False); - _ecore_x_atom_xdnd_status = XInternAtom(_ecore_x_disp, "XdndStatus", False); - _ecore_x_atom_xdnd_leave = XInternAtom(_ecore_x_disp, "XdndLeave", False); - _ecore_x_atom_xdnd_drop = XInternAtom(_ecore_x_disp, "XdndDrop", False); - _ecore_x_atom_xdnd_finished = XInternAtom(_ecore_x_disp, "XdndFinished", False); + ECORE_X_ATOM_SELECTION_PRIMARY = XA_PRIMARY; + ECORE_X_ATOM_SELECTION_SECONDARY = XA_SECONDARY; + ECORE_X_ATOM_SELECTION_CLIPBOARD = XInternAtom(_ecore_x_disp, "CLIPBOARD", False); + ECORE_X_ATOM_SELECTION_PROP_PRIMARY = XInternAtom(_ecore_x_disp, "_ECORE_SELECTION_PRIMARY", False); + ECORE_X_ATOM_SELECTION_PROP_SECONDARY = XInternAtom(_ecore_x_disp, "_ECORE_SELECTION_SECONDARY", False); + ECORE_X_ATOM_SELECTION_PROP_CLIPBOARD = XInternAtom(_ecore_x_disp, "_ECORE_SELECTION_CLIPBOARD", False); + ECORE_X_ATOM_SELECTION_PROP_XDND = XInternAtom(_ecore_x_disp, "JXSelectionWindowProperty", False); + ECORE_X_ATOM_SELECTION_XDND = XInternAtom(_ecore_x_disp, "XdndSelection", False); + ECORE_X_ATOM_XDND_AWARE = XInternAtom(_ecore_x_disp, "XdndAware", False); + ECORE_X_ATOM_XDND_TYPE_LIST = XInternAtom(_ecore_x_disp, "XdndTypeList", False); + ECORE_X_ATOM_XDND_ENTER = XInternAtom(_ecore_x_disp, "XdndEnter", False); + ECORE_X_ATOM_XDND_POSITION = XInternAtom(_ecore_x_disp, "XdndPosition", False); + ECORE_X_ATOM_XDND_ACTION_COPY = XInternAtom(_ecore_x_disp, "XdndActionCopy", False); + ECORE_X_ATOM_XDND_ACTION_MOVE = XInternAtom(_ecore_x_disp, "XdndActionMove", False); + ECORE_X_ATOM_XDND_ACTION_PRIVATE = XInternAtom(_ecore_x_disp, "XdndActionPrivate", False); + ECORE_X_ATOM_XDND_ACTION_ASK = XInternAtom(_ecore_x_disp, "XdndActionAsk", False); + ECORE_X_ATOM_XDND_ACTION_LIST = XInternAtom(_ecore_x_disp, "XdndActionList", False); + ECORE_X_ATOM_XDND_ACTION_LINK = XInternAtom(_ecore_x_disp, "XdndActionLink", False); + ECORE_X_ATOM_XDND_ACTION_DESCRIPTION = XInternAtom(_ecore_x_disp, "XdndActionDescription", False); + ECORE_X_ATOM_XDND_PROXY = XInternAtom(_ecore_x_disp, "XdndProxy", False); + ECORE_X_ATOM_XDND_STATUS = XInternAtom(_ecore_x_disp, "XdndStatus", False); + ECORE_X_ATOM_XDND_LEAVE = XInternAtom(_ecore_x_disp, "XdndLeave", False); + ECORE_X_ATOM_XDND_DROP = XInternAtom(_ecore_x_disp, "XdndDrop", False); + ECORE_X_ATOM_XDND_FINISHED = XInternAtom(_ecore_x_disp, "XdndFinished", False); /* Initialize the globally defined xdnd atoms */ - ECORE_X_DND_ACTION_COPY = _ecore_x_atom_xdnd_action_copy; - ECORE_X_DND_ACTION_MOVE = _ecore_x_atom_xdnd_action_move; - 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_DND_ACTION_COPY = ECORE_X_ATOM_XDND_ACTION_COPY; + ECORE_X_DND_ACTION_MOVE = ECORE_X_ATOM_XDND_ACTION_MOVE; + 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_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; + _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; _ecore_x_selection_data_init(); _ecore_x_dnd_init(); @@ -1231,7 +1208,7 @@ unsigned int b; unsigned int m; unsigned int locks[8]; - int i, ev, shuffle = 0; + int i, shuffle = 0; b = button; if (b == 0) b = AnyButton; =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_dnd.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- ecore_x_dnd.c 29 Nov 2004 22:26:37 -0000 1.11 +++ ecore_x_dnd.c 4 Dec 2004 10:10:28 -0000 1.12 @@ -1,6 +1,7 @@ #include "Ecore.h" #include "ecore_x_private.h" #include "Ecore_X.h" +#include "Ecore_X_Atoms.h" static Ecore_X_Selection_Data _xdnd_selection; static Ecore_X_DND_Protocol *_xdnd; @@ -22,10 +23,10 @@ Atom prop_data = ECORE_X_DND_VERSION; if (on) - ecore_x_window_prop_property_set(win, _ecore_x_atom_xdnd_aware, + ecore_x_window_prop_property_set(win, ECORE_X_ATOM_XDND_AWARE, XA_ATOM, 32, &prop_data, 1); else - ecore_x_window_prop_property_del(win, _ecore_x_atom_xdnd_aware); + ecore_x_window_prop_property_del(win, ECORE_X_ATOM_XDND_AWARE); /* TODO: Add dnd typelist to window properties */ } @@ -35,7 +36,7 @@ unsigned char *prop_data; int num; - if (ecore_x_window_prop_property_get(win, _ecore_x_atom_xdnd_aware, + if (ecore_x_window_prop_property_get(win, ECORE_X_ATOM_XDND_AWARE, XA_ATOM, 32, &prop_data, &num)) { int version = (int) *prop_data; @@ -62,14 +63,14 @@ return 0; /* Take ownership of XdndSelection */ - XSetSelectionOwner(_ecore_x_disp, _ecore_x_atom_selection_xdnd, source, + XSetSelectionOwner(_ecore_x_disp, ECORE_X_ATOM_SELECTION_XDND, source, _ecore_x_event_last_time); - if (XGetSelectionOwner(_ecore_x_disp, _ecore_x_atom_selection_xdnd) != source) + if (XGetSelectionOwner(_ecore_x_disp, ECORE_X_ATOM_SELECTION_XDND) != source) return 0; /* Initialize Selection Data Struct */ _xdnd_selection.win = source; - _xdnd_selection.selection = _ecore_x_atom_selection_xdnd; + _xdnd_selection.selection = ECORE_X_ATOM_SELECTION_XDND; _xdnd_selection.length = size; _xdnd_selection.time = _ecore_x_event_last_time; @@ -82,7 +83,7 @@ _xdnd->time = _ecore_x_event_last_time; /* Default Accepted Action: ask */ - _xdnd->action = _ecore_x_atom_xdnd_action_ask; + _xdnd->action = ECORE_X_ATOM_XDND_ACTION_ASK; _xdnd->accepted_action = None; /* TODO: Set supported data types in API */ @@ -113,7 +114,7 @@ xev.xclient.type = ClientMessage; xev.xclient.display = _ecore_x_disp; - xev.xclient.message_type = _ecore_x_atom_xdnd_status; + xev.xclient.message_type = ECORE_X_ATOM_XDND_STATUS; xev.xclient.format = 32; xev.xclient.window = _xdnd->source; @@ -166,7 +167,7 @@ if ((win != _xdnd->dest) && (_xdnd->dest)) { xev.xclient.window = _xdnd->dest; - xev.xclient.message_type = _ecore_x_atom_xdnd_leave; + xev.xclient.message_type = ECORE_X_ATOM_XDND_LEAVE; xev.xclient.data.l[0] = _xdnd->source; XSendEvent(_ecore_x_disp, _xdnd->dest, False, 0, &xev); @@ -182,7 +183,7 @@ /* Entered new window, send XdndEnter */ xev.xclient.window = win; - xev.xclient.message_type = _ecore_x_atom_xdnd_enter; + xev.xclient.message_type = ECORE_X_ATOM_XDND_ENTER; xev.xclient.data.l[0] = _xdnd->source; if(_xdnd->num_types > 3) xev.xclient.data.l[1] |= 0x1UL; @@ -200,7 +201,7 @@ /*if (!_xdnd->await_status) {*/ xev.xclient.window = win; - xev.xclient.message_type = _ecore_x_atom_xdnd_position; + xev.xclient.message_type = ECORE_X_ATOM_XDND_POSITION; xev.xclient.data.l[0] = _xdnd->source; xev.xclient.data.l[1] = 0; /* Reserved */ xev.xclient.data.l[2] = ((x << 16) & 0xffff0000) | (y & 0xffff); @@ -218,7 +219,7 @@ if (_xdnd->will_accept) { xev.xclient.window = win; - xev.xclient.message_type = _ecore_x_atom_xdnd_drop; + xev.xclient.message_type = ECORE_X_ATOM_XDND_DROP; xev.xclient.data.l[0] = _xdnd->source; xev.xclient.data.l[1] = 0; xev.xclient.data.l[2] = CurrentTime; @@ -229,7 +230,7 @@ else { xev.xclient.window = win; - xev.xclient.message_type = _ecore_x_atom_xdnd_leave; + xev.xclient.message_type = ECORE_X_ATOM_XDND_LEAVE; xev.xclient.data.l[0] = _xdnd->source; memset(xev.xclient.data.l + 1, 0, sizeof(long) * 3); /* Evil */ XSendEvent(_ecore_x_disp, win, False, 0, &xev); @@ -250,7 +251,7 @@ xev.xany.type = ClientMessage; xev.xany.display = _ecore_x_disp; xev.xclient.window = _xdnd->source; - xev.xclient.message_type = _ecore_x_atom_xdnd_finished; + xev.xclient.message_type = ECORE_X_ATOM_XDND_FINISHED; xev.xclient.format = 32; xev.xclient.data.l[0] = _xdnd->dest; @@ -261,7 +262,7 @@ int _ecore_x_dnd_own_selection(void) { - return (!XSetSelectionOwner(_ecore_x_disp, _ecore_x_atom_selection_xdnd, + return (!XSetSelectionOwner(_ecore_x_disp, ECORE_X_ATOM_SELECTION_XDND, _xdnd->source, CurrentTime)); } #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_events.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -3 -r1.39 -r1.40 --- ecore_x_events.c 4 Dec 2004 03:54:04 -0000 1.39 +++ ecore_x_events.c 4 Dec 2004 10:10:28 -0000 1.40 @@ -5,6 +5,7 @@ #include "Ecore.h" #include "ecore_x_private.h" #include "Ecore_X.h" +#include "Ecore_X_Atoms.h" #if 0 static void _ecore_x_event_free_window_prop_name_class_change(void *data, void *ev); @@ -871,7 +872,7 @@ #if 0 /* for now i disabled this. nice idea though this is - it leaves a lot * to be desired for efficiency that is better left to the app layer */ - if (xevent->xproperty.atom == _ecore_x_atom_wm_class) + if (xevent->xproperty.atom == ECORE_X_ATOM_WM_CLASS) { Ecore_X_Event_Window_Prop_Name_Class_Change *e; @@ -883,7 +884,7 @@ _ecore_x_event_last_time = e->time; ecore_event_add(ECORE_X_EVENT_WINDOW_PROP_NAME_CLASS_CHANGE, e, _ecore_x_event_free_window_prop_name_class_change, NULL); } - else if ((xevent->xproperty.atom == _ecore_x_atom_wm_name) || (xevent->xproperty.atom == _ecore_x_atom_net_wm_name)) + else if ((xevent->xproperty.atom == ECORE_X_ATOM_WM_NAME) || (xevent->xproperty.atom == ECORE_X_ATOM_NET_WM_NAME)) { Ecore_X_Event_Window_Prop_Title_Change *e; @@ -894,7 +895,7 @@ _ecore_x_event_last_time = e->time; ecore_event_add(ECORE_X_EVENT_WINDOW_PROP_TITLE_CHANGE, e, _ecore_x_event_free_window_prop_title_change, NULL); } - else if (xevent->xproperty.atom == _ecore_x_atom_net_wm_visible_name) + else if (xevent->xproperty.atom == ECORE_X_ATOM_NET_WM_VISIBLE_NAME) { Ecore_X_Event_Window_Prop_Visible_Title_Change *e; @@ -905,7 +906,7 @@ _ecore_x_event_last_time = e->time; ecore_event_add(ECORE_X_EVENT_WINDOW_PROP_VISIBLE_TITLE_CHANGE, e, _ecore_x_event_free_window_prop_visible_title_change, NULL); } - else if ((xevent->xproperty.atom == _ecore_x_atom_wm_icon_name) || (xevent->xproperty.atom == _ecore_x_atom_net_wm_icon_name)) + else if ((xevent->xproperty.atom == ECORE_X_ATOM_WM_ICON_NAME) || (xevent->xproperty.atom == ECORE_X_ATOM_NET_WM_ICON_NAME)) { Ecore_X_Event_Window_Prop_Icon_Name_Change *e; @@ -916,7 +917,7 @@ _ecore_x_event_last_time = e->time; ecore_event_add(ECORE_X_EVENT_WINDOW_PROP_ICON_NAME_CHANGE, e, _ecore_x_event_free_window_prop_icon_name_change, NULL); } - else if (xevent->xproperty.atom == _ecore_x_atom_net_wm_visible_icon_name) + else if (xevent->xproperty.atom == ECORE_X_ATOM_NET_WM_VISIBLE_ICON_NAME) { Ecore_X_Event_Window_Prop_Visible_Icon_Name_Change *e; @@ -927,7 +928,7 @@ _ecore_x_event_last_time = e->time; ecore_event_add(ECORE_X_EVENT_WINDOW_PROP_VISIBLE_ICON_NAME_CHANGE, e, _ecore_x_event_free_window_prop_visible_icon_name_change, NULL); } - else if (xevent->xproperty.atom == _ecore_x_atom_wm_client_machine) + else if (xevent->xproperty.atom == ECORE_X_ATOM_WM_CLIENT_MACHINE) { Ecore_X_Event_Window_Prop_Client_Machine_Change *e; @@ -938,7 +939,7 @@ _ecore_x_event_last_time = e->time; ecore_event_add(ECORE_X_EVENT_WINDOW_PROP_CLIENT_MACHINE_CHANGE, e, _ecore_x_event_free_window_prop_client_machine_change, NULL); } - else if (xevent->xproperty.atom == _ecore_x_atom_net_wm_pid) + else if (xevent->xproperty.atom == ECORE_X_ATOM_NET_WM_PID) { Ecore_X_Event_Window_Prop_Pid_Change *e; @@ -949,7 +950,7 @@ _ecore_x_event_last_time = e->time; ecore_event_add(ECORE_X_EVENT_WINDOW_PROP_PID_CHANGE, e, NULL, NULL); } - else if (xevent->xproperty.atom == _ecore_x_atom_net_wm_desktop) + else if (xevent->xproperty.atom == ECORE_X_ATOM_NET_WM_DESKTOP) { Ecore_X_Event_Window_Prop_Desktop_Change *e; @@ -993,9 +994,9 @@ e->win = xevent->xselectionclear.window; e->time = xevent->xselectionclear.time; sel = xevent->xselectionclear.selection; - if (sel == _ecore_x_atom_selection_primary) + if (sel == ECORE_X_ATOM_SELECTION_PRIMARY) e->selection = ECORE_X_SELECTION_PRIMARY; - else if (sel == _ecore_x_atom_selection_secondary) + else if (sel == ECORE_X_ATOM_SELECTION_SECONDARY) e->selection = ECORE_X_SELECTION_SECONDARY; else e->selection = ECORE_X_SELECTION_CLIPBOARD; @@ -1067,11 +1068,11 @@ e->time = xevent->xselection.time; e->target = _ecore_x_selection_target_get(xevent->xselection.target); selection = xevent->xselection.selection; - if (selection == _ecore_x_atom_selection_primary) + if (selection == ECORE_X_ATOM_SELECTION_PRIMARY) e->selection = ECORE_X_SELECTION_PRIMARY; - else if (selection == _ecore_x_atom_selection_secondary) + else if (selection == ECORE_X_ATOM_SELECTION_SECONDARY) e->selection = ECORE_X_SELECTION_SECONDARY; - else if (selection == _ecore_x_atom_selection_clipboard) + else if (selection == ECORE_X_ATOM_SELECTION_CLIPBOARD) e->selection = ECORE_X_SELECTION_CLIPBOARD; else { @@ -1118,9 +1119,9 @@ /* checks here and generate synthetic events per special message known */ /* otherwise generate generic client message event. this would handle*/ /* netwm, ICCCM, gnomewm, old kde and mwm hint client message protocols */ - if ((xevent->xclient.message_type == _ecore_x_atom_wm_protocols) && + if ((xevent->xclient.message_type == ECORE_X_ATOM_WM_PROTOCOLS) && (xevent->xclient.format == 32) && - (xevent->xclient.data.l[0] == (long)_ecore_x_atom_wm_delete_window)) + (xevent->xclient.data.l[0] == (long)ECORE_X_ATOM_WM_DELETE_WINDOW)) { Ecore_X_Event_Window_Delete_Request *e; @@ -1133,7 +1134,7 @@ /* Xdnd Client Message Handling Begin */ /* Message Type: XdndEnter */ - else if (xevent->xclient.message_type == _ecore_x_atom_xdnd_enter) + else if (xevent->xclient.message_type == ECORE_X_ATOM_XDND_ENTER) { Ecore_X_Event_Xdnd_Enter *e; Ecore_X_DND_Protocol *_xdnd; @@ -1157,7 +1158,7 @@ Atom *types; int i, num_ret; if (!(ecore_x_window_prop_property_get(_xdnd->source, - _ecore_x_atom_xdnd_type_list, + ECORE_X_ATOM_XDND_TYPE_LIST, XA_ATOM, 32, &data, @@ -1194,7 +1195,7 @@ } /* Message Type: XdndPosition */ - else if (xevent->xclient.message_type == _ecore_x_atom_xdnd_position) + else if (xevent->xclient.message_type == ECORE_X_ATOM_XDND_POSITION) { Ecore_X_Event_Xdnd_Position *e; Ecore_X_DND_Protocol *_xdnd; @@ -1222,7 +1223,7 @@ } /* Message Type: XdndStatus */ - else if (xevent->xclient.message_type == _ecore_x_atom_xdnd_status) + else if (xevent->xclient.message_type == ECORE_X_ATOM_XDND_STATUS) { Ecore_X_Event_Xdnd_Status *e; Ecore_X_DND_Protocol *_xdnd; @@ -1258,7 +1259,7 @@ /* Message Type: XdndLeave */ /* Pretend the whole thing never happened, sort of */ - else if (xevent->xclient.message_type == _ecore_x_atom_xdnd_leave) + else if (xevent->xclient.message_type == ECORE_X_ATOM_XDND_LEAVE) { Ecore_X_Event_Xdnd_Leave *e; Ecore_X_DND_Protocol *_xdnd; @@ -1280,7 +1281,7 @@ e->source = _xdnd->source; ecore_event_add(ECORE_X_EVENT_XDND_LEAVE, e, NULL, NULL); } - else if (xevent->xclient.message_type == _ecore_x_atom_xdnd_drop) + else if (xevent->xclient.message_type == ECORE_X_ATOM_XDND_DROP) { Ecore_X_Event_Xdnd_Drop *e; Ecore_X_DND_Protocol *_xdnd; @@ -1295,8 +1296,8 @@ timestamp = (_xdnd->version >= 1) ? xevent->xclient.data.l[2] : _ecore_x_event_last_time; - XConvertSelection(_ecore_x_disp, _ecore_x_atom_selection_xdnd, - _xdnd->dest, _ecore_x_atom_selection_prop_xdnd, _xdnd->dest, + XConvertSelection(_ecore_x_disp, ECORE_X_ATOM_SELECTION_XDND, + _xdnd->dest, ECORE_X_ATOM_SELECTION_PROP_XDND, _xdnd->dest, timestamp); /* FIXME: Have to wait for SelectionNotify before we can send @@ -1314,7 +1315,7 @@ } /* Message Type: XdndFinished */ - else if (xevent->xclient.message_type == _ecore_x_atom_xdnd_finished) + else if (xevent->xclient.message_type == ECORE_X_ATOM_XDND_FINISHED) { Ecore_X_Event_Xdnd_Finished *e; Ecore_X_DND_Protocol *_xdnd; =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_icccm.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- ecore_x_icccm.c 29 Nov 2004 22:30:14 -0000 1.12 +++ ecore_x_icccm.c 4 Dec 2004 10:10:29 -0000 1.13 @@ -7,6 +7,25 @@ #include "Ecore.h" #include "ecore_x_private.h" #include "Ecore_X.h" +#include "Ecore_X_Atoms.h" + +/* Atoms */ +Ecore_X_Atom ECORE_X_ATOM_WM_STATE = 0; +Ecore_X_Atom ECORE_X_ATOM_WM_DELETE_WINDOW = 0; +Ecore_X_Atom ECORE_X_ATOM_WM_TAKE_FOCUS = 0; +Ecore_X_Atom ECORE_X_ATOM_WM_PROTOCOLS = 0; +Ecore_X_Atom ECORE_X_ATOM_WM_CLASS = 0; +Ecore_X_Atom ECORE_X_ATOM_WM_NAME = 0; +Ecore_X_Atom ECORE_X_ATOM_WM_COMMAND = 0; +Ecore_X_Atom ECORE_X_ATOM_WM_ICON_NAME = 0; +Ecore_X_Atom ECORE_X_ATOM_WM_CLIENT_MACHINE = 0; +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_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_state_set(Ecore_X_Window win, Ecore_X_Window_State_Hint state) @@ -14,47 +33,46 @@ unsigned long c[2]; if (state == ECORE_X_WINDOW_STATE_HINT_WITHDRAWN) - c[0] = WithdrawnState; + c[0] = WithdrawnState; else if (state == ECORE_X_WINDOW_STATE_HINT_NORMAL) - c[0] = NormalState; + c[0] = NormalState; else if (state == ECORE_X_WINDOW_STATE_HINT_ICONIC) - c[0] = IconicState; + c[0] = IconicState; c[1] = 0; - XChangeProperty(_ecore_x_disp, win, _ecore_x_atom_wm_state, - _ecore_x_atom_wm_state, 32, PropModeReplace, + XChangeProperty(_ecore_x_disp, win, ECORE_X_ATOM_WM_STATE, + ECORE_X_ATOM_WM_STATE, 32, PropModeReplace, (unsigned char *)c, 2); } void ecore_x_icccm_delete_window_send(Ecore_X_Window win, Ecore_X_Time t) { - ecore_x_client_message32_send(win, _ecore_x_atom_wm_protocols, - _ecore_x_atom_wm_delete_window, + ecore_x_client_message32_send(win, ECORE_X_ATOM_WM_PROTOCOLS, + ECORE_X_ATOM_WM_DELETE_WINDOW, CurrentTime, 0, 0, 0); } void ecore_x_icccm_take_focus_send(Ecore_X_Window win, Ecore_X_Time t) { - ecore_x_client_message32_send(win, _ecore_x_atom_wm_protocols, - _ecore_x_atom_wm_take_focus, + ecore_x_client_message32_send(win, ECORE_X_ATOM_WM_PROTOCOLS, + ECORE_X_ATOM_WM_TAKE_FOCUS, CurrentTime, 0, 0, 0); } void ecore_x_icccm_save_yourself_send(Ecore_X_Window win, Ecore_X_Time t) { - ecore_x_client_message32_send(win, _ecore_x_atom_wm_protocols, - _ecore_x_atom_wm_save_yourself, + ecore_x_client_message32_send(win, ECORE_X_ATOM_WM_PROTOCOLS, + ECORE_X_ATOM_WM_SAVE_YOURSELF, CurrentTime, 0, 0, 0); } void -ecore_x_icccm_move_resize_send(Ecore_X_Window win, - int x, int y, int w, int h) +ecore_x_icccm_move_resize_send(Ecore_X_Window win, int x, int y, int w, int h) { XEvent ev; - + ev.type = ConfigureNotify; ev.xconfigure.display = _ecore_x_disp; ev.xconfigure.event = win; @@ -67,7 +85,7 @@ ev.xconfigure.above = win; ev.xconfigure.override_redirect = False; XSendEvent(_ecore_x_disp, win, False, StructureNotifyMask, &ev); -} +} void ecore_x_icccm_hints_set(Ecore_X_Window win, @@ -76,22 +94,22 @@ Ecore_X_Pixmap icon_pixmap, Ecore_X_Pixmap icon_mask, Ecore_X_Window icon_window, - Ecore_X_Window window_group, - int is_urgent) + Ecore_X_Window window_group, int is_urgent) { - XWMHints *hints; - + XWMHints *hints; + hints = XAllocWMHints(); - if (!hints) return; - + if (!hints) + return; + hints->flags = InputHint | StateHint; hints->input = accepts_focus; if (initial_state == ECORE_X_WINDOW_STATE_HINT_WITHDRAWN) - hints->initial_state = WithdrawnState; + hints->initial_state = WithdrawnState; else if (initial_state == ECORE_X_WINDOW_STATE_HINT_NORMAL) - hints->initial_state = NormalState; + hints->initial_state = NormalState; else if (initial_state == ECORE_X_WINDOW_STATE_HINT_ICONIC) - hints->initial_state = IconicState; + hints->initial_state = IconicState; if (icon_pixmap != 0) { hints->icon_pixmap = icon_pixmap; @@ -113,7 +131,7 @@ hints->flags |= WindowGroupHint; } if (is_urgent) - hints->flags |= XUrgencyHint; + hints->flags |= XUrgencyHint; XSetWMHints(_ecore_x_disp, win, hints); XFree(hints); } @@ -121,40 +139,46 @@ int ecore_x_icccm_hints_get(Ecore_X_Window win, int *accepts_focus, - Ecore_X_Window_State_Hint *initial_state, - Ecore_X_Pixmap *icon_pixmap, - Ecore_X_Pixmap *icon_mask, - Ecore_X_Window *icon_window, - Ecore_X_Window *window_group, - int *is_urgent) + Ecore_X_Window_State_Hint * initial_state, + Ecore_X_Pixmap * icon_pixmap, + Ecore_X_Pixmap * icon_mask, + Ecore_X_Window * icon_window, + Ecore_X_Window * window_group, int *is_urgent) { XWMHints *hints; - if (accepts_focus) *accepts_focus = 0; - if (initial_state) *initial_state = ECORE_X_WINDOW_STATE_HINT_NORMAL; - if (icon_pixmap) *icon_pixmap = 0; - if (icon_mask) *icon_mask = 0; - if (icon_window) *icon_window = 0; - if (window_group) *window_group = 0; - if (is_urgent) *is_urgent = 0; + if (accepts_focus) + *accepts_focus = 0; + if (initial_state) + *initial_state = ECORE_X_WINDOW_STATE_HINT_NORMAL; + if (icon_pixmap) + *icon_pixmap = 0; + if (icon_mask) + *icon_mask = 0; + if (icon_window) + *icon_window = 0; + if (window_group) + *window_group = 0; + if (is_urgent) + *is_urgent = 0; hints = XGetWMHints(_ecore_x_disp, win); if (hints) { if ((hints->flags & InputHint) && (accepts_focus)) { if (hints->input) - *accepts_focus = 1; + *accepts_focus = 1; else - *accepts_focus = 0; + *accepts_focus = 0; } if ((hints->flags & StateHint) && (initial_state)) { if (hints->initial_state == WithdrawnState) - *initial_state = ECORE_X_WINDOW_STATE_HINT_WITHDRAWN; + *initial_state = ECORE_X_WINDOW_STATE_HINT_WITHDRAWN; else if (hints->initial_state == NormalState) - *initial_state = ECORE_X_WINDOW_STATE_HINT_NORMAL; + *initial_state = ECORE_X_WINDOW_STATE_HINT_NORMAL; else if (hints->initial_state == IconicState) - *initial_state = ECORE_X_WINDOW_STATE_HINT_ICONIC; + *initial_state = ECORE_X_WINDOW_STATE_HINT_ICONIC; } if ((hints->flags & IconPixmapHint) && (icon_pixmap)) { @@ -184,18 +208,17 @@ void ecore_x_icccm_size_pos_hints_set(Ecore_X_Window win, - int request_pos, + int request_pos, Ecore_X_Gravity gravity, int min_w, int min_h, int max_w, int max_h, int base_w, int base_h, int step_x, int step_y, - double min_aspect, - double max_aspect) + double min_aspect, double max_aspect) { /* FIXME: working here */ - XSizeHints hint; - + XSizeHints hint; + hint.flags = 0; if (request_pos) { @@ -244,39 +267,43 @@ int ecore_x_icccm_size_pos_hints_get(Ecore_X_Window win, int *request_pos, - Ecore_X_Gravity *gravity, + Ecore_X_Gravity * gravity, int *min_w, int *min_h, int *max_w, int *max_h, int *base_w, int *base_h, int *step_x, int *step_y, - double *min_aspect, - double *max_aspect) + double *min_aspect, double *max_aspect) { XSizeHints hint; long mask; - - int minw = 0, minh = 0; - int maxw = 32767, maxh = 32767; - int basew = 0, baseh = 0; - int stepx = 1, stepy = 1; - double mina = 0.0, maxa = 0.0; - - if (XGetWMNormalHints(_ecore_x_disp, win, &hint, &mask) < Success) return 0; + + int minw = 0, minh = 0; + int maxw = 32767, maxh = 32767; + int basew = 0, baseh = 0; + int stepx = 1, stepy = 1; + double mina = 0.0, maxa = 0.0; + + if (XGetWMNormalHints(_ecore_x_disp, win, &hint, &mask) < Success) + return 0; if ((hint.flags & USPosition) || ((hint.flags & PPosition))) { - if (request_pos) *request_pos = 1; + if (request_pos) + *request_pos = 1; } else { - if (request_pos) *request_pos = 0; + if (request_pos) + *request_pos = 0; } if (hint.flags & PWinGravity) { - if (gravity) *gravity = hint.win_gravity; + if (gravity) + *gravity = hint.win_gravity; } else { - if (gravity) *gravity = ECORE_X_GRAVITY_NW; + if (gravity) + *gravity = ECORE_X_GRAVITY_NW; } if (hint.flags & PMinSize) { @@ -287,56 +314,76 @@ { maxw = hint.max_width; maxh = hint.max_height; - if (maxw < minw) maxw = minw; - if (maxh < minh) maxh = minh; + if (maxw < minw) + maxw = minw; + if (maxh < minh) + maxh = minh; } if (hint.flags & PBaseSize) { basew = hint.base_width; baseh = hint.base_height; - if (basew > minw) minw = basew; - if (baseh > minh) minh = baseh; + if (basew > minw) + minw = basew; + if (baseh > minh) + minh = baseh; } if (hint.flags & PResizeInc) { stepx = hint.width_inc; stepy = hint.height_inc; - if (stepx < 1) stepx = 1; - if (stepy < 1) stepy = 1; + if (stepx < 1) + stepx = 1; + if (stepy < 1) + stepy = 1; } if (hint.flags & PAspect) { if (hint.min_aspect.y > 0) - mina = ((double)hint.min_aspect.x) / ((double)hint.min_aspect.y); + mina = ((double)hint.min_aspect.x) / ((double)hint.min_aspect.y); if (hint.max_aspect.y > 0) - maxa = ((double)hint.max_aspect.x) / ((double)hint.max_aspect.y); + maxa = ((double)hint.max_aspect.x) / ((double)hint.max_aspect.y); } - if (min_w) *min_w = minw; - if (min_h) *min_h = minh; - if (max_w) *max_w = maxw; - if (max_h) *max_h = maxh; - if (base_w) *base_w = basew; - if (base_h) *base_h = baseh; - if (step_x) *step_x = stepx; - if (step_y) *step_y = stepy; - if (min_aspect) *min_aspect = mina; - if (max_aspect) *max_aspect = maxa; + if (min_w) + *min_w = minw; + if (min_h) + *min_h = minh; + if (max_w) + *max_w = maxw; + if (max_h) + *max_h = maxh; + if (base_w) + *base_w = basew; + if (base_h) + *base_h = baseh; + if (step_x) + *step_x = stepx; + if (step_y) + *step_y = stepy; + if (min_aspect) + *min_aspect = mina; + if (max_aspect) + *max_aspect = maxa; return 1; } void ecore_x_icccm_title_set(Ecore_X_Window win, const char *t) { - char *list[1]; - XTextProperty xprop; - int ret; - + char *list[1]; + XTextProperty xprop; + int ret; + #ifdef X_HAVE_UTF8_STRING list[0] = strdup(t); - ret = Xutf8TextListToTextProperty(_ecore_x_disp, list, 1, XUTF8StringStyle, &xprop); + ret = + Xutf8TextListToTextProperty(_ecore_x_disp, list, 1, XUTF8StringStyle, + &xprop); #else list[0] = strdup(t); - ret = XmbTextListToTextProperty(_ecore_x_disp, list, 1, XStdICCTextStyle, &xprop); + ret = + XmbTextListToTextProperty(_ecore_x_disp, list, 1, XStdICCTextStyle, + &xprop); #endif if (ret >= Success) { @@ -354,41 +401,40 @@ free(list[0]); } -char * +char * ecore_x_icccm_title_get(Ecore_X_Window win) { - XTextProperty xprop; - + XTextProperty xprop; + if (XGetWMName(_ecore_x_disp, win, &xprop) >= Success) { if (xprop.value) { - char **list = NULL; - char *t = NULL; - int num = 0; - - if (xprop.encoding == _ecore_x_atom_string) + char **list = NULL; + char *t = NULL; + int num = 0; + + if (xprop.encoding == ECORE_X_ATOM_STRING) { t = strdup(xprop.value); } - else if (xprop.encoding == _ecore_x_atom_utf8_string) + else if (xprop.encoding == ECORE_X_ATOM_UTF8_STRING) { t = strdup(xprop.value); } else { - int ret; - + int ret; + #ifdef X_HAVE_UTF8_STRING - ret = Xutf8TextPropertyToTextList(_ecore_x_disp, &xprop, + ret = Xutf8TextPropertyToTextList(_ecore_x_disp, &xprop, &list, &num); -#else - ret = XmbTextPropertyToTextList(_ecore_x_disp, &xprop, +#else + ret = XmbTextPropertyToTextList(_ecore_x_disp, &xprop, &list, &num); -#endif +#endif if ((ret == XLocaleNotSupported) || - (ret == XNoMemory) || - (ret == XConverterNotFound)) + (ret == XNoMemory) || (ret == XConverterNotFound)) { t = strdup(xprop.value); } @@ -399,7 +445,8 @@ /* FIXME: convert to utf8 */ t = strdup(list[0]); } - if (list) XFreeStringList(list); + if (list) + XFreeStringList(list); } } XFree(xprop.value); @@ -417,14 +464,13 @@ */ void ecore_x_icccm_protocol_set(Ecore_X_Window win, - Ecore_X_WM_Protocol protocol, - int on) + Ecore_X_WM_Protocol protocol, int on) { - Atom *protos = NULL; - Atom proto; - int protos_count = 0; - int already_set = 0; - int i; + Atom *protos = NULL; + Atom proto; + int protos_count = 0; + int already_set = 0; + int i; /* Check for invalid values */ if (protocol < 0 || protocol >= ECORE_X_WM_PROTOCOL_NUM) @@ -433,62 +479,64 @@ proto = _ecore_x_atoms_wm_protocols[protocol]; if (!XGetWMProtocols(_ecore_x_disp, win, &protos, &protos_count)) - { - protos = NULL; - protos_count = 0; - } + { + protos = NULL; + protos_count = 0; + } for (i = 0; i < protos_count; i++) - { - if (protos[i] == proto) - { - already_set = 1; - break; - } - } + { + if (protos[i] == proto) + { + already_set = 1; + break; + } + } if (on) - { - Atom *new_protos = NULL; + { + Atom *new_protos = NULL; - if (already_set) goto leave; - new_protos = malloc((protos_count + 1) * sizeof(Atom)); - if (!new_protos) goto leave; - for (i = 0; i < protos_count; i++) - new_protos[i] = protos[i]; - new_protos[protos_count] = proto; - XSetWMProtocols(_ecore_x_disp, win, new_protos, protos_count + 1); - free(new_protos); - } + if (already_set) + goto leave; + new_protos = malloc((protos_count + 1) * sizeof(Atom)); + if (!new_protos) + goto leave; + for (i = 0; i < protos_count; i++) + new_protos[i] = protos[i]; + new_protos[protos_count] = proto; + XSetWMProtocols(_ecore_x_disp, win, new_protos, protos_count + 1); + free(new_protos); + } else - { - if (!already_set) goto leave; - for (i = 0; i < protos_count; i++) - { - if (protos[i] == proto) - { - int j; - - for (j = i + 1; j < protos_count; j++) - protos[j-1] = protos[j]; - if (protos_count > 1) - XSetWMProtocols(_ecore_x_disp, win, protos, - protos_count - 1); - else - XDeleteProperty(_ecore_x_disp, win, - _ecore_x_atom_wm_protocols); - goto leave; - } - } - } + { + if (!already_set) + goto leave; + for (i = 0; i < protos_count; i++) + { + if (protos[i] == proto) + { + int j; - leave: + for (j = i + 1; j < protos_count; j++) + protos[j - 1] = protos[j]; + if (protos_count > 1) + XSetWMProtocols(_ecore_x_disp, win, protos, + protos_count - 1); + else + XDeleteProperty(_ecore_x_disp, win, + ECORE_X_ATOM_WM_PROTOCOLS); + goto leave; + } + } + } + + leave: if (protos) XFree(protos); } - /** * Determines whether a protocol is set for a window. * @param win The Window @@ -496,11 +544,10 @@ * @return 1 if the protocol is set, else 0. */ int -ecore_x_icccm_protocol_isset(Ecore_X_Window win, - Ecore_X_WM_Protocol protocol) +ecore_x_icccm_protocol_isset(Ecore_X_Window win, Ecore_X_WM_Protocol protocol) { - Atom proto, *protos = NULL; - int i, ret = 0, protos_count = 0; + Atom proto, *protos = NULL; + int i, ret = 0, protos_count = 0; /* check for invalid values */ if (protocol < 0 || protocol >= ECORE_X_WM_PROTOCOL_NUM) @@ -510,13 +557,13 @@ if (!XGetWMProtocols(_ecore_x_disp, win, &protos, &protos_count)) return 0; - + for (i = 0; i < protos_count; i++) if (protos[i] == proto) - { - ret = 1; - break; - } + { + ret = 1; + break; + } XFree(protos); return ret; @@ -532,11 +579,9 @@ * Set a window name * class */ void -ecore_x_icccm_name_class_set(Ecore_X_Window win, - const char *n, - const char *c) +ecore_x_icccm_name_class_set(Ecore_X_Window win, const char *n, const char *c) { - XClassHint *xch; + XClassHint *xch; xch = XAllocClassHint(); if (!xch) @@ -554,12 +599,12 @@ * * Return the client machine of a window. String must be free'd when done with. */ -char * +char * ecore_x_icccm_client_machine_get(Ecore_X_Window win) { - char *name; + char *name; - name = ecore_x_window_prop_string_get(win, _ecore_x_atom_wm_client_machine); + name = ecore_x_window_prop_string_get(win, ECORE_X_ATOM_WM_CLIENT_MACHINE); return name; } @@ -601,8 +646,8 @@ void ecore_x_icccm_icon_name_set(Ecore_X_Window win, const char *t) { - ecore_x_window_prop_string_set(win, _ecore_x_atom_wm_icon_name, (char *)t); - ecore_x_window_prop_string_set(win, _ecore_x_atom_net_wm_icon_name, + ecore_x_window_prop_string_set(win, ECORE_X_ATOM_WM_ICON_NAME, (char *)t); + ecore_x_window_prop_string_set(win, ECORE_X_ATOM_NET_WM_ICON_NAME, (char *)t); } @@ -613,13 +658,14 @@ * * Return the icon name of a window. String must be free'd when done with. */ -char * +char * ecore_x_icccm_icon_name_get(Ecore_X_Window win) { - char *name; + char *name; - name = ecore_x_window_prop_string_get(win, _ecore_x_atom_net_wm_icon_name); - if (!name) name = ecore_x_window_prop_string_get(win, _ecore_x_atom_wm_icon_name); + name = ecore_x_window_prop_string_get(win, ECORE_X_ATOM_NET_WM_ICON_NAME); + if (!name) + name = ecore_x_window_prop_string_get(win, ECORE_X_ATOM_WM_ICON_NAME); return name; } @@ -631,53 +677,49 @@ void ecore_x_icccm_colormap_window_set(Ecore_X_Window win, Ecore_X_Window subwin) { - int num = 0, i; - unsigned char *old_data = NULL; - unsigned char *data = NULL; - Window *oldset = NULL; - Window *newset = NULL; - - if(!ecore_x_window_prop_property_get(win, - _ecore_x_atom_wm_colormap_windows, - XA_WINDOW, - 32, - &old_data, - &num)) - { - newset = calloc(1, sizeof(Window)); - if (!newset) return; - newset[0] = subwin; - num = 1; - data = (unsigned char *)newset; - } + int num = 0, i; + unsigned char *old_data = NULL; + unsigned char *data = NULL; + Window *oldset = NULL; + Window *newset = NULL; + + if (!ecore_x_window_prop_property_get(win, + ECORE_X_ATOM_WM_COLORMAP_WINDOWS, + XA_WINDOW, 32, &old_data, &num)) + { + newset = calloc(1, sizeof(Window)); + if (!newset) + return; + newset[0] = subwin; + num = 1; + data = (unsigned char *)newset; + } else - { - newset = calloc(num + 1, sizeof(Window)); - oldset = (Window *) old_data; - if (!newset) return; - for (i = 0; i < num; ++i) - { - if (oldset[i] == subwin) - { - XFree(old_data); - free(newset); - return; - } - - newset[i] = oldset[i]; - } - - newset[num++] = subwin; - XFree(old_data); - data = (unsigned char *)newset; - } - - ecore_x_window_prop_property_set(win, - _ecore_x_atom_wm_colormap_windows, - XA_WINDOW, - 32, - data, - num); + { + newset = calloc(num + 1, sizeof(Window)); + oldset = (Window *) old_data; + if (!newset) + return; + for (i = 0; i < num; ++i) + { + if (oldset[i] == subwin) + { + XFree(old_data); + free(newset); + return; + } + + newset[i] = oldset[i]; + } + + newset[num++] = subwin; + XFree(old_data); + data = (unsigned char *)newset; + } + + ecore_x_window_prop_property_set(win, + ECORE_X_ATOM_WM_COLORMAP_WINDOWS, + XA_WINDOW, 32, data, num); free(newset); } @@ -689,53 +731,46 @@ void ecore_x_icccm_colormap_window_unset(Ecore_X_Window win, Ecore_X_Window subwin) { - int num = 0, i, j, k = 0; - unsigned char *old_data = NULL; - unsigned char *data = NULL; - Window *oldset = NULL; - Window *newset = NULL; - - if (!ecore_x_window_prop_property_get(win, - _ecore_x_atom_wm_colormap_windows, - XA_WINDOW, - 32, - &old_data, - &num)) + int num = 0, i, j, k = 0; + unsigned char *old_data = NULL; + unsigned char *data = NULL; + Window *oldset = NULL; + Window *newset = NULL; + + if (!ecore_x_window_prop_property_get(win, + ECORE_X_ATOM_WM_COLORMAP_WINDOWS, + XA_WINDOW, 32, &old_data, &num)) return; oldset = (Window *) old_data; for (i = 0; i < num; i++) - { - if (oldset[i] == subwin) - { - if (num == 1) - { - XDeleteProperty(_ecore_x_disp, - win, - _ecore_x_atom_wm_colormap_windows); - XFree(old_data); - return; - } - else - { - newset = calloc(num - 1, sizeof(Window)); - data = (unsigned char *)newset; - for (j = 0; j < num; ++j) - if (oldset[j] != subwin) - newset[k++] = oldset[j]; - ecore_x_window_prop_property_set(win, - _ecore_x_atom_wm_colormap_windows, - XA_WINDOW, - 32, - data, - k); - XFree(old_data); - free(newset); - return; - } - } - } - + { + if (oldset[i] == subwin) + { + if (num == 1) + { + XDeleteProperty(_ecore_x_disp, + win, ECORE_X_ATOM_WM_COLORMAP_WINDOWS); + XFree(old_data); + return; + } + else + { + newset = calloc(num - 1, sizeof(Window)); + data = (unsigned char *)newset; + for (j = 0; j < num; ++j) + if (oldset[j] != subwin) + newset[k++] = oldset[j]; + ecore_x_window_prop_property_set(win, + ECORE_X_ATOM_WM_COLORMAP_WINDOWS, + XA_WINDOW, 32, data, k); + XFree(old_data); + free(newset); + return; + } + } + } + XFree(old_data); } @@ -757,7 +792,7 @@ void ecore_x_icccm_transient_for_unset(Ecore_X_Window win) { - XDeleteProperty(_ecore_x_disp, win, _ecore_x_atom_wm_transient_for); + XDeleteProperty(_ecore_x_disp, win, ECORE_X_ATOM_WM_TRANSIENT_FOR); } /** @@ -768,13 +803,13 @@ Ecore_X_Window ecore_x_icccm_transient_for_get(Ecore_X_Window win) { - Window forwin; + Window forwin; - if(XGetTransientForHint(_ecore_x_disp, win, &forwin)) + if (XGetTransientForHint(_ecore_x_disp, win, &forwin)) return (Ecore_X_Window) forwin; else return 0; - + } /** @@ -785,8 +820,8 @@ void ecore_x_icccm_window_role_set(Ecore_X_Window win, const char *role) { - ecore_x_window_prop_string_set(win, _ecore_x_atom_wm_window_role, - (char *)role); + ecore_x_window_prop_string_set(win, ECORE_X_ATOM_WM_WINDOW_ROLE, + (char *)role); } /** @@ -794,11 +829,10 @@ * @param win The window * @return The window's role string. */ -char * +char * ecore_x_icccm_window_role_get(Ecore_X_Window win) { - return ecore_x_window_prop_string_get(win, - _ecore_x_atom_wm_window_role); + return ecore_x_window_prop_string_get(win, ECORE_X_ATOM_WM_WINDOW_ROLE); } /** @@ -813,8 +847,8 @@ ecore_x_icccm_client_leader_set(Ecore_X_Window win, Ecore_X_Window l) { ecore_x_window_prop_property_set(win, - _ecore_x_atom_wm_client_leader, - XA_WINDOW, 32, &l, 1); + ECORE_X_ATOM_WM_CLIENT_LEADER, + XA_WINDOW, 32, &l, 1); } /** @@ -824,19 +858,17 @@ Ecore_X_Window ecore_x_icccm_client_leader_get(Ecore_X_Window win) { - unsigned char *data; - int num; - - if(ecore_x_window_prop_property_get(win, - _ecore_x_atom_wm_client_leader, - XA_WINDOW, 32, &data, &num)) - return (Ecore_X_Window)*data; + unsigned char *data; + int num; + + if (ecore_x_window_prop_property_get(win, + ECORE_X_ATOM_WM_CLIENT_LEADER, + XA_WINDOW, 32, &data, &num)) + return (Ecore_X_Window) * data; else return 0; } - - /* FIXME: move these things in here as they are icccm related */ /* send iconify request */ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_mwm.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- ecore_x_mwm.c 26 Nov 2004 05:58:28 -0000 1.2 +++ ecore_x_mwm.c 4 Dec 2004 10:10:29 -0000 1.3 @@ -7,6 +7,7 @@ #include "Ecore.h" #include "ecore_x_private.h" #include "Ecore_X.h" +#include "Ecore_X_Atoms.h" #define ECORE_X_MWM_HINTS_FUNCTIONS (1 << 0) #define ECORE_X_MWM_HINTS_DECORATIONS (1 << 1) @@ -23,48 +24,51 @@ } MWMHints; +/* Atoms */ +Ecore_X_Atom ECORE_X_ATOM_MOTIF_WM_HINTS = 0; + int ecore_x_mwm_hints_get(Ecore_X_Window win, - Ecore_X_MWM_Hint_Func *fhint, - Ecore_X_MWM_Hint_Decor *dhint, - Ecore_X_MWM_Hint_Input *ihint) + Ecore_X_MWM_Hint_Func * fhint, + Ecore_X_MWM_Hint_Decor * dhint, + Ecore_X_MWM_Hint_Input * ihint) { - unsigned char *p = NULL; - MWMHints *mwmhints = NULL; - int num; - int ret; - + unsigned char *p = NULL; + MWMHints *mwmhints = NULL; + int num; + int ret; + ret = 0; if (!ecore_x_window_prop_property_get(win, - _ecore_x_atom_motif_wm_hints, - _ecore_x_atom_motif_wm_hints, + ECORE_X_ATOM_MOTIF_WM_HINTS, + ECORE_X_ATOM_MOTIF_WM_HINTS, 32, &p, &num)) - return 0; - mwmhints = (MWMHints *)p; + return 0; + mwmhints = (MWMHints *) p; if (mwmhints) { if (num >= 4) { - if (dhint) + if (dhint) { if (mwmhints->flags & ECORE_X_MWM_HINTS_DECORATIONS) - *dhint = mwmhints->decorations; + *dhint = mwmhints->decorations; else - *dhint = ECORE_X_MWM_HINT_DECOR_ALL; + *dhint = ECORE_X_MWM_HINT_DECOR_ALL; } if (fhint) { if (mwmhints->flags & ECORE_X_MWM_HINTS_FUNCTIONS) - *fhint = mwmhints->functions; + *fhint = mwmhints->functions; else - *fhint = ECORE_X_MWM_HINT_FUNC_ALL; + *fhint = ECORE_X_MWM_HINT_FUNC_ALL; } if (ihint) { if (mwmhints->flags & ECORE_X_MWM_HINTS_INPUT_MODE) - *ihint = mwmhints->inputmode; + *ihint = mwmhints->inputmode; else - *ihint = ECORE_X_MWM_HINT_INPUT_MODELESS; + *ihint = ECORE_X_MWM_HINT_INPUT_MODELESS; } ret = 1; } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_netwm.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- ecore_x_netwm.c 29 Nov 2004 23:25:12 -0000 1.3 +++ ecore_x_netwm.c 4 Dec 2004 10:10:29 -0000 1.4 @@ -4,6 +4,7 @@ #include "Ecore.h" #include "ecore_x_private.h" #include "Ecore_X.h" +#include "Ecore_X_Atoms.h" /* * Convenience macros @@ -12,10 +13,10 @@ XInternAtom(_ecore_x_disp, name, False) #define _ATOM_SET_UTF8_STRING(atom, win, string) \ - XChangeProperty(_e... [truncated message content] |
From: <enl...@li...> - 2004-12-04 10:10:55
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore Modified Files: AUTHORS Log Message: Make ecore_x atoms public. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/AUTHORS,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- AUTHORS 15 Jul 2004 13:38:19 -0000 1.12 +++ AUTHORS 4 Dec 2004 10:10:18 -0000 1.13 @@ -10,3 +10,4 @@ Howell Tam <pi...@pi...> Nathan Ingersoll <rb...@us...> Andrew Elcock <an...@el...> +Kim Woelders <ki...@wo...> |
From: <enl...@li...> - 2004-12-05 08:29:18
|
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_Atoms.h ecore_x.c ecore_x_icccm.c Log Message: Introduce ecore_x_icccm_init(), add ECORE_X_ATOM_WM_NORMAL_HINTS. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Ecore_X.h,v retrieving revision 1.82 retrieving revision 1.83 diff -u -3 -r1.82 -r1.83 --- Ecore_X.h 4 Dec 2004 10:10:19 -0000 1.82 +++ Ecore_X.h 5 Dec 2004 08:28:59 -0000 1.83 @@ -930,6 +930,7 @@ 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 =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Ecore_X_Atoms.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- Ecore_X_Atoms.h 4 Dec 2004 10:10:20 -0000 1.1 +++ Ecore_X_Atoms.h 5 Dec 2004 08:29:10 -0000 1.2 @@ -33,6 +33,7 @@ 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; =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x.c,v retrieving revision 1.53 retrieving revision 1.54 diff -u -3 -r1.53 -r1.54 --- ecore_x.c 4 Dec 2004 10:10:28 -0000 1.53 +++ ecore_x.c 5 Dec 2004 08:29:10 -0000 1.54 @@ -299,22 +299,8 @@ 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); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_icccm.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- ecore_x_icccm.c 4 Dec 2004 10:10:29 -0000 1.13 +++ ecore_x_icccm.c 5 Dec 2004 08:29:10 -0000 1.14 @@ -23,11 +23,47 @@ 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) { unsigned long c[2]; |
From: <enl...@li...> - 2004-12-08 20:29:53
|
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_netwm.c Log Message: NetWM function fixes, and a few new ones. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Ecore_X.h,v retrieving revision 1.83 retrieving revision 1.84 diff -u -3 -r1.83 -r1.84 --- Ecore_X.h 5 Dec 2004 08:28:59 -0000 1.83 +++ Ecore_X.h 8 Dec 2004 20:29:45 -0000 1.84 @@ -848,6 +848,9 @@ EAPI Ecore_X_Atom ecore_x_window_prop_any_type(void); EAPI void ecore_x_window_prop_property_set(Ecore_X_Window win, Ecore_X_Atom type, Ecore_X_Atom format, int size, void *data, int number); EAPI int ecore_x_window_prop_property_get(Ecore_X_Window win, Ecore_X_Atom property, Ecore_X_Atom type, int size, unsigned char **data, int *num); +EAPI void ecore_x_window_prop_card32_set(Ecore_X_Window win, Ecore_X_Atom atom, unsigned int *val, unsigned int num); +EAPI int ecore_x_window_prop_card32_get(Ecore_X_Window win, Ecore_X_Atom atom, + unsigned int *val, unsigned int len); EAPI void ecore_x_window_prop_property_del(Ecore_X_Window win, Ecore_X_Atom property); EAPI void ecore_x_window_prop_property_notify(Ecore_X_Window win, const char *type, long *data); EAPI void ecore_x_window_prop_string_set(Ecore_X_Window win, Ecore_X_Atom type, char *str); @@ -1066,16 +1069,16 @@ EAPI void ecore_x_netwm_init(void); EAPI void ecore_x_netwm_wm_identify(Ecore_X_Window root, Ecore_X_Window check, const char *wm_name); - EAPI void ecore_x_netwm_desk_count_set(Ecore_X_Window root, int n_desks); - EAPI void ecore_x_netwm_desk_roots_set(Ecore_X_Window root, int n_desks, Ecore_X_Window * vroots); - EAPI void ecore_x_netwm_desk_names_set(Ecore_X_Window root, int n_desks, const char **names); - EAPI void ecore_x_netwm_desk_size_set(Ecore_X_Window root, int width, int height); - EAPI void ecore_x_netwm_desk_workareas_set(Ecore_X_Window root, int n_desks, int *areas); - EAPI void ecore_x_netwm_desk_current_set(Ecore_X_Window root, int desk); - EAPI void ecore_x_netwm_desk_viewports_set(Ecore_X_Window root, int n_desks, int *origins); + EAPI void ecore_x_netwm_desk_count_set(Ecore_X_Window root, unsigned int n_desks); + EAPI void ecore_x_netwm_desk_roots_set(Ecore_X_Window root, unsigned int n_desks, Ecore_X_Window * vroots); + EAPI void ecore_x_netwm_desk_names_set(Ecore_X_Window root, unsigned int n_desks, const char **names); + EAPI void ecore_x_netwm_desk_size_set(Ecore_X_Window root, unsigned int width, unsigned int height); + EAPI void ecore_x_netwm_desk_workareas_set(Ecore_X_Window root, unsigned int n_desks, unsigned int *areas); + EAPI void ecore_x_netwm_desk_current_set(Ecore_X_Window root, unsigned int desk); + EAPI void ecore_x_netwm_desk_viewports_set(Ecore_X_Window root, unsigned int n_desks, unsigned int *origins); EAPI void ecore_x_netwm_showing_desktop_set(Ecore_X_Window root, int on); - EAPI void ecore_x_netwm_client_list_set(Ecore_X_Window root, int n_clients, Ecore_X_Window * p_clients); - EAPI void ecore_x_netwm_client_list_stacking_set(Ecore_X_Window root, int n_clients, Ecore_X_Window * p_clients); + EAPI void ecore_x_netwm_client_list_set(Ecore_X_Window root, unsigned int n_clients, Ecore_X_Window * p_clients); + EAPI void ecore_x_netwm_client_list_stacking_set(Ecore_X_Window root, unsigned int n_clients, Ecore_X_Window * p_clients); EAPI void ecore_x_netwm_client_active_set(Ecore_X_Window root, Ecore_X_Window win); EAPI void ecore_x_netwm_name_set(Ecore_X_Window win, const char *name); EAPI char *ecore_x_netwm_name_get(Ecore_X_Window win); @@ -1085,6 +1088,11 @@ EAPI char *ecore_x_netwm_icon_name_get(Ecore_X_Window win); EAPI void ecore_x_netwm_visible_icon_name_set(Ecore_X_Window win, const char *name); EAPI char *ecore_x_netwm_visible_icon_name_get(Ecore_X_Window win); + EAPI void ecore_x_netwm_desktop_set(Ecore_X_Window win, unsigned int desk); + EAPI int ecore_x_netwm_desktop_get(Ecore_X_Window win, unsigned int *desk); + EAPI void ecore_x_netwm_opacity_set(Ecore_X_Window win, unsigned int opacity); + EAPI int ecore_x_netwm_opacity_get(Ecore_X_Window win, unsigned int *opacity); + /* FIXME: these funcs need categorising */ EAPI void ecore_x_drawable_geometry_get(Ecore_X_Drawable d, int *x, int *y, int *w, int *h); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_netwm.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- ecore_x_netwm.c 4 Dec 2004 10:10:29 -0000 1.4 +++ ecore_x_netwm.c 8 Dec 2004 20:29:45 -0000 1.5 @@ -1,6 +1,7 @@ /* * _NET_WM... aka Extended Window Manager Hint (EWMH) functions. */ +#include "config.h" #include "Ecore.h" #include "ecore_x_private.h" #include "Ecore_X.h" @@ -12,19 +13,19 @@ #define _ATOM_GET(name) \ XInternAtom(_ecore_x_disp, name, False) -#define _ATOM_SET_UTF8_STRING(atom, win, string) \ +#define _ATOM_SET_UTF8_STRING(win, atom, string) \ XChangeProperty(_ecore_x_disp, win, atom, ECORE_X_ATOM_UTF8_STRING, 8, PropModeReplace, \ (unsigned char *)string, strlen(string)) -#define _ATOM_SET_UTF8_STRING_LIST(atom, win, string, cnt) \ +#define _ATOM_SET_UTF8_STRING_LIST(win, atom, string, cnt) \ XChangeProperty(_ecore_x_disp, win, atom, ECORE_X_ATOM_UTF8_STRING, 8, PropModeReplace, \ (unsigned char *)string, cnt) -#define _ATOM_SET_WINDOW(atom, win, p_wins, cnt) \ +#define _ATOM_SET_WINDOW(win, atom, p_wins, cnt) \ XChangeProperty(_ecore_x_disp, win, atom, XA_WINDOW, 32, PropModeReplace, \ (unsigned char *)p_wins, cnt) -#define _ATOM_SET_ATOM(atom, win, p_atom, cnt) \ +#define _ATOM_SET_ATOM(win, atom, p_atom, cnt) \ XChangeProperty(_ecore_x_disp, win, atom, XA_ATOM, 32, PropModeReplace, \ (unsigned char *)p_atom, cnt) -#define _ATOM_SET_CARD32(atom, win, p_val, cnt) \ +#define _ATOM_SET_CARD32(win, atom, p_val, cnt) \ XChangeProperty(_ecore_x_disp, win, atom, XA_CARDINAL, 32, PropModeReplace, \ (unsigned char *)p_val, cnt) @@ -33,6 +34,69 @@ */ /* + * Set CARD32 (array) property + */ +void +ecore_x_window_prop_card32_set(Ecore_X_Window win, Ecore_X_Atom atom, + unsigned int *val, unsigned int num) +{ +#if SIZEOF_INT == 4 + _ATOM_SET_CARD32(win, atom, val, num); +#else + CARD32 *c32; + unsigned int i; + + c32 = malloc(num * sizeof(CARD32)); + if (!c32) + return; + for (i = 0; i < num; i++) + c32[i] = val[i]; + _ATOM_SET_CARD32(win, atom, c32, num); + free(c32); +#endif +} + +/* + * Get CARD32 (array) property + * + * At most len items are returned in val. + * If the property was successfully fetched the number of items stored in + * val is returned, otherwise -1 is returned. + * Note: Return value 0 means that the property exists but has no elements. + */ +int +ecore_x_window_prop_card32_get(Ecore_X_Window win, Ecore_X_Atom atom, + unsigned int *val, unsigned int len) +{ + unsigned char *prop_ret; + Atom type_ret; + unsigned long bytes_after, num_ret; + int format_ret; + unsigned int i; + + prop_ret = NULL; + XGetWindowProperty(_ecore_x_disp, win, atom, 0, 0x7fffffff, False, + ECORE_X_ATOM_UTF8_STRING, &type_ret, + &format_ret, &num_ret, &bytes_after, &prop_ret); + if (prop_ret && num_ret > 0 && format_ret == 32) + { + if (num_ret < len) + len = num_ret; + for (i = 0; i < len; i++) + val[i] = prop_ret[i]; + } + else + { + if (!prop_ret || format_ret != 32) + len = -1; + } + if (prop_ret) + XFree(prop_ret); + + return len; +} + +/* * Set UTF-8 string property */ static void @@ -49,27 +113,27 @@ _ecore_x_window_prop_string_utf8_get(Ecore_X_Window win, Ecore_X_Atom atom) { char *str; - unsigned char *prop_return; + unsigned char *prop_ret; Atom type_ret; unsigned long bytes_after, num_ret; int format_ret; str = NULL; - prop_return = NULL; + prop_ret = NULL; XGetWindowProperty(_ecore_x_disp, win, atom, 0, 0x7fffffff, False, ECORE_X_ATOM_UTF8_STRING, &type_ret, - &format_ret, &num_ret, &bytes_after, &prop_return); - if (prop_return && num_ret > 0 && format_ret == 8) + &format_ret, &num_ret, &bytes_after, &prop_ret); + if (prop_ret && num_ret > 0 && format_ret == 8) { str = malloc(num_ret + 1); if (str) { - memcpy(str, prop_return, num_ret); + memcpy(str, prop_ret, num_ret); str[num_ret] = '\0'; } } - if (prop_return) - XFree(prop_return); + if (prop_ret) + XFree(prop_ret); return str; } @@ -221,11 +285,11 @@ 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); + _ATOM_SET_WINDOW(root, ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK, &check, 1); + _ATOM_SET_WINDOW(check, ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK, &check, 1); + _ATOM_SET_UTF8_STRING(check, ECORE_X_ATOM_NET_WM_NAME, wm_name); /* This one isn't mandatory */ - _ATOM_SET_UTF8_STRING(ECORE_X_ATOM_NET_WM_NAME, root, wm_name); + _ATOM_SET_UTF8_STRING(root, ECORE_X_ATOM_NET_WM_NAME, wm_name); } /* @@ -233,28 +297,27 @@ */ void -ecore_x_netwm_desk_count_set(Ecore_X_Window root, int n_desks) +ecore_x_netwm_desk_count_set(Ecore_X_Window root, unsigned int n_desks) { - CARD32 val; - - val = n_desks; - _ATOM_SET_CARD32(ECORE_X_ATOM_NET_NUMBER_OF_DESKTOPS, root, &val, 1); + ecore_x_window_prop_card32_set(root, ECORE_X_ATOM_NET_NUMBER_OF_DESKTOPS, + &n_desks, 1); } void -ecore_x_netwm_desk_roots_set(Ecore_X_Window root, int n_desks, +ecore_x_netwm_desk_roots_set(Ecore_X_Window root, unsigned int n_desks, Ecore_X_Window * vroots) { - _ATOM_SET_WINDOW(ECORE_X_ATOM_NET_VIRTUAL_ROOTS, root, vroots, n_desks); + _ATOM_SET_WINDOW(root, ECORE_X_ATOM_NET_VIRTUAL_ROOTS, vroots, n_desks); } void -ecore_x_netwm_desk_names_set(Ecore_X_Window root, int n_desks, +ecore_x_netwm_desk_names_set(Ecore_X_Window root, unsigned int n_desks, const char **names) { char ss[32], *buf; const char *s; - int i, l, len; + unsigned int i; + int l, len; buf = NULL; len = 0; @@ -275,75 +338,54 @@ len += l; } - _ATOM_SET_UTF8_STRING_LIST(ECORE_X_ATOM_NET_DESKTOP_NAMES, root, buf, len); + _ATOM_SET_UTF8_STRING_LIST(root, ECORE_X_ATOM_NET_DESKTOP_NAMES, buf, len); free(buf); } void -ecore_x_netwm_desk_size_set(Ecore_X_Window root, int width, int height) +ecore_x_netwm_desk_size_set(Ecore_X_Window root, unsigned int width, + unsigned int height) { - CARD32 size[2]; + unsigned int size[2]; size[0] = width; size[1] = height; - _ATOM_SET_CARD32(ECORE_X_ATOM_NET_DESKTOP_GEOMETRY, root, &size, 2); + ecore_x_window_prop_card32_set(root, ECORE_X_ATOM_NET_DESKTOP_GEOMETRY, size, + 2); } void -ecore_x_netwm_desk_workareas_set(Ecore_X_Window root, int n_desks, int *areas) +ecore_x_netwm_desk_workareas_set(Ecore_X_Window root, unsigned int n_desks, + unsigned int *areas) { - CARD32 *p_coord; - int n_coord, i; - - n_coord = 4 * n_desks; - p_coord = malloc(n_coord * sizeof(CARD32)); - if (!p_coord) - return; - - for (i = 0; i < n_coord; i++) - p_coord[i] = areas[i]; - - _ATOM_SET_CARD32(ECORE_X_ATOM_NET_WORKAREA, root, p_coord, n_coord); - - free(p_coord); + ecore_x_window_prop_card32_set(root, ECORE_X_ATOM_NET_WORKAREA, areas, + 4 * n_desks); } void -ecore_x_netwm_desk_current_set(Ecore_X_Window root, int desk) +ecore_x_netwm_desk_current_set(Ecore_X_Window root, unsigned int desk) { - CARD32 val; - - val = desk; - _ATOM_SET_CARD32(ECORE_X_ATOM_NET_CURRENT_DESKTOP, root, &val, 1); + ecore_x_window_prop_card32_set(root, ECORE_X_ATOM_NET_CURRENT_DESKTOP, &desk, + 1); } void -ecore_x_netwm_desk_viewports_set(Ecore_X_Window root, int n_desks, int *origins) +ecore_x_netwm_desk_viewports_set(Ecore_X_Window root, unsigned int n_desks, + unsigned int *origins) { - CARD32 *p_coord; - int n_coord, i; - - n_coord = 2 * n_desks; - p_coord = malloc(n_coord * sizeof(CARD32)); - if (!p_coord) - return; - - for (i = 0; i < n_coord; i++) - p_coord[i] = origins[i]; - - _ATOM_SET_CARD32(ECORE_X_ATOM_NET_DESKTOP_VIEWPORT, root, p_coord, n_coord); - - free(p_coord); + ecore_x_window_prop_card32_set(root, ECORE_X_ATOM_NET_DESKTOP_VIEWPORT, + origins, 2 * n_desks); } void ecore_x_netwm_showing_desktop_set(Ecore_X_Window root, int on) { - CARD32 val; + unsigned int val; - val = on; - _ATOM_SET_CARD32(ECORE_X_ATOM_NET_SHOWING_DESKTOP, root, &val, 1); + val = (on) ? 1 : 0; + ecore_x_window_prop_card32_set(root, ECORE_X_ATOM_NET_SHOWING_DESKTOP, &val, + 1); } /* @@ -352,31 +394,32 @@ /* Mapping order */ void -ecore_x_netwm_client_list_set(Ecore_X_Window root, int n_clients, +ecore_x_netwm_client_list_set(Ecore_X_Window root, unsigned int n_clients, Ecore_X_Window * p_clients) { - _ATOM_SET_WINDOW(ECORE_X_ATOM_NET_CLIENT_LIST, root, p_clients, n_clients); + _ATOM_SET_WINDOW(root, ECORE_X_ATOM_NET_CLIENT_LIST, p_clients, n_clients); } /* Stacking order */ void -ecore_x_netwm_client_list_stacking_set(Ecore_X_Window root, int n_clients, +ecore_x_netwm_client_list_stacking_set(Ecore_X_Window root, + unsigned int n_clients, Ecore_X_Window * p_clients) { - _ATOM_SET_WINDOW(ECORE_X_ATOM_NET_CLIENT_LIST_STACKING, root, p_clients, + _ATOM_SET_WINDOW(root, ECORE_X_ATOM_NET_CLIENT_LIST_STACKING, p_clients, n_clients); } void ecore_x_netwm_client_active_set(Ecore_X_Window root, Ecore_X_Window win) { - _ATOM_SET_WINDOW(ECORE_X_ATOM_NET_ACTIVE_WINDOW, root, &win, 1); + _ATOM_SET_WINDOW(root, ECORE_X_ATOM_NET_ACTIVE_WINDOW, &win, 1); } void ecore_x_netwm_name_set(Ecore_X_Window win, const char *name) { - _ecore_x_window_prop_string_utf8_set(ECORE_X_ATOM_NET_WM_NAME, win, name); + _ecore_x_window_prop_string_utf8_set(win, ECORE_X_ATOM_NET_WM_NAME, name); } char * @@ -388,7 +431,7 @@ void ecore_x_netwm_icon_name_set(Ecore_X_Window win, const char *name) { - _ecore_x_window_prop_string_utf8_set(ECORE_X_ATOM_NET_WM_ICON_NAME, win, + _ecore_x_window_prop_string_utf8_set(win, ECORE_X_ATOM_NET_WM_ICON_NAME, name); } @@ -402,7 +445,7 @@ void ecore_x_netwm_visible_name_set(Ecore_X_Window win, const char *name) { - _ecore_x_window_prop_string_utf8_set(ECORE_X_ATOM_NET_WM_VISIBLE_NAME, win, + _ecore_x_window_prop_string_utf8_set(win, ECORE_X_ATOM_NET_WM_VISIBLE_NAME, name); } @@ -416,8 +459,9 @@ void ecore_x_netwm_visible_icon_name_set(Ecore_X_Window win, const char *name) { - _ecore_x_window_prop_string_utf8_set(ECORE_X_ATOM_NET_WM_VISIBLE_ICON_NAME, - win, name); + _ecore_x_window_prop_string_utf8_set(win, + ECORE_X_ATOM_NET_WM_VISIBLE_ICON_NAME, + name); } char * @@ -426,3 +470,30 @@ return _ecore_x_window_prop_string_utf8_get(win, ECORE_X_ATOM_NET_WM_VISIBLE_ICON_NAME); } + +void +ecore_x_netwm_desktop_set(Ecore_X_Window win, unsigned int desk) +{ + ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_NET_WM_DESKTOP, &desk, 1); +} + +int +ecore_x_netwm_desktop_get(Ecore_X_Window win, unsigned int *desk) +{ + return ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_NET_WM_DESKTOP, + desk, 1); +} + +void +ecore_x_netwm_opacity_set(Ecore_X_Window win, unsigned int opacity) +{ + ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_NET_WM_WINDOW_OPACITY, + &opacity, 1); +} + +int +ecore_x_netwm_opacity_get(Ecore_X_Window win, unsigned int *opacity) +{ + return ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_NET_WM_WINDOW_OPACITY, + opacity, 1); +} |
From: <enl...@li...> - 2004-12-08 20:30:36
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore Modified Files: configure.in Log Message: NetWM function fixes, and a few new ones. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/configure.in,v retrieving revision 1.63 retrieving revision 1.64 diff -u -3 -r1.63 -r1.64 --- configure.in 8 Dec 2004 16:23:08 -0000 1.63 +++ configure.in 8 Dec 2004 20:29:45 -0000 1.64 @@ -13,6 +13,7 @@ AM_PROG_CC_STDC AC_HEADER_STDC AC_C_CONST +AC_CHECK_SIZEOF(int, 4) AM_ENABLE_SHARED AM_PROG_LIBTOOL |
From: <enl...@li...> - 2004-12-09 19:29:31
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src/lib/ecore_x Modified Files: ecore_x_netwm.c Log Message: Gah - fix. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_netwm.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- ecore_x_netwm.c 8 Dec 2004 20:29:45 -0000 1.5 +++ ecore_x_netwm.c 9 Dec 2004 19:29:24 -0000 1.6 @@ -73,27 +73,28 @@ unsigned long bytes_after, num_ret; int format_ret; unsigned int i; + int num; prop_ret = NULL; XGetWindowProperty(_ecore_x_disp, win, atom, 0, 0x7fffffff, False, - ECORE_X_ATOM_UTF8_STRING, &type_ret, - &format_ret, &num_ret, &bytes_after, &prop_ret); - if (prop_ret && num_ret > 0 && format_ret == 32) + XA_CARDINAL, &type_ret, &format_ret, &num_ret, + &bytes_after, &prop_ret); + if (prop_ret && type_ret == XA_CARDINAL && format_ret == 32) { if (num_ret < len) len = num_ret; for (i = 0; i < len; i++) - val[i] = prop_ret[i]; + val[i] = ((unsigned long *)prop_ret)[i]; + num = len; } else { - if (!prop_ret || format_ret != 32) - len = -1; + num = -1; } if (prop_ret) XFree(prop_ret); - return len; + return num; } /* |
From: <enl...@li...> - 2004-12-29 12:36:32
|
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_icccm.c Log Message: Add event mask as parameter to ecore_x_client_message32_send(). =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Ecore_X.h,v retrieving revision 1.85 retrieving revision 1.86 diff -u -3 -r1.85 -r1.86 --- Ecore_X.h 15 Dec 2004 11:48:33 -0000 1.85 +++ Ecore_X.h 29 Dec 2004 12:36:24 -0000 1.86 @@ -918,7 +918,7 @@ EAPI Ecore_X_GC ecore_x_gc_new(Ecore_X_Drawable draw); EAPI void ecore_x_gc_del(Ecore_X_GC gc); -EAPI int ecore_x_client_message32_send(Ecore_X_Window win, Ecore_X_Atom type, long d0, long d1, long d2, long d3, long d4); +EAPI int ecore_x_client_message32_send(Ecore_X_Window win, Ecore_X_Atom type, Ecore_X_Event_Mask mask, long d0, long d1, long d2, long d3, long d4); EAPI int ecore_x_client_message8_send(Ecore_X_Window win, Ecore_X_Atom type, const void *data, int len); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x.c,v retrieving revision 1.58 retrieving revision 1.59 diff -u -3 -r1.58 -r1.59 --- ecore_x.c 27 Dec 2004 18:28:13 -0000 1.58 +++ ecore_x.c 29 Dec 2004 12:36:24 -0000 1.59 @@ -1261,6 +1261,7 @@ */ int ecore_x_client_message32_send(Ecore_X_Window win, Ecore_X_Atom type, + Ecore_X_Event_Mask mask, long d0, long d1, long d2, long d3, long d4) { XEvent xev; @@ -1275,7 +1276,7 @@ xev.xclient.data.l[3] = d3; xev.xclient.data.l[4] = d4; - return XSendEvent(_ecore_x_disp, win, False, NoEventMask, &xev); + return XSendEvent(_ecore_x_disp, win, False, mask, &xev); } /** =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_icccm.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- ecore_x_icccm.c 25 Dec 2004 13:13:57 -0000 1.15 +++ ecore_x_icccm.c 29 Dec 2004 12:36:25 -0000 1.16 @@ -84,6 +84,7 @@ ecore_x_icccm_delete_window_send(Ecore_X_Window win, Ecore_X_Time t) { ecore_x_client_message32_send(win, ECORE_X_ATOM_WM_PROTOCOLS, + ECORE_X_EVENT_MASK_NONE, ECORE_X_ATOM_WM_DELETE_WINDOW, t, 0, 0, 0); } @@ -92,6 +93,7 @@ ecore_x_icccm_take_focus_send(Ecore_X_Window win, Ecore_X_Time t) { ecore_x_client_message32_send(win, ECORE_X_ATOM_WM_PROTOCOLS, + ECORE_X_EVENT_MASK_NONE, ECORE_X_ATOM_WM_TAKE_FOCUS, t, 0, 0, 0); } @@ -100,6 +102,7 @@ ecore_x_icccm_save_yourself_send(Ecore_X_Window win, Ecore_X_Time t) { ecore_x_client_message32_send(win, ECORE_X_ATOM_WM_PROTOCOLS, + ECORE_X_EVENT_MASK_NONE, ECORE_X_ATOM_WM_SAVE_YOURSELF, t, 0, 0, 0); } |
From: <enl...@li...> - 2005-01-05 23:35:25
|
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 Log Message: Some hackish bits to enable cleaner e17 shutdown. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Ecore_X.h,v retrieving revision 1.89 retrieving revision 1.90 diff -u -3 -r1.89 -r1.90 --- Ecore_X.h 4 Jan 2005 21:54:04 -0000 1.89 +++ Ecore_X.h 5 Jan 2005 23:35:16 -0000 1.90 @@ -1179,7 +1179,10 @@ EAPI void ecore_x_window_button_ungrab(Ecore_X_Window win, int button, int mod, int any_mod); - + + EAPI void ecore_x_focus_reset(void); + EAPI void ecore_x_events_allow_all(void); + #ifdef __cplusplus } #endif =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x.c,v retrieving revision 1.62 retrieving revision 1.63 diff -u -3 -r1.62 -r1.63 --- ecore_x.c 4 Jan 2005 13:43:27 -0000 1.62 +++ ecore_x.c 5 Jan 2005 23:35:16 -0000 1.63 @@ -1368,6 +1368,18 @@ return XSendEvent(_ecore_x_disp, win, False, NoEventMask, &xev); } +void +ecore_x_focus_reset(void) +{ + XSetInputFocus(_ecore_x_disp, PointerRoot, RevertToPointerRoot, CurrentTime); +} + +void +ecore_x_events_allow_all(void) +{ + XAllowEvents(_ecore_x_disp, AsyncBoth, CurrentTime); +} + /*****************************************************************************/ /*****************************************************************************/ |
From: <enl...@li...> - 2005-03-02 08:31:10
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore/m4 Added Files: ac_attribute.m4 Log Message: This one should go in as well, then :) |
From: <enl...@li...> - 2005-03-04 19:29:45
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src/lib/ecore_ipc Modified Files: Ecore_Ipc.h ecore_ipc.c Log Message: Add missing prototypes, associated cleanups. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_ipc/Ecore_Ipc.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- Ecore_Ipc.h 25 Nov 2004 05:17:17 -0000 1.5 +++ Ecore_Ipc.h 4 Mar 2005 19:29:39 -0000 1.6 @@ -104,7 +104,7 @@ EAPI int ecore_ipc_shutdown(void); /* FIXME: need to add protocol type parameter */ - EAPI Ecore_Ipc_Server *ecore_ipc_server_add(Ecore_Ipc_Type type, char *name, int port, const void *data); + EAPI Ecore_Ipc_Server *ecore_ipc_server_add(Ecore_Ipc_Type type, const char *name, int port, const void *data); /* FIXME: need to add protocol type parameter */ EAPI Ecore_Ipc_Server *ecore_ipc_server_connect(Ecore_Ipc_Type type, char *name, int port, const void *data); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_ipc/ecore_ipc.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- ecore_ipc.c 2 Mar 2005 07:06:42 -0000 1.16 +++ ecore_ipc.c 4 Mar 2005 19:29:39 -0000 1.17 @@ -271,7 +271,7 @@ * @todo Need to add protocol type parameter to this function. */ Ecore_Ipc_Server * -ecore_ipc_server_add(Ecore_Ipc_Type compl_type, char *name, int port, const void *data) +ecore_ipc_server_add(Ecore_Ipc_Type compl_type, const char *name, int port, const void *data) { Ecore_Ipc_Server *svr; Ecore_Ipc_Type type; |
From: <enl...@li...> - 2005-03-04 19:30:15
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src/lib/ecore_con Modified Files: Ecore_Con.h ecore_con.c Log Message: Add missing prototypes, associated cleanups. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_con/Ecore_Con.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- Ecore_Con.h 17 Feb 2005 17:15:22 -0000 1.6 +++ Ecore_Con.h 4 Mar 2005 19:29:38 -0000 1.7 @@ -119,9 +119,9 @@ EAPI int ecore_con_init(void); EAPI int ecore_con_shutdown(void); - EAPI Ecore_Con_Server *ecore_con_server_add(Ecore_Con_Type type, char *name, int port, const void *data); + EAPI Ecore_Con_Server *ecore_con_server_add(Ecore_Con_Type type, const char *name, int port, const void *data); - EAPI Ecore_Con_Server *ecore_con_server_connect(Ecore_Con_Type type, char *name, int port, const void *data); + EAPI Ecore_Con_Server *ecore_con_server_connect(Ecore_Con_Type type, const char *name, int port, const void *data); EAPI void *ecore_con_server_del(Ecore_Con_Server *svr); EAPI void *ecore_con_server_data_get(Ecore_Con_Server *svr); EAPI int ecore_con_server_connected_get(Ecore_Con_Server *svr); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_con/ecore_con.c,v retrieving revision 1.39 retrieving revision 1.40 diff -u -3 -r1.39 -r1.40 --- ecore_con.c 3 Mar 2005 08:54:09 -0000 1.39 +++ ecore_con.c 4 Mar 2005 19:29:38 -0000 1.40 @@ -137,7 +137,7 @@ */ Ecore_Con_Server * ecore_con_server_add(Ecore_Con_Type compl_type, - char *name, + const char *name, int port, const void *data) { @@ -356,7 +356,7 @@ */ Ecore_Con_Server * ecore_con_server_connect(Ecore_Con_Type compl_type, - char *name, + const char *name, int port, const void *data) { |
From: <enl...@li...> - 2005-03-04 19:30:17
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src/lib/ecore_config Modified Files: ecore_config_ipc_ecore.c ecore_config_private.h Log Message: Add missing prototypes, associated cleanups. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_config/ecore_config_ipc_ecore.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- ecore_config_ipc_ecore.c 4 Mar 2005 10:46:19 -0000 1.4 +++ ecore_config_ipc_ecore.c 4 Mar 2005 19:29:39 -0000 1.5 @@ -1,4 +1,5 @@ /* by Azundris, with thanks to Corey Donohoe <at...@at...> */ +#include "ecore_private.h" #include "ecore_config_ipc.h" #include "ecore_config_util.h" #include "ecore_config_private.h" @@ -19,7 +20,7 @@ #include "Ecore_Config.h" #include "config.h" -#if 1 /* FIXME - No prototypes? */ + /*****************************************************************************/ static int @@ -46,7 +47,7 @@ } static char * -_ecore_config_ipc_global_prop_list(Ecore_Config_Server * srv, const long serial) +_ecore_config_ipc_global_prop_list(Ecore_Config_Server * srv __UNUSED__, long serial __UNUSED__) { Ecore_Config_DB_File *db; char **keys; @@ -227,7 +228,7 @@ /*****************************************************************************/ static int -_ecore_config_ipc_client_add(void *data, int type, void *event) +_ecore_config_ipc_client_add(void *data, int type __UNUSED__, void *event) { Ecore_Ipc_Server **server; Ecore_Ipc_Event_Client_Data *e; @@ -243,7 +244,7 @@ } static int -_ecore_config_ipc_client_del(void *data, int type, void *event) +_ecore_config_ipc_client_del(void *data, int type __UNUSED__, void *event) { Ecore_Ipc_Server **server; Ecore_Ipc_Event_Client_Data *e; @@ -259,7 +260,7 @@ } static int -_ecore_config_ipc_client_sent(void *data, int type, void *event) +_ecore_config_ipc_client_sent(void *data, int type __UNUSED__, void *event) { Ecore_Ipc_Server **server; Ecore_Ipc_Event_Client_Data *e; @@ -277,7 +278,7 @@ /*****************************************************************************/ int -_ecore_config_mod_init(char *pipe_name, void **data) +_ecore_config_mod_init(const char *pipe_name, void **data) { Ecore_Ipc_Server **server; struct stat st; @@ -376,4 +377,3 @@ } /*****************************************************************************/ -#endif =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_config/ecore_config_private.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- ecore_config_private.h 2 Mar 2005 07:06:34 -0000 1.4 +++ ecore_config_private.h 4 Mar 2005 19:29:39 -0000 1.5 @@ -8,6 +8,10 @@ typedef struct _Ecore_Config_DB_File Ecore_Config_DB_File; +int _ecore_config_mod_init(const char *pipe_name, void **data); +int _ecore_config_mod_exit(void **data); +int _ecore_config_mod_poll(void **data); + Ecore_Config_DB_File *_ecore_config_db_open_read(const char *file); Ecore_Config_DB_File *_ecore_config_db_open_write(const char *file); void _ecore_config_db_close(Ecore_Config_DB_File *db); |
From: <enl...@li...> - 2005-03-09 23:12:00
|
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_window_prop.c Log Message: Fix prototype. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Ecore_X.h,v retrieving revision 1.97 retrieving revision 1.98 diff -u -3 -r1.97 -r1.98 --- Ecore_X.h 2 Mar 2005 07:06:42 -0000 1.97 +++ Ecore_X.h 9 Mar 2005 23:11:47 -0000 1.98 @@ -872,7 +872,7 @@ unsigned int *val, unsigned int len); EAPI void ecore_x_window_prop_property_del(Ecore_X_Window win, Ecore_X_Atom property); EAPI void ecore_x_window_prop_property_notify(Ecore_X_Window win, const char *type, long *data); -EAPI void ecore_x_window_prop_string_set(Ecore_X_Window win, Ecore_X_Atom type, char *str); +EAPI void ecore_x_window_prop_string_set(Ecore_X_Window win, Ecore_X_Atom type, const char *str); EAPI char *ecore_x_window_prop_string_get(Ecore_X_Window win, Ecore_X_Atom type); EAPI void ecore_x_window_prop_title_set(Ecore_X_Window win, const char *t); EAPI char *ecore_x_window_prop_title_get(Ecore_X_Window win); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_window_prop.c,v retrieving revision 1.61 retrieving revision 1.62 diff -u -3 -r1.61 -r1.62 --- ecore_x_window_prop.c 2 Mar 2005 07:06:44 -0000 1.61 +++ ecore_x_window_prop.c 9 Mar 2005 23:11:49 -0000 1.62 @@ -157,12 +157,12 @@ * Set a window string property */ void -ecore_x_window_prop_string_set(Ecore_X_Window win, Ecore_X_Atom type, char *str) +ecore_x_window_prop_string_set(Ecore_X_Window win, Ecore_X_Atom type, const char *str) { XTextProperty xtp; if (win == 0) win = DefaultRootWindow(_ecore_x_disp); - xtp.value = str; + xtp.value = (char*)str; xtp.format = 8; xtp.encoding = ECORE_X_ATOM_UTF8_STRING; xtp.nitems = strlen(str); |
From: <enl...@li...> - 2005-07-29 16:41:43
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src/lib/ecore_con Modified Files: .cvsignore Log Message: Quiet. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_con/.cvsignore,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- .cvsignore 31 Mar 2004 16:47:45 -0000 1.2 +++ .cvsignore 29 Jul 2005 16:41:03 -0000 1.3 @@ -3,5 +3,5 @@ Ecore_Con.h Makefile Makefile.in -ecore_con.lo +*.lo libecore_con.la |
From: <enl...@li...> - 2005-07-29 16:41:43
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src/bin Modified Files: .cvsignore Log Message: Quiet. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/bin/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- .cvsignore 13 Nov 2003 12:30:47 -0000 1.1 +++ .cvsignore 29 Jul 2005 16:41:03 -0000 1.2 @@ -2,5 +2,6 @@ .libs Makefile Makefile.in +ecore_config ecore_evas_test ecore_test |
From: <enl...@li...> - 2005-09-07 23:21:48
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore Modified Files: configure.in Log Message: Define SIZEOF_LONG, fix warnings. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/configure.in,v retrieving revision 1.105 retrieving revision 1.106 diff -u -3 -r1.105 -r1.106 --- configure.in 5 Sep 2005 08:40:50 -0000 1.105 +++ configure.in 7 Sep 2005 23:21:42 -0000 1.106 @@ -13,6 +13,7 @@ AC_HEADER_STDC AC_C_CONST AC_CHECK_SIZEOF(int, 4) +AC_CHECK_SIZEOF(long, 4) AM_ENABLE_SHARED AM_PROG_LIBTOOL AC_C___ATTRIBUTE__ |
From: <enl...@li...> - 2005-09-07 23:21:48
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src/lib/ecore_x Modified Files: ecore_x_window_prop.c Log Message: Define SIZEOF_LONG, fix warnings. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_window_prop.c,v retrieving revision 1.77 retrieving revision 1.78 diff -u -3 -r1.77 -r1.78 --- ecore_x_window_prop.c 7 Sep 2005 22:16:49 -0000 1.77 +++ ecore_x_window_prop.c 7 Sep 2005 23:21:42 -0000 1.78 @@ -19,12 +19,12 @@ ecore_x_window_prop_card32_set(Ecore_X_Window win, Ecore_X_Atom atom, unsigned int *val, unsigned int num) { - long *v2; - unsigned int i; - #if SIZEOF_INT == SIZEOF_LONG _ATOM_SET_CARD32(win, atom, val, num); #else + long *v2; + unsigned int i; + v2 = malloc(num * sizeof(long)); if (!v2) return; @@ -33,7 +33,6 @@ _ATOM_SET_CARD32(win, atom, v2, num); free(v2); #endif - } /* |
From: <enl...@li...> - 2006-01-05 21:41:39
|
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_icccm.c ecore_x_netwm.c ecore_x_window_prop.c Log Message: Add some utility functions for get/setting window properties. Move a number of ecore_x_window_prop_property_get/set calls to the new ones. Eliminate broken (64bit arch) _ATOM_SET_... macros. New functions should be solid as they have been in e16 for ages. Changes in ecore_x_icccm/netwm.c have not been tested thoroughly. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/Ecore_X.h,v retrieving revision 1.152 retrieving revision 1.153 diff -u -3 -r1.152 -r1.153 --- Ecore_X.h 27 Dec 2005 17:17:31 -0000 1.152 +++ Ecore_X.h 5 Jan 2006 21:41:30 -0000 1.153 @@ -941,6 +941,12 @@ #define ECORE_X_WINDOW_LAYER_NORMAL 4 #define ECORE_X_WINDOW_LAYER_ABOVE 6 +/* Property list operations */ +#define ECORE_X_PROP_LIST_REMOVE 0 +#define ECORE_X_PROP_LIST_ADD 1 +#define ECORE_X_PROP_LIST_TOGGLE 2 + + EAPI int ecore_x_init(const char *name); EAPI int ecore_x_shutdown(void); EAPI int ecore_x_disconnect(void); @@ -1053,6 +1059,56 @@ unsigned int *val, unsigned int num); EAPI int ecore_x_window_prop_card32_get(Ecore_X_Window win, Ecore_X_Atom atom, unsigned int *val, unsigned int len); +EAPI int ecore_x_window_prop_card32_list_get(Ecore_X_Window win, + Ecore_X_Atom atom, + unsigned int **plst); + +EAPI void ecore_x_window_prop_xid_set(Ecore_X_Window win, + Ecore_X_Atom atom, + Ecore_X_Atom type, + Ecore_X_ID * lst, + unsigned int num); +EAPI int ecore_x_window_prop_xid_get(Ecore_X_Window win, + Ecore_X_Atom atom, + Ecore_X_Atom type, + Ecore_X_ID * lst, + unsigned int len); +EAPI int ecore_x_window_prop_xid_list_get(Ecore_X_Window win, + Ecore_X_Atom atom, + Ecore_X_Atom type, + Ecore_X_ID ** plst); +EAPI void ecore_x_window_prop_xid_list_change(Ecore_X_Window win, + Ecore_X_Atom atom, + Ecore_X_Atom type, + Ecore_X_ID item, + int op); +EAPI void ecore_x_window_prop_atom_set(Ecore_X_Window win, + Ecore_X_Atom atom, + Ecore_X_Atom * val, + unsigned int num); +EAPI int ecore_x_window_prop_atom_get(Ecore_X_Window win, + Ecore_X_Atom atom, + Ecore_X_Atom * val, + unsigned int len); +EAPI int ecore_x_window_prop_atom_list_get(Ecore_X_Window win, + Ecore_X_Atom atom, + Ecore_X_Atom ** plst); +EAPI void ecore_x_window_prop_atom_list_change(Ecore_X_Window win, + Ecore_X_Atom atom, + Ecore_X_Atom item, + int op); +EAPI void ecore_x_window_prop_window_set(Ecore_X_Window win, + Ecore_X_Atom atom, + Ecore_X_Window * val, + unsigned int num); +EAPI int ecore_x_window_prop_window_get(Ecore_X_Window win, + Ecore_X_Atom atom, + Ecore_X_Window * val, + unsigned int len); +EAPI int ecore_x_window_prop_window_list_get(Ecore_X_Window win, + Ecore_X_Atom atom, + Ecore_X_Window ** plst); + EAPI Ecore_X_Atom ecore_x_window_prop_any_type(void); EAPI void ecore_x_window_prop_property_set(Ecore_X_Window win, Ecore_X_Atom type, Ecore_X_Atom format, int size, void *data, int number); EAPI int ecore_x_window_prop_property_get(Ecore_X_Window win, Ecore_X_Atom property, Ecore_X_Atom type, int size, unsigned char **data, int *num); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_icccm.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -3 -r1.38 -r1.39 --- ecore_x_icccm.c 7 Sep 2005 09:50:14 -0000 1.38 +++ ecore_x_icccm.c 5 Jan 2006 21:41:30 -0000 1.39 @@ -1024,9 +1024,8 @@ void ecore_x_icccm_client_leader_set(Ecore_X_Window win, Ecore_X_Window l) { - ecore_x_window_prop_property_set(win, - ECORE_X_ATOM_WM_CLIENT_LEADER, - XA_WINDOW, 32, &l, 1); + ecore_x_window_prop_window_set(win, ECORE_X_ATOM_WM_CLIENT_LEADER, + &l, 1); } /** @@ -1036,22 +1035,11 @@ Ecore_X_Window ecore_x_icccm_client_leader_get(Ecore_X_Window win) { - unsigned char *data; - int num; + Ecore_X_Window l; - if (ecore_x_window_prop_property_get(win, - ECORE_X_ATOM_WM_CLIENT_LEADER, - XA_WINDOW, 32, &data, &num)) - { - if (data) - { - Ecore_X_Window wlead; - - wlead = *((Ecore_X_Window *)data); - free(data); - return wlead; - } - } + if (ecore_x_window_prop_window_get(win, ECORE_X_ATOM_WM_CLIENT_LEADER, + &l, 1) > 0) + return l; return 0; } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_netwm.c,v retrieving revision 1.47 retrieving revision 1.48 diff -u -3 -r1.47 -r1.48 --- ecore_x_netwm.c 9 Oct 2005 09:56:47 -0000 1.47 +++ ecore_x_netwm.c 5 Jan 2006 21:41:30 -0000 1.48 @@ -49,21 +49,9 @@ #define _ATOM_GET(name) \ XInternAtom(_ecore_x_disp, name, False) -#define _ATOM_SET_UTF8_STRING(win, atom, string) \ - XChangeProperty(_ecore_x_disp, win, atom, ECORE_X_ATOM_UTF8_STRING, 8, PropModeReplace, \ - (unsigned char *)string, strlen(string)) #define _ATOM_SET_UTF8_STRING_LIST(win, atom, string, cnt) \ XChangeProperty(_ecore_x_disp, win, atom, ECORE_X_ATOM_UTF8_STRING, 8, PropModeReplace, \ (unsigned char *)string, cnt) -#define _ATOM_SET_WINDOW(win, atom, p_wins, cnt) \ - XChangeProperty(_ecore_x_disp, win, atom, XA_WINDOW, 32, PropModeReplace, \ - (unsigned char *)p_wins, cnt) -#define _ATOM_SET_ATOM(win, atom, p_atom, cnt) \ - XChangeProperty(_ecore_x_disp, win, atom, XA_ATOM, 32, PropModeReplace, \ - (unsigned char *)p_atom, cnt) -#define _ATOM_SET_CARD32(win, atom, p_val, cnt) \ - XChangeProperty(_ecore_x_disp, win, atom, XA_CARDINAL, 32, PropModeReplace, \ - (unsigned char *)p_val, cnt) /* * Local variables @@ -281,11 +269,11 @@ ecore_x_netwm_wm_identify(Ecore_X_Window root, Ecore_X_Window check, const char *wm_name) { - _ATOM_SET_WINDOW(root, ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK, &check, 1); - _ATOM_SET_WINDOW(check, ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK, &check, 1); - _ATOM_SET_UTF8_STRING(check, ECORE_X_ATOM_NET_WM_NAME, wm_name); + ecore_x_window_prop_window_set(root, ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK, &check, 1); + ecore_x_window_prop_window_set(check, ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK, &check, 1); + _ecore_x_window_prop_string_utf8_set(check, ECORE_X_ATOM_NET_WM_NAME, wm_name); /* This one isn't mandatory */ - _ATOM_SET_UTF8_STRING(root, ECORE_X_ATOM_NET_WM_NAME, wm_name); + _ecore_x_window_prop_string_utf8_set(root, ECORE_X_ATOM_NET_WM_NAME, wm_name); } /* @@ -294,26 +282,23 @@ void ecore_x_netwm_supported_set(Ecore_X_Window root, Ecore_X_Atom *supported, int num) { - _ATOM_SET_ATOM(root, ECORE_X_ATOM_NET_SUPPORTED, supported, num); + ecore_x_window_prop_atom_set(root, ECORE_X_ATOM_NET_SUPPORTED, supported, num); } int ecore_x_netwm_supported_get(Ecore_X_Window root, Ecore_X_Atom **supported, int *num) { int num_ret; - unsigned char *data; if (num) *num = 0; if (supported) *supported = NULL; - if (!ecore_x_window_prop_property_get(root, ECORE_X_ATOM_NET_SUPPORTED, - XA_ATOM, 32, &data, &num_ret)) + num_ret = ecore_x_window_prop_atom_list_get(root, ECORE_X_ATOM_NET_SUPPORTED, + supported); + if (num_ret <= 0) return 0; - if ((!data) || (!num_ret)) return 0; - if (num) *num = num_ret; - if (supported) *supported = (Ecore_X_Atom *)data; return 1; } @@ -331,7 +316,7 @@ ecore_x_netwm_desk_roots_set(Ecore_X_Window root, Ecore_X_Window *vroots, unsigned int n_desks) { - _ATOM_SET_WINDOW(root, ECORE_X_ATOM_NET_VIRTUAL_ROOTS, vroots, n_desks); + ecore_x_window_prop_window_set(root, ECORE_X_ATOM_NET_VIRTUAL_ROOTS, vroots, n_desks); } void @@ -436,7 +421,8 @@ ecore_x_netwm_client_list_set(Ecore_X_Window root, Ecore_X_Window *p_clients, unsigned int n_clients) { - _ATOM_SET_WINDOW(root, ECORE_X_ATOM_NET_CLIENT_LIST, p_clients, n_clients); + ecore_x_window_prop_window_set(root, ECORE_X_ATOM_NET_CLIENT_LIST, + p_clients, n_clients); } /* Stacking order */ @@ -445,14 +431,15 @@ Ecore_X_Window *p_clients, unsigned int n_clients) { - _ATOM_SET_WINDOW(root, ECORE_X_ATOM_NET_CLIENT_LIST_STACKING, p_clients, - n_clients); + ecore_x_window_prop_window_set(root, ECORE_X_ATOM_NET_CLIENT_LIST_STACKING, + p_clients, n_clients); } void ecore_x_netwm_client_active_set(Ecore_X_Window root, Ecore_X_Window win) { - _ATOM_SET_WINDOW(root, ECORE_X_ATOM_NET_ACTIVE_WINDOW, &win, 1); + ecore_x_window_prop_window_set(root, ECORE_X_ATOM_NET_ACTIVE_WINDOW, + &win, 1); } void @@ -642,7 +629,6 @@ int ecore_x_netwm_icons_get(Ecore_X_Window win, Ecore_X_Icon **icon, int *num) { - unsigned char *data_ret; unsigned int *data, *p; unsigned int *src; unsigned int len, icons, i; @@ -651,18 +637,17 @@ if (num) *num = 0; if (icon) *icon = NULL; - if (!ecore_x_window_prop_property_get(win, ECORE_X_ATOM_NET_WM_ICON, - XA_CARDINAL, 32, &data_ret, &num_ret)) + num_ret = ecore_x_window_prop_card32_list_get(win, ECORE_X_ATOM_NET_WM_ICON, + &data); + if (num_ret <= 0) return 0; - if (!data_ret) return 0; + if (!data) return 0; if (num_ret < 2) { - free(data_ret); + free(data); return 0; } - data = (unsigned int *)data_ret; - /* Check how many icons there are */ icons = 0; p = data; @@ -672,7 +657,7 @@ p += (len + 2); if ((p - data) > num_ret) { - free(data_ret); + free(data); return 0; } icons++; @@ -685,7 +670,7 @@ /* If the user doesn't want the icons, return */ if (!icon) { - free(data_ret); + free(data); return 1; } @@ -693,7 +678,7 @@ *icon = malloc(icons * sizeof(Ecore_X_Icon)); if (!(*icon)) { - free(data_ret); + free(data); return 0; } @@ -711,7 +696,7 @@ while (i) free(((*icon)[--i]).data); free(*icon); - free(data_ret); + free(data); return 0; } @@ -720,7 +705,7 @@ p += (len + 2); } - free(data_ret); + free(data); return 1; } @@ -879,7 +864,6 @@ void ecore_x_netwm_window_state_set(Ecore_X_Window win, Ecore_X_Window_State *state, unsigned int num) { - unsigned char *data; Ecore_X_Atom *set; int i; @@ -889,36 +873,31 @@ return; } - data = malloc(num * sizeof(Ecore_X_Atom)); - if (!data) return; + set = malloc(num * sizeof(Ecore_X_Atom)); + if (!set) return; - set = (Ecore_X_Atom *) data; for (i = 0; i < num; i++) set[i] = _ecore_x_netwm_state_atom_get(state[i]); - _ATOM_SET_ATOM(win, ECORE_X_ATOM_NET_WM_STATE, data, num); + ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_NET_WM_STATE, set, num); - free(data); - return; + free(set); } int ecore_x_netwm_window_state_get(Ecore_X_Window win, Ecore_X_Window_State **state, unsigned int *num) { int num_ret, i; - unsigned char *data; Ecore_X_Atom *atoms; if (num) *num = 0; if (state) *state = NULL; - if (!ecore_x_window_prop_property_get(win, ECORE_X_ATOM_NET_WM_STATE, - XA_ATOM, 32, &data, &num_ret)) + num_ret = ecore_x_window_prop_atom_list_get(win, ECORE_X_ATOM_NET_WM_STATE, + &atoms); + if (num_ret <= 0) return 0; - if ((!data) || (!num_ret)) return 0; - - atoms = (Ecore_X_Atom *) data; if (state) { *state = malloc(num_ret * sizeof(Ecore_X_Window_State)); @@ -929,7 +908,7 @@ if (num) *num = num_ret; } - free(data); + free(atoms); return 1; } @@ -992,8 +971,8 @@ Ecore_X_Atom atom; atom = _ecore_x_netwm_window_type_atom_get(type); - ecore_x_window_prop_property_set(win, ECORE_X_ATOM_NET_WM_WINDOW_TYPE, - XA_ATOM, 32, (unsigned char *)&atom, 1); + ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_NET_WM_WINDOW_TYPE, + &atom, 1); } /* FIXME: Maybe return 0 on some conditions? */ @@ -1001,22 +980,21 @@ ecore_x_netwm_window_type_get(Ecore_X_Window win, Ecore_X_Window_Type *type) { int num, i; - unsigned char *data; Ecore_X_Atom *atoms; if (type) *type = ECORE_X_WINDOW_TYPE_NORMAL; - if (!ecore_x_window_prop_property_get(win, ECORE_X_ATOM_NET_WM_WINDOW_TYPE, - XA_ATOM, 32, &data, &num)) + num = ecore_x_window_prop_atom_list_get(win, ECORE_X_ATOM_NET_WM_WINDOW_TYPE, + &atoms); + if (num < 0) { + /* IMO this is not the place to mix netwm and icccm /kwo */ /* Check if WM_TRANSIENT_FOR is set */ if ((type) && (ecore_x_icccm_transient_for_get(win))) *type = ECORE_X_WINDOW_TYPE_DIALOG; return 1; } - atoms = (Ecore_X_Atom *) data; - if (type) { for (i = 0; i < num; ++i) @@ -1027,7 +1005,7 @@ } } - free(data); + free(atoms); return 1; } @@ -1066,15 +1044,14 @@ ecore_x_netwm_allowed_action_isset(Ecore_X_Window win, Ecore_X_Action action) { int num, i, ret = 0; - unsigned char *data; Ecore_X_Atom *atoms, atom; - if (!ecore_x_window_prop_property_get(win, ECORE_X_ATOM_NET_WM_WINDOW_TYPE, - XA_ATOM, 32, &data, &num)) + num = ecore_x_window_prop_atom_list_get(win, ECORE_X_ATOM_NET_WM_WINDOW_TYPE, + &atoms); + if (num <= 0) return ret; atom = _ecore_x_netwm_action_atom_get(action); - atoms = (Ecore_X_Atom *) data; for (i = 0; i < num; ++i) { @@ -1085,7 +1062,7 @@ } } - free(data); + free(atoms); return ret; } @@ -1093,66 +1070,13 @@ void ecore_x_netwm_allowed_action_set(Ecore_X_Window win, Ecore_X_Action action, int on) { - Ecore_X_Atom atom; - Ecore_X_Atom *oldset = NULL, *newset = NULL; - int i, j = 0, num = 0; - unsigned char *data = NULL; - unsigned char *old_data = NULL; + Ecore_X_Atom atom; atom = _ecore_x_netwm_action_atom_get(action); + on = (on) ? ECORE_X_PROP_LIST_ADD : ECORE_X_PROP_LIST_REMOVE; - ecore_x_window_prop_property_get(win, ECORE_X_ATOM_NET_WM_ALLOWED_ACTIONS, - XA_ATOM, 32, &old_data, &num); - oldset = (Ecore_X_Atom *) old_data; - - if (on) - { - for (i = 0; i < num; ++i) - { - if (oldset[i] == atom) - goto done; - } - - newset = calloc(num + 1, sizeof(Ecore_X_Atom)); - if (!newset) - goto done; - - data = (unsigned char *) newset; - for (i = 0; i < num; i++) - newset[i] = oldset[i]; - newset[num] = atom; - - ecore_x_window_prop_property_set(win, ECORE_X_ATOM_NET_WM_ALLOWED_ACTIONS, - XA_ATOM, 32, data, num + 1); - } - else - { - int has; - - has = 0; - for (i = 0; i < num; ++i) - { - if (oldset[i] == atom) - has = 1; - } - if (!has) - goto done; - - newset = calloc(num - 1, sizeof(Ecore_X_Atom)); - if (!newset) - goto done; - - data = (unsigned char *) newset; - for (i = 0; i < num; i++) - if (oldset[i] != atom) - newset[j++] = oldset[i]; - - ecore_x_window_prop_property_set(win, ECORE_X_ATOM_NET_WM_ALLOWED_ACTIONS, - XA_ATOM, 32, data, num - 1); - } - free(newset); -done: - free(oldset); + ecore_x_window_prop_atom_list_change(win, ECORE_X_ATOM_NET_WM_ALLOWED_ACTIONS, + atom, on); } void @@ -1388,7 +1312,8 @@ _ecore_x_window_prop_string_utf8_set(Ecore_X_Window win, Ecore_X_Atom atom, const char *str) { - _ATOM_SET_UTF8_STRING(win, atom, str); + XChangeProperty(_ecore_x_disp, win, atom, ECORE_X_ATOM_UTF8_STRING, 8, + PropModeReplace, (unsigned char *)str, strlen(str)); } /* =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_window_prop.c,v retrieving revision 1.78 retrieving revision 1.79 diff -u -3 -r1.78 -r1.79 --- ecore_x_window_prop.c 7 Sep 2005 23:21:42 -0000 1.78 +++ ecore_x_window_prop.c 5 Jan 2006 21:41:30 -0000 1.79 @@ -78,6 +78,316 @@ return num; } +/* + * Get CARD32 (array) property of any length + * + * If the property was successfully fetched the number of items stored in + * val is returned, otherwise -1 is returned. + * Note: Return value 0 means that the property exists but has no elements. + */ +int +ecore_x_window_prop_card32_list_get(Ecore_X_Window win, Ecore_X_Atom atom, + unsigned int **plst) +{ + unsigned char *prop_ret; + Atom type_ret; + unsigned long bytes_after, num_ret; + int format_ret; + unsigned int i, *val; + int num; + + prop_ret = NULL; + if (XGetWindowProperty(_ecore_x_disp, win, atom, 0, 0x7fffffff, False, + XA_CARDINAL, &type_ret, &format_ret, &num_ret, + &bytes_after, &prop_ret) != Success) + return -1; + + if (type_ret == None || num_ret == 0) + { + num = 0; + *plst = NULL; + } + else if (prop_ret && type_ret == XA_CARDINAL && format_ret == 32) + { + val = malloc(num_ret * sizeof(unsigned int)); + for (i = 0; i < num_ret; i++) + val[i] = ((unsigned long *)prop_ret)[i]; + num = num_ret; + *plst = val; + } + else + { + num = -1; + *plst = NULL; + } + if (prop_ret) + XFree(prop_ret); + + return num; +} + +/* + * Set X ID (array) property + */ +void +ecore_x_window_prop_xid_set(Ecore_X_Window win, Ecore_X_Atom atom, + Ecore_X_Atom type, Ecore_X_ID * lst, + unsigned int num) +{ +#if SIZEOF_INT == SIZEOF_LONG + XChangeProperty(_ecore_x_disp, win, atom, type, 32, PropModeReplace, + (unsigned char *)lst, num); +#else + unsigned long *pl; + unsigned int i; + + pl = malloc(num * sizeof(long)); + if (!pl) + return; + for (i = 0; i < num; i++) + pl[i] = lst[i]; + XChangeProperty(_ecore_x_disp, win, atom, type, 32, PropModeReplace, + (unsigned char *)pl, num); + free(pl); +#endif +} + +/* + * Get X ID (array) property + * + * At most len items are returned in val. + * If the property was successfully fetched the number of items stored in + * val is returned, otherwise -1 is returned. + * Note: Return value 0 means that the property exists but has no elements. + */ +int +ecore_x_window_prop_xid_get(Ecore_X_Window win, Ecore_X_Atom atom, + Ecore_X_Atom type, Ecore_X_ID * lst, + unsigned int len) +{ + unsigned char *prop_ret; + Atom type_ret; + unsigned long bytes_after, num_ret; + int format_ret; + int num; + unsigned i; + + prop_ret = NULL; + if (XGetWindowProperty(_ecore_x_disp, win, atom, 0, 0x7fffffff, False, + type, &type_ret, &format_ret, &num_ret, + &bytes_after, &prop_ret) != Success) + return -1; + + if (type_ret == None) + { + num = 0; + } + else if (prop_ret && type_ret == type && format_ret == 32) + { + if (num_ret < len) + len = num_ret; + for (i = 0; i < len; i++) + lst[i] = ((unsigned long *)prop_ret)[i]; + num = len; + } + else + { + num = -1; + } + if (prop_ret) + XFree(prop_ret); + + return num; +} + +/* + * Get X ID (array) property + * + * If the property was successfully fetched the number of items stored in + * val is returned, otherwise -1 is returned. + * The returned array must be freed with free(). + * Note: Return value 0 means that the property exists but has no elements. + */ +int +ecore_x_window_prop_xid_list_get(Ecore_X_Window win, Ecore_X_Atom atom, + Ecore_X_Atom type, Ecore_X_ID ** val) +{ + unsigned char *prop_ret; + Atom type_ret; + unsigned long bytes_after, num_ret; + int format_ret; + Ecore_X_Atom *alst; + int num; + unsigned i; + + *val = NULL; + prop_ret = NULL; + if (XGetWindowProperty(_ecore_x_disp, win, atom, 0, 0x7fffffff, False, + type, &type_ret, &format_ret, &num_ret, + &bytes_after, &prop_ret) != Success) + return -1; + + if (type_ret == None || num_ret == 0) + { + num = 0; + } + else if (prop_ret && type_ret == type && format_ret == 32) + { + alst = malloc(num_ret * sizeof(Ecore_X_ID)); + for (i = 0; i < num_ret; i++) + alst[i] = ((unsigned long *)prop_ret)[i]; + *val = alst; + num = num_ret; + } + else + { + num = -1; + } + if (prop_ret) + XFree(prop_ret); + + return num; +} + +/* + * Remove/add/toggle X ID list item. + */ +void +ecore_x_window_prop_xid_list_change(Ecore_X_Window win, Ecore_X_Atom atom, + Ecore_X_Atom type, Ecore_X_ID item, int op) +{ + Ecore_X_ID *lst; + int i, num; + + num = ecore_x_window_prop_xid_list_get(win, atom, type, &lst); + if (num < 0) + return; /* Error - assuming invalid window */ + + /* Is it there? */ + for (i = 0; i < num; i++) + { + if (lst[i] == item) + break; + } + + if (i < num) + { + /* Was in list */ + if (op == ECORE_X_PROP_LIST_ADD) + goto done; + /* Remove it */ + num--; + for (; i < num; i++) + lst[i] = lst[i + 1]; + } + else + { + /* Was not in list */ + if (op == ECORE_X_PROP_LIST_REMOVE) + goto done; + /* Add it */ + num++; + lst = realloc(lst, num * sizeof(Ecore_X_ID)); + lst[i] = item; + } + + ecore_x_window_prop_xid_set(win, atom, type, lst, num); + + done: + if (lst) + free(lst); +} + +/* + * Set Atom (array) property + */ +void +ecore_x_window_prop_atom_set(Ecore_X_Window win, Ecore_X_Atom atom, + Ecore_X_Atom * lst, unsigned int num) +{ + ecore_x_window_prop_xid_set(win, atom, XA_ATOM, lst, num); +} + +/* + * Get Atom (array) property + * + * At most len items are returned in val. + * If the property was successfully fetched the number of items stored in + * val is returned, otherwise -1 is returned. + * Note: Return value 0 means that the property exists but has no elements. + */ +int +ecore_x_window_prop_atom_get(Ecore_X_Window win, Ecore_X_Atom atom, + Ecore_X_Atom * lst, unsigned int len) +{ + return ecore_x_window_prop_xid_get(win, atom, XA_ATOM, lst, len); +} + +/* + * Get Atom (array) property + * + * If the property was successfully fetched the number of items stored in + * val is returned, otherwise -1 is returned. + * The returned array must be freed with free(). + * Note: Return value 0 means that the property exists but has no elements. + */ +int +ecore_x_window_prop_atom_list_get(Ecore_X_Window win, Ecore_X_Atom atom, + Ecore_X_Atom ** plst) +{ + return ecore_x_window_prop_xid_list_get(win, atom, XA_ATOM, plst); +} + +/* + * Remove/add/toggle atom list item. + */ +void +ecore_x_window_prop_atom_list_change(Ecore_X_Window win, Ecore_X_Atom atom, + Ecore_X_Atom item, int op) +{ + ecore_x_window_prop_xid_list_change(win, atom, XA_ATOM, item, op); +} + +/* + * Set Window (array) property + */ +void +ecore_x_window_prop_window_set(Ecore_X_Window win, Ecore_X_Atom atom, + Ecore_X_Window * lst, unsigned int num) +{ + ecore_x_window_prop_xid_set(win, atom, XA_WINDOW, lst, num); +} + +/* + * Get Window (array) property + * + * At most len items are returned in val. + * If the property was successfully fetched the number of items stored in + * val is returned, otherwise -1 is returned. + * Note: Return value 0 means that the property exists but has no elements. + */ +int +ecore_x_window_prop_window_get(Ecore_X_Window win, Ecore_X_Atom atom, + Ecore_X_Window * lst, unsigned int len) +{ + return ecore_x_window_prop_xid_get(win, atom, XA_WINDOW, lst, len); +} + +/* + * Get Window (array) property + * + * If the property was successfully fetched the number of items stored in + * val is returned, otherwise -1 is returned. + * The returned array must be freed with free(). + * Note: Return value 0 means that the property exists but has no elements. + */ +int +ecore_x_window_prop_window_list_get(Ecore_X_Window win, Ecore_X_Atom atom, + Ecore_X_Window ** plst) +{ + return ecore_x_window_prop_xid_list_get(win, atom, XA_WINDOW, plst); +} + /** * To be documented. * |
From: <enl...@li...> - 2006-01-06 21:56:11
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore/examples Modified Files: config_basic_example.c Log Message: Fix warnings. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/examples/config_basic_example.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- config_basic_example.c 6 Jan 2006 15:32:46 -0000 1.3 +++ config_basic_example.c 6 Jan 2006 21:56:05 -0000 1.4 @@ -2,6 +2,7 @@ */ #include <stdio.h> +#include <stdlib.h> #include <string.h> #include <Ecore_Config.h> |
From: <enl...@li...> - 2006-01-06 21:56:12
|
Enlightenment CVS committal Author : kwo Project : e17 Module : libs/ecore Dir : e17/libs/ecore/src/lib/ecore_x Modified Files: ecore_x.c ecore_x_dnd.c ecore_x_icccm.c ecore_x_mwm.c ecore_x_netwm.c Log Message: Fix warnings. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x.c,v retrieving revision 1.102 retrieving revision 1.103 diff -u -3 -r1.102 -r1.103 --- ecore_x.c 6 Jan 2006 20:22:09 -0000 1.102 +++ ecore_x.c 6 Jan 2006 21:56:05 -0000 1.103 @@ -38,29 +38,29 @@ Ecore_X_Window _ecore_x_private_win = 0; /* FIXME - These are duplicates after making ecore atoms public */ -Ecore_X_Atom ECORE_X_ATOM_FILE_NAME = 0; -Ecore_X_Atom ECORE_X_ATOM_STRING = 0; -Ecore_X_Atom ECORE_X_ATOM_TEXT = 0; -Ecore_X_Atom ECORE_X_ATOM_UTF8_STRING = 0; -Ecore_X_Atom ECORE_X_ATOM_COMPOUND_TEXT = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_FILE_NAME = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_STRING = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_TEXT = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_UTF8_STRING = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_COMPOUND_TEXT = 0; Ecore_X_Atom _ecore_x_atoms_wm_protocols[ECORE_X_WM_PROTOCOL_NUM]; /* * GNOME hints. */ -Ecore_X_Atom ECORE_X_ATOM_WIN_LAYER = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_WIN_LAYER = 0; /* * Other hints. */ -Ecore_X_Atom ECORE_X_ATOM_SELECTION_TARGETS; -Ecore_X_Atom ECORE_X_ATOM_SELECTION_PRIMARY = 0; -Ecore_X_Atom ECORE_X_ATOM_SELECTION_SECONDARY = 0; -Ecore_X_Atom ECORE_X_ATOM_SELECTION_CLIPBOARD = 0; -Ecore_X_Atom ECORE_X_ATOM_SELECTION_PROP_PRIMARY = 0; -Ecore_X_Atom ECORE_X_ATOM_SELECTION_PROP_SECONDARY = 0; -Ecore_X_Atom ECORE_X_ATOM_SELECTION_PROP_CLIPBOARD = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_SELECTION_TARGETS; +EAPI Ecore_X_Atom ECORE_X_ATOM_SELECTION_PRIMARY = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_SELECTION_SECONDARY = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_SELECTION_CLIPBOARD = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_SELECTION_PROP_PRIMARY = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_SELECTION_PROP_SECONDARY = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_SELECTION_PROP_CLIPBOARD = 0; EAPI int ECORE_X_EVENT_KEY_DOWN = 0; EAPI int ECORE_X_EVENT_KEY_UP = 0; @@ -1162,7 +1162,7 @@ fr = 0x00; fg = 0x00; fb = 0x00; br = 0xff; bg = 0xff; bb = 0xff; - pix = pixels; + pix = (unsigned int*)pixels; for (y = 0; y < h; y++) { for (x = 0; x < w; x++) @@ -1194,7 +1194,7 @@ } } - pix = pixels; + pix = (unsigned int*)pixels; for (y = 0; y < h; y++) { for (x = 0; x < w; x++) @@ -1232,7 +1232,7 @@ XPutImage(_ecore_x_disp, pmap, gc, xim, 0, 0, 0, 0, w, h); XFreeGC(_ecore_x_disp, gc); - pix = pixels; + pix = (unsigned int*)pixels; for (y = 0; y < h; y++) { for (x = 0; x < w; x++) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_dnd.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -3 -r1.28 -r1.29 --- ecore_x_dnd.c 6 Jan 2006 20:22:09 -0000 1.28 +++ ecore_x_dnd.c 6 Jan 2006 21:56:05 -0000 1.29 @@ -6,24 +6,24 @@ #include "Ecore_X.h" #include "Ecore_X_Atoms.h" -Ecore_X_Atom ECORE_X_ATOM_SELECTION_XDND = 0; -Ecore_X_Atom ECORE_X_ATOM_SELECTION_PROP_XDND = 0; -Ecore_X_Atom ECORE_X_ATOM_XDND_AWARE = 0; -Ecore_X_Atom ECORE_X_ATOM_XDND_ENTER = 0; -Ecore_X_Atom ECORE_X_ATOM_XDND_TYPE_LIST = 0; -Ecore_X_Atom ECORE_X_ATOM_XDND_POSITION = 0; -Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_COPY = 0; -Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_MOVE = 0; -Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_LINK = 0; -Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_PRIVATE = 0; -Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_ASK = 0; -Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_LIST = 0; -Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_DESCRIPTION = 0; -Ecore_X_Atom ECORE_X_ATOM_XDND_PROXY = 0; -Ecore_X_Atom ECORE_X_ATOM_XDND_STATUS = 0; -Ecore_X_Atom ECORE_X_ATOM_XDND_DROP = 0; -Ecore_X_Atom ECORE_X_ATOM_XDND_FINISHED = 0; -Ecore_X_Atom ECORE_X_ATOM_XDND_LEAVE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_SELECTION_XDND = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_SELECTION_PROP_XDND = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_XDND_AWARE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_XDND_ENTER = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_XDND_TYPE_LIST = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_XDND_POSITION = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_COPY = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_MOVE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_LINK = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_PRIVATE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_ASK = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_LIST = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_XDND_ACTION_DESCRIPTION = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_XDND_PROXY = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_XDND_STATUS = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_XDND_DROP = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_XDND_FINISHED = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_XDND_LEAVE = 0; /* Xdnd atoms that need to be exposed to the application interface */ EAPI Ecore_X_Atom ECORE_X_DND_ACTION_COPY = 0; =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_icccm.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -3 -r1.40 -r1.41 --- ecore_x_icccm.c 6 Jan 2006 20:22:09 -0000 1.40 +++ ecore_x_icccm.c 6 Jan 2006 21:56:05 -0000 1.41 @@ -13,23 +13,23 @@ #include "Ecore_X_Atoms.h" /* Atoms */ -Ecore_X_Atom ECORE_X_ATOM_WM_STATE = 0; -Ecore_X_Atom ECORE_X_ATOM_WM_DELETE_WINDOW = 0; -Ecore_X_Atom ECORE_X_ATOM_WM_TAKE_FOCUS = 0; -Ecore_X_Atom ECORE_X_ATOM_WM_PROTOCOLS = 0; -Ecore_X_Atom ECORE_X_ATOM_WM_CLASS = 0; -Ecore_X_Atom ECORE_X_ATOM_WM_NAME = 0; -Ecore_X_Atom ECORE_X_ATOM_WM_COMMAND = 0; -Ecore_X_Atom ECORE_X_ATOM_WM_ICON_NAME = 0; -Ecore_X_Atom ECORE_X_ATOM_WM_CLIENT_MACHINE = 0; -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; +EAPI Ecore_X_Atom ECORE_X_ATOM_WM_STATE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_WM_DELETE_WINDOW = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_WM_TAKE_FOCUS = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_WM_PROTOCOLS = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_WM_CLASS = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_WM_NAME = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_WM_COMMAND = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_WM_ICON_NAME = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_WM_CLIENT_MACHINE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_WM_CHANGE_STATE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_WM_COLORMAP_WINDOWS = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_WM_WINDOW_ROLE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_WM_HINTS = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_WM_NORMAL_HINTS = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_WM_CLIENT_LEADER = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_WM_TRANSIENT_FOR = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_WM_SAVE_YOURSELF = 0; EAPI void ecore_x_icccm_init(void) =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_mwm.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -3 -r1.5 -r1.6 --- ecore_x_mwm.c 6 Jan 2006 20:22:09 -0000 1.5 +++ ecore_x_mwm.c 6 Jan 2006 21:56:05 -0000 1.6 @@ -25,7 +25,7 @@ MWMHints; /* Atoms */ -Ecore_X_Atom ECORE_X_ATOM_MOTIF_WM_HINTS = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_MOTIF_WM_HINTS = 0; EAPI int ecore_x_mwm_hints_get(Ecore_X_Window win, =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_x/ecore_x_netwm.c,v retrieving revision 1.49 retrieving revision 1.50 diff -u -3 -r1.49 -r1.50 --- ecore_x_netwm.c 6 Jan 2006 20:22:09 -0000 1.49 +++ ecore_x_netwm.c 6 Jan 2006 21:56:05 -0000 1.50 @@ -39,8 +39,10 @@ static void _ecore_x_window_prop_string_utf8_set(Ecore_X_Window win, Ecore_X_Atom atom, const char *str); static char *_ecore_x_window_prop_string_utf8_get(Ecore_X_Window win, Ecore_X_Atom atom); +#if 0 /* Unused */ static int _ecore_x_netwm_startup_info_process(Ecore_X_Startup_Info *info); static int _ecore_x_netwm_startup_info_parse(Ecore_X_Startup_Info *info, char *data); +#endif static void _ecore_x_netwm_startup_info_free(void *data); /* @@ -62,100 +64,100 @@ /* * Root window NetWM hints. */ -Ecore_X_Atom ECORE_X_ATOM_NET_SUPPORTED = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_SUPPORTED = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_SUPPORTING_WM_CHECK = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_NUMBER_OF_DESKTOPS = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_VIRTUAL_ROOTS = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_DESKTOP_NAMES = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_DESKTOP_GEOMETRY = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_DESKTOP_VIEWPORT = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_DESKTOP_LAYOUT = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WORKAREA = 0; - -Ecore_X_Atom ECORE_X_ATOM_NET_CURRENT_DESKTOP = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_SHOWING_DESKTOP = 0; - -Ecore_X_Atom ECORE_X_ATOM_NET_CLIENT_LIST = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_CLIENT_LIST_STACKING = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_ACTIVE_WINDOW = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_NUMBER_OF_DESKTOPS = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_VIRTUAL_ROOTS = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_DESKTOP_NAMES = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_DESKTOP_GEOMETRY = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_DESKTOP_VIEWPORT = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_DESKTOP_LAYOUT = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WORKAREA = 0; + +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_CURRENT_DESKTOP = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_SHOWING_DESKTOP = 0; + +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_CLIENT_LIST = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_CLIENT_LIST_STACKING = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_ACTIVE_WINDOW = 0; /* * Client message types. */ -Ecore_X_Atom ECORE_X_ATOM_NET_CLOSE_WINDOW = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_MOVERESIZE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_CLOSE_WINDOW = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_MOVERESIZE = 0; /* * Pagers */ -Ecore_X_Atom ECORE_X_ATOM_NET_MOVERESIZE_WINDOW = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_RESTACK_WINDOW = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_MOVERESIZE_WINDOW = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_RESTACK_WINDOW = 0; /* * Application window specific NetWM hints. */ -Ecore_X_Atom ECORE_X_ATOM_NET_WM_NAME = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_STARTUP_ID = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_VISIBLE_NAME = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_ICON_NAME = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_VISIBLE_ICON_NAME = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_DESKTOP = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_STRUT = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_STRUT_PARTIAL = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_ICON_GEOMETRY = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_ICON = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_PID = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_HANDLED_ICONS = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_USER_TIME = 0; - -Ecore_X_Atom ECORE_X_ATOM_NET_WM_ALLOWED_ACTIONS = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_MOVE = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_RESIZE = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_MINIMIZE = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_SHADE = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_STICK = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_MAXIMIZE_HORZ = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_MAXIMIZE_VERT = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_FULLSCREEN = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_CHANGE_DESKTOP = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_CLOSE = 0; - -Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DESKTOP = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DOCK = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE_TOOLBAR = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE_MENU = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE_UTILITY = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE_SPLASH = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DIALOG = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE_NORMAL = 0; - -Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_MODAL = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_STICKY = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_VERT = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_HORZ = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_SHADED = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_SKIP_TASKBAR = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_SKIP_PAGER = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_HIDDEN = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_FULLSCREEN = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_ABOVE = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_BELOW = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_DEMANDS_ATTENTION = 0; - -Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_OPACITY = 0; - -Ecore_X_Atom ECORE_X_ATOM_NET_FRAME_EXTENTS = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_REQUEST_FRAME_EXTENTS = 0; - -Ecore_X_Atom ECORE_X_ATOM_NET_WM_PING = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_SYNC_REQUEST = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_WM_SYNC_REQUEST_COUNTER = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_NAME = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_STARTUP_ID = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_VISIBLE_NAME = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_ICON_NAME = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_VISIBLE_ICON_NAME = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_DESKTOP = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_STRUT = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_STRUT_PARTIAL = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_ICON_GEOMETRY = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_ICON = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_PID = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_HANDLED_ICONS = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_USER_TIME = 0; + +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_ALLOWED_ACTIONS = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_MOVE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_RESIZE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_MINIMIZE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_SHADE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_STICK = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_MAXIMIZE_HORZ = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_MAXIMIZE_VERT = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_FULLSCREEN = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_CHANGE_DESKTOP = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_ACTION_CLOSE = 0; + +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DESKTOP = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DOCK = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE_TOOLBAR = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE_MENU = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE_UTILITY = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE_SPLASH = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE_DIALOG = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_TYPE_NORMAL = 0; + +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_MODAL = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_STICKY = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_VERT = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_MAXIMIZED_HORZ = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_SHADED = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_SKIP_TASKBAR = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_SKIP_PAGER = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_HIDDEN = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_FULLSCREEN = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_ABOVE = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_BELOW = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_STATE_DEMANDS_ATTENTION = 0; + +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_WINDOW_OPACITY = 0; + +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_FRAME_EXTENTS = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_REQUEST_FRAME_EXTENTS = 0; + +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_PING = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_SYNC_REQUEST = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_WM_SYNC_REQUEST_COUNTER = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_STARTUP_INFO_BEGIN = 0; -Ecore_X_Atom ECORE_X_ATOM_NET_STARTUP_INFO = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_STARTUP_INFO_BEGIN = 0; +EAPI Ecore_X_Atom ECORE_X_ATOM_NET_STARTUP_INFO = 0; EAPI void ecore_x_netwm_init(void) @@ -1348,6 +1350,7 @@ return str; } +#if 0 /* Unused */ /* * Process startup info */ @@ -1570,6 +1573,7 @@ if (!info->id) return 0; return 1; } +#endif /* * Free startup info struct |