]> git.sur5r.net Git - i3/i3/blob - include/output.h
Merge branch 'release-4.16.1'
[i3/i3] / include / output.h
1 /*
2  * vim:ts=4:sw=4:expandtab
3  *
4  * i3 - an improved dynamic tiling window manager
5  * © 2009 Michael Stapelberg and contributors (see also: LICENSE)
6  *
7  * output.c: Output (monitor) related functions.
8  *
9  */
10 #pragma once
11
12 #include <config.h>
13
14 /**
15  * Returns the output container below the given output container.
16  *
17  */
18 Con *output_get_content(Con *output);
19
20 /**
21  * Returns an 'output' corresponding to one of left/right/down/up or a specific
22  * output name.
23  *
24  */
25 Output *get_output_from_string(Output *current_output, const char *output_str);
26
27 /**
28  * Retrieves the primary name of an output.
29  *
30  */
31 char *output_primary_name(Output *output);
32
33 /**
34  * Returns the output for the given con.
35  *
36  */
37 Output *get_output_for_con(Con *con);
38
39 /**
40  * Iterates over all outputs and pushes sticky windows to the currently visible
41  * workspace on that output.
42  *
43  * old_focus is used to determine if a sticky window is going to be focused.
44  * old_focus might be different than the currently focused container because the
45  * caller might need to temporarily change the focus and then call
46  * output_push_sticky_windows. For example, workspace_show needs to set focus to
47  * one of its descendants first, then call output_push_sticky_windows that
48  * should focus a sticky window if it was the focused in the previous workspace.
49  *
50  */
51 void output_push_sticky_windows(Con *old_focus);