change global variable position
[framework/uifw/cbhm.git] / src / xcnphandler.h
1 #ifndef _xcnphandler_h_
2 #define _xcnphandler_h_
3
4 #include <X11/Xlib.h>
5 #include <X11/Xatom.h>
6 #include <X11/extensions/XInput.h>
7 #include <X11/extensions/XInput2.h>
8 #include <X11/extensions/XI2.h>
9 #include <X11/extensions/XIproto.h>
10
11 #include <Ecore_X.h>
12 #include <utilX.h>
13
14 int xcnp_init(void *data);
15 int xcnp_shutdown();
16
17 static int _init_atoms();
18 static void _set_cbhmwin_prop();
19
20 int increment_current_history_position();
21 int get_current_history_position();
22 int add_to_storage_buffer(void *data, char *src, int len);
23 int print_storage_buffer();
24
25 int send_convert_selection();
26 int set_clipboard_manager_owner();
27 int set_selection_owner();
28 int get_selection_content(void *data);
29 int processing_selection_request(Ecore_X_Event_Selection_Request *ev);
30
31 void set_transient_for(void *data);
32 void unset_transient_for(void *data);
33
34 static int _cbhm_init(void *data);
35 static void _cbhm_fini();
36 static int _xsel_clear_cb(void *data, int ev_type, void *event);
37 static int _xsel_request_cb(void *data, int ev_type, void *event);
38 static int _xsel_notify_cb(void *data, int ev_type, void *event);
39 static int _xclient_msg_cb(void *data, int ev_type, void *event);
40 static int _xfocus_out_cb(void *data, int ev_type, void *event);
41 static Ecore_X_Window get_selection_secondary_target_win();
42 int set_selection_secondary_data(char *sdata);
43         
44 #define ATOM_CLIPBOARD_NAME "CLIPBOARD"
45 #define ATOM_CLIPBOARD_MANAGER_NAME "CLIPBOARD_MANAGER"
46 #define ATOM_CBHM_OUTBUF "CBHM_BUF"
47 #define CLIPBOARD_MANAGER_WINDOW_TITLE_STRING "X11_CLIPBOARD_HISTORY_MANAGER"
48
49 static Ecore_X_Display* g_disp = NULL;
50 static Ecore_X_Window g_rootwin = None;
51 static Ecore_X_Window g_evtwin = None;
52
53 /* all atoms are global variables */
54 static Atom atomPrimary;
55 static Atom atomSecondary;
56 //static Atom atomTarget;
57 static Atom atomClipboard;
58 static Atom atomCBHM;
59 static Atom atomCBOut;
60 static Atom atomInc;
61 static Atom atomTargets;
62 static Atom atomUTF8String;
63 static Atom atomHtmltext;
64
65 #endif //_xcnphandler_h_
66