2003-09-23 01:09:32 -07:00
|
|
|
#ifndef _ECORE_X_PRIVATE_H
|
|
|
|
#define _ECORE_X_PRIVATE_H
|
|
|
|
|
2003-10-12 10:55:28 -07:00
|
|
|
#include <sys/param.h>
|
|
|
|
#ifndef MAXHOSTNAMELEN
|
|
|
|
#define MAXHOSTNAMELEN 256
|
|
|
|
#endif
|
|
|
|
|
2003-09-23 01:09:32 -07:00
|
|
|
#define XK_MISCELLANY 1
|
|
|
|
#include <X11/Xlib.h>
|
|
|
|
#include <X11/Xproto.h>
|
|
|
|
#include <X11/Xutil.h>
|
|
|
|
#include <X11/Xatom.h>
|
|
|
|
#include <X11/Xresource.h>
|
|
|
|
#include <X11/keysymdef.h>
|
|
|
|
#include <X11/extensions/XShm.h>
|
|
|
|
#include <X11/extensions/shape.h>
|
|
|
|
|
|
|
|
|
|
|
|
/* FIXME: this is for simulation only */
|
|
|
|
#include "Ecore_Job.h"
|
|
|
|
|
|
|
|
typedef struct _Ecore_X_Reply Ecore_X_Reply;
|
|
|
|
|
|
|
|
struct _Ecore_X_Reply
|
|
|
|
{
|
|
|
|
/* FIXME: this is for simulation only */
|
|
|
|
Ecore_Job *job;
|
|
|
|
|
|
|
|
void *reply_data;
|
|
|
|
void (*reply_data_free) (void *reply_data);
|
|
|
|
|
|
|
|
void (*func) (void *data, Ecore_X_Reply *reply, void *reply_data);
|
|
|
|
void *data;
|
|
|
|
};
|
|
|
|
|
2004-01-05 19:42:05 -08:00
|
|
|
typedef struct _Ecore_X_Selection_Data Ecore_X_Selection_Data;
|
|
|
|
|
|
|
|
struct _Ecore_X_Selection_Data
|
|
|
|
{
|
|
|
|
Window win;
|
|
|
|
Atom selection;
|
|
|
|
char *data;
|
|
|
|
int length;
|
2004-01-10 13:01:18 -08:00
|
|
|
Time time;
|
2004-01-05 19:42:05 -08:00
|
|
|
};
|
|
|
|
|
2004-01-16 12:41:45 -08:00
|
|
|
typedef struct _Ecore_X_Selection_Converter Ecore_X_Selection_Converter;
|
|
|
|
|
|
|
|
struct _Ecore_X_Selection_Converter
|
|
|
|
{
|
|
|
|
Atom target;
|
|
|
|
int (*convert)(char *target, void *data, int size,
|
|
|
|
void **data_ret, int *size_ret);
|
|
|
|
struct _Ecore_X_Selection_Converter *next;
|
|
|
|
};
|
|
|
|
|
2003-09-23 15:33:10 -07:00
|
|
|
typedef enum _Ecore_X_WM_Protocol {
|
|
|
|
/**
|
|
|
|
* If enabled the window manager will be asked to send a
|
|
|
|
* delete message instead of just closing (destroying) the window.
|
|
|
|
*/
|
|
|
|
ECORE_X_WM_PROTOCOL_DELETE_REQUEST,
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 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_NUM
|
|
|
|
} Ecore_X_WM_Protocol;
|
|
|
|
|
2003-09-23 01:09:32 -07:00
|
|
|
extern Display *_ecore_x_disp;
|
|
|
|
extern double _ecore_x_double_click_time;
|
|
|
|
extern Time _ecore_x_event_last_time;
|
|
|
|
extern Window _ecore_x_event_last_win;
|
|
|
|
extern int _ecore_x_event_last_root_x;
|
|
|
|
extern int _ecore_x_event_last_root_y;
|
|
|
|
|
|
|
|
extern Atom _ecore_x_atom_wm_delete_window;
|
2003-09-23 15:33:10 -07:00
|
|
|
extern Atom _ecore_x_atom_wm_take_focus;
|
2003-09-23 01:09:32 -07:00
|
|
|
extern Atom _ecore_x_atom_wm_protocols;
|
|
|
|
extern Atom _ecore_x_atom_wm_class;
|
|
|
|
extern Atom _ecore_x_atom_wm_name;
|
2004-01-14 15:08:58 -08:00
|
|
|
extern Atom _ecore_x_atom_wm_command;
|
2003-10-11 23:25:25 -07:00
|
|
|
extern Atom _ecore_x_atom_wm_icon_name;
|
2003-10-12 10:35:35 -07:00
|
|
|
extern Atom _ecore_x_atom_wm_client_machine;
|
2003-09-23 01:09:32 -07:00
|
|
|
extern Atom _ecore_x_atom_motif_wm_hints;
|
|
|
|
extern Atom _ecore_x_atom_win_layer;
|
2003-09-23 15:33:10 -07:00
|
|
|
extern Atom _ecore_x_atom_net_wm_desktop;
|
|
|
|
extern Atom _ecore_x_atom_net_current_desktop;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_state;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_state_above;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_state_below;
|
2003-10-11 15:14:22 -07:00
|
|
|
|
|
|
|
extern Atom _ecore_x_atom_net_wm_name;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_visible_name;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_icon_name;
|
2003-10-11 23:55:40 -07:00
|
|
|
extern Atom _ecore_x_atom_net_wm_visible_icon_name;
|
2003-10-11 15:14:22 -07:00
|
|
|
extern Atom _ecore_x_atom_net_wm_desktop;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_window_type;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_state;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_allowed_actions;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_strut;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_strut_partial;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_icon_geometry;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_icon;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_pid;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_handle_icons;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_user_time;
|
2003-09-23 15:33:10 -07:00
|
|
|
|
2003-10-14 12:11:35 -07:00
|
|
|
extern Atom _ecore_x_atom_net_wm_window_type_desktop;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_window_type_dock;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_window_type_toolbar;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_window_type_menu;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_window_type_utility;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_window_type_splash;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_window_type_dialog;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_window_type_normal;
|
|
|
|
|
2004-01-05 19:42:05 -08:00
|
|
|
extern Atom _ecore_x_atom_net_wm_window_opacity;
|
|
|
|
|
2003-10-14 12:11:35 -07:00
|
|
|
extern Atom _ecore_x_atom_net_wm_state_modal;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_state_sticky;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_state_maximized_vert;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_state_maximized_horz;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_state_shaded;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_state_skip_taskbar;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_state_skip_pager;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_state_hidden;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_state_fullscreen;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_state_above;
|
|
|
|
extern Atom _ecore_x_atom_net_wm_state_below;
|
|
|
|
|
2003-09-23 15:33:10 -07:00
|
|
|
extern Atom _ecore_x_atoms_wm_protocols[ECORE_X_WM_PROTOCOL_NUM];
|
2003-09-23 01:09:32 -07:00
|
|
|
|
2003-10-11 22:34:47 -07:00
|
|
|
extern Atom _ecore_x_atom_utf8_string;
|
2003-11-24 22:10:18 -08:00
|
|
|
extern Atom _ecore_x_atom_file_name;
|
|
|
|
extern Atom _ecore_x_atom_string;
|
|
|
|
extern Atom _ecore_x_atom_text;
|
2004-01-16 14:34:02 -08:00
|
|
|
extern Atom _ecore_x_atom_compound_text;
|
2003-10-11 22:34:47 -07:00
|
|
|
|
2003-11-23 22:41:43 -08:00
|
|
|
extern Atom _ecore_x_atom_selection_primary;
|
|
|
|
extern Atom _ecore_x_atom_selection_secondary;
|
|
|
|
extern Atom _ecore_x_atom_selection_clipboard;
|
2003-11-24 22:10:18 -08:00
|
|
|
extern Atom _ecore_x_atom_selection_prop_primary;
|
|
|
|
extern Atom _ecore_x_atom_selection_prop_secondary;
|
|
|
|
extern Atom _ecore_x_atom_selection_prop_clipboard;
|
2003-11-23 22:41:43 -08:00
|
|
|
|
2003-09-23 01:09:32 -07:00
|
|
|
void _ecore_x_error_handler_init(void);
|
|
|
|
void _ecore_x_event_handle_key_press(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_key_release(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_button_press(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_button_release(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_motion_notify(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_enter_notify(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_leave_notify(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_focus_in(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_focus_out(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_keymap_notify(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_expose(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_graphics_expose(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_visibility_notify(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_create_notify(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_destroy_notify(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_unmap_notify(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_map_notify(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_map_request(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_reparent_notify(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_configure_notify(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_configure_request(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_gravity_notify(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_resize_request(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_circulate_notify(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_circulate_request(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_property_notify(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_selection_clear(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_selection_request(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_selection_notify(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_colormap_notify(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_client_message(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_mapping_notify(XEvent *xevent);
|
|
|
|
void _ecore_x_event_handle_shape_change(XEvent *xevent);
|
|
|
|
|
2004-01-16 12:41:45 -08:00
|
|
|
void _ecore_x_selection_data_initialize(void);
|
2004-01-10 13:01:18 -08:00
|
|
|
void _ecore_x_selection_request_data_set(Ecore_X_Selection_Data data);
|
|
|
|
Ecore_X_Selection_Data * _ecore_x_selection_get(Atom selection);
|
|
|
|
int _ecore_x_selection_set(Window w, char *data, int len, Atom selection);
|
|
|
|
|
2003-09-23 01:09:32 -07:00
|
|
|
#endif
|