1 #ifndef _xcnphandler_h_
2 #define _xcnphandler_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>
14 int xcnp_init(void *data);
17 static int _init_atoms();
18 static void _set_cbhmwin_prop();
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();
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);
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);
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"
46 static Ecore_X_Display* g_disp = NULL;
47 static Ecore_X_Window g_rootwin = None;
48 static Ecore_X_Window g_evtwin = None;
50 /* all atoms are global variables */
51 static Atom atomPrimary;
52 static Atom atomSecondary;
53 //static Atom atomTarget;
54 static Atom atomClipboard;
56 static Atom atomCBOut;
58 static Atom atomTargets;
59 static Atom atomUTF8String;
60 static Atom atomHtmltext;
62 #endif //_xcnphandler_h_