6 #define DEBUG_STACK_RING 1
7 #ifdef DEBUG_STACK_RING
8 void verify_stack_ring_consistency(void);
10 void remove_window_from_stack_ring(FvwmWindow
*t
);
11 void add_window_to_stack_ring_after(FvwmWindow
*t
, FvwmWindow
*add_after_win
);
12 FvwmWindow
*get_next_window_in_stack_ring(const FvwmWindow
*t
);
13 FvwmWindow
*get_prev_window_in_stack_ring(const FvwmWindow
*t
);
14 FvwmWindow
*get_transientfor_fvwmwindow(const FvwmWindow
*t
);
15 Bool
position_new_window_in_stack_ring(FvwmWindow
*t
, Bool do_lower
);
16 void RaiseWindow(FvwmWindow
*t
, Bool is_client_request
);
17 void LowerWindow(FvwmWindow
*t
, Bool is_client_request
);
18 Bool
HandleUnusualStackmodes(
19 unsigned int stack_mode
, FvwmWindow
*r
, Window rw
, FvwmWindow
*sib
,
21 void BroadcastRestackAllWindows(void);
22 void BroadcastRestackThisWindow(FvwmWindow
*t
);
24 int compare_window_layers(FvwmWindow
*t
, FvwmWindow
*s
);
25 void set_default_layer(FvwmWindow
*t
, int layer
);
26 void set_layer(FvwmWindow
*t
, int layer
);
27 int get_layer(FvwmWindow
*t
);
28 void new_layer(FvwmWindow
*t
, int layer
);
30 void init_stack_and_layers(void);
31 Bool
is_on_top_of_layer(FvwmWindow
*t
);
32 Bool
is_on_top_of_layer_and_above_unmanaged(FvwmWindow
*t
);
34 /* This function recursively finds the transients of the window t and sets
35 * their is_in_transient_subtree flag. If a layer is given, only windows in
36 * this layer are checked. If the layer is < 0, all windows are considered. */
39 #define MARK_RESTACK 2
41 #define MARK_ALL_LAYERS -1
42 void mark_transient_subtree(
43 FvwmWindow
*t
, int layer
, int mark_mode
, Bool do_ignore_icons
,
44 Bool use_window_group_hint
);