6fedb2bec923853ccaefe4f3e036375888e3408d
[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 static int _cbhm_init(void *data);
32 static void _cbhm_fini();
33 static int _xsel_clear_cb(void *data, int ev_type, void *event);
34 static int _xsel_request_cb(void *data, int ev_type, void *event);
35 static int _xsel_notify_cb(void *data, int ev_type, void *event);
36 static int _xclient_msg_cb(void *data, int ev_type, void *event);
37 static int _xfocus_out_cb(void *data, int ev_type, void *event);
38 static Ecore_X_Window get_selection_secondary_target_win();
39 int set_selection_secondary_data(char *sdata);
40         
41 #define ATOM_CLIPBOARD_NAME "CLIPBOARD"
42 #define ATOM_CLIPBOARD_MANAGER_NAME "CLIPBOARD_MANAGER"
43 #define ATOM_CBHM_OUTBUF "CBHM_BUF"
44 #define CLIPBOARD_MANAGER_WINDOW_TITLE_STRING "X11_CLIPBOARD_HISTORY_MANAGER"
45
46 static Ecore_X_Display* g_disp = NULL;
47 static Ecore_X_Window g_rootwin = None;
48 static Ecore_X_Window g_evtwin = None;
49
50 /* all atoms are global variables */
51 static Atom atomPrimary;
52 static Atom atomSecondary;
53 //static Atom atomTarget;
54 static Atom atomClipboard;
55 static Atom atomCBHM;
56 static Atom atomCBOut;
57 static Atom atomInc;
58 static Atom atomTargets;
59 static Atom atomUTF8String;
60 static Atom atomHtmltext;
61
62 #endif //_xcnphandler_h_
63