libxdo
|
00001 #ifndef _XDOTOOL_H_ 00002 #define _XDOTOOL_H_ 00003 00004 /* TODO(sissel): use proper printf format depending on the storage 00005 * size of Window (could be 4 or 8 bytes depending on platform */ 00006 #define window_print(window) (printf("%ld\n", window)) 00007 #define window_each(context, window_arg, block) \ 00008 { \ 00009 Window *windows; \ 00010 int nwindows; \ 00011 window_list(context, window_arg, &windows, &nwindows, False); \ 00012 int w_index;\ 00013 for (w_index = 0; w_index < nwindows; w_index++) { \ 00014 Window window = windows[w_index]; \ 00015 { \ 00016 block \ 00017 } \ 00018 } \ 00019 } /* end define window_each */ 00020 00021 00022 00023 typedef struct context { 00024 xdo_t *xdo; 00025 const char *prog; 00026 int argc; 00027 char **argv; 00028 int debug; 00029 00030 /* Window stack */ 00031 Window *windows; 00032 int nwindows; 00033 Window window_placeholder[1]; 00034 00035 /* Last known mouse position */ 00036 unsigned int last_mouse_x; 00037 unsigned int last_mouse_y; 00038 int last_mouse_screen; 00039 int have_last_mouse; 00040 } context_t; 00041 00042 int xdotool_main(int argc, char **argv); 00043 int cmd_exec(context_t *context); 00044 int cmd_sleep(context_t *context); 00045 int cmd_behave(context_t *context); 00046 int cmd_behave_screen_edge(context_t *context); 00047 int cmd_click(context_t *context); 00048 int cmd_getactivewindow(context_t *context); 00049 int cmd_getmouselocation(context_t *context); 00050 int cmd_getwindowfocus(context_t *context); 00051 int cmd_getwindowname(context_t *context); 00052 int cmd_getwindowpid(context_t *context); 00053 int cmd_getwindowgeometry(context_t *context); 00054 int cmd_help(context_t *context); 00055 int cmd_key(context_t *context); 00056 int cmd_mousedown(context_t *context); 00057 int cmd_mousemove(context_t *context); 00058 int cmd_mousemove_relative(context_t *context); 00059 int cmd_mouseup(context_t *context); 00060 int cmd_search(context_t *context); 00061 int cmd_set_window(context_t *context); 00062 int cmd_type(context_t *context); 00063 int cmd_version(context_t *context); 00064 int cmd_window_select(context_t *context); 00065 int cmd_windowactivate(context_t *context); 00066 int cmd_windowfocus(context_t *context); 00067 int cmd_windowkill(context_t *context); 00068 int cmd_windowmap(context_t *context); 00069 int cmd_windowminimize(context_t *context); 00070 int cmd_windowmove(context_t *context); 00071 int cmd_windowraise(context_t *context); 00072 int cmd_windowreparent(context_t *context); 00073 int cmd_windowsize(context_t *context); 00074 int cmd_windowunmap(context_t *context); 00075 /* pager-like commands */ 00076 int cmd_set_num_desktops(context_t *context); 00077 int cmd_get_num_desktops(context_t *context); 00078 int cmd_set_desktop(context_t *context); 00079 int cmd_get_desktop(context_t *context); 00080 int cmd_set_desktop_for_window(context_t *context); 00081 int cmd_get_desktop_for_window(context_t *context); 00082 int cmd_set_desktop_viewport(context_t *context); 00083 int cmd_get_desktop_viewport(context_t *context); 00084 int cmd_get_display_geometry(context_t *context); 00085 00086 #endif /* _XDOTOOL_H_ */