Close fd in CMD_Exec
[fvwm.git] / fvwm / focus.h
blob296a13430a207f6213d528373a8e176fdaade9b6
1 /* -*-c-*- */
3 #ifndef FOCUS_H
4 #define FOCUS_H
6 /* ---------------------------- included header files ---------------------- */
8 /* ---------------------------- global definitions ------------------------- */
10 /* ---------------------------- global macros ------------------------------ */
12 #define FOCUS_SET(w) XSetInputFocus(dpy, w, RevertToParent, CurrentTime)
13 #define FOCUS_RESET() \
14 XSetInputFocus(dpy, PointerRoot, RevertToPointerRoot, CurrentTime)
16 #define SetFocusWindow(a, b, c) _SetFocusWindow(a, b, c, False);
17 #define SetFocusWindowClientEntered(a, b, c) _SetFocusWindow(a, b, c, True);
18 #define ReturnFocusWindow(a) _ReturnFocusWindow(a);
19 #define DeleteFocus(a) _DeleteFocus(a);
20 #define ForceDeleteFocus() _ForceDeleteFocus();
23 /* ---------------------------- type definitions --------------------------- */
25 /* ---------------------------- forward declarations ----------------------- */
27 /* ---------------------------- exported variables (globals) --------------- */
29 /* ---------------------------- interface functions ------------------------ */
33 * Sets/deletes the input focus to the indicated window.
36 void _SetFocusWindow(
37 FvwmWindow *fw, Bool do_allow_force_broadcast,
38 fpol_set_focus_by_t set_by, Bool client_entered);
39 void _ReturnFocusWindow(FvwmWindow *fw);
40 void _DeleteFocus(Bool do_allow_force_broadcast);
41 void _ForceDeleteFocus(void);
42 void restore_focus_after_unmap(
43 const FvwmWindow *fw, Bool do_skip_marked_transients);
46 * These need documentation
48 Bool IsLastFocusSetByMouse(void);
49 void focus_grab_buttons(FvwmWindow *fw);
50 void focus_grab_buttons_client_entered(FvwmWindow *fw);
51 void focus_grab_buttons_on_layer(int layer);
52 void focus_grab_buttons_all(void);
53 void focus_grab_buttons_on_pointer_window(void);
54 Bool focus_does_accept_input_focus(const FvwmWindow *fw);
55 Bool focus_is_focused(const FvwmWindow *fw);
56 Bool focus_query_click_to_raise(
57 FvwmWindow *fw, Bool is_focused, int context);
58 Bool focus_query_click_to_focus(
59 FvwmWindow *fw, int context);
60 Bool focus_query_open_grab_focus(FvwmWindow *fw, FvwmWindow *focus_win);
61 Bool focus_query_close_release_focus(const FvwmWindow *fw);
62 FvwmWindow *focus_get_transientfor_fwin(const FvwmWindow *fw);
64 FvwmWindow *get_focus_window(void);
65 void set_focus_window(FvwmWindow *fw);
66 FvwmWindow *get_last_screen_focus_window(void);
67 void set_last_screen_focus_window(FvwmWindow *fw);
68 void update_last_screen_focus_window(FvwmWindow *fw);
69 void set_focus_model(FvwmWindow *fw);
70 void focus_force_refresh_focus(const FvwmWindow *fw);
71 void refresh_focus(const FvwmWindow *fw);
73 #endif /* FOCUS_H */