]> git.sur5r.net Git - i3/i3/blob - include/scratchpad.h
Merge branch 'release-4.16.1'
[i3/i3] / include / scratchpad.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  * scratchpad.c: Scratchpad functions (TODO: more description)
8  *
9  */
10 #pragma once
11
12 #include <config.h>
13
14 /**
15  * Moves the specified window to the __i3_scratch workspace, making it floating
16  * and setting the appropriate scratchpad_state.
17  *
18  * Gets called upon the command 'move scratchpad'.
19  *
20  */
21 void scratchpad_move(Con *con);
22
23 /**
24  * Either shows the top-most scratchpad window (con == NULL) or shows the
25  * specified con (if it is scratchpad window).
26  *
27  * When called with con == NULL and the currently focused window is a
28  * scratchpad window, this serves as a shortcut to hide it again (so the user
29  * can press the same key to quickly look something up).
30  *
31  */
32 bool scratchpad_show(Con *con);
33
34 /**
35  * When starting i3 initially (and after each change to the connected outputs),
36  * this function fixes the resolution of the __i3 pseudo-output. When that
37  * resolution is not set to a function which shares a common divisor with every
38  * active output’s resolution, floating point calculation errors will lead to
39  * the scratchpad window moving when shown repeatedly.
40  *
41  */
42 void scratchpad_fix_resolution(void);