toggle fullscreen on 'scratchpad show'
If the focused application is in fullscreen mode and 'scratchpad show' is executed, toggle the fullscreen mode before showing the scratchpad application. Otherwise, the scratchpad app would not be visible anyways but focus would be stolen. fixes #613
This commit is contained in:
parent
0929f68a10
commit
fe6e1f496a
|
@ -76,6 +76,16 @@ void scratchpad_show(Con *con) {
|
||||||
Con *__i3_scratch = workspace_get("__i3_scratch", NULL);
|
Con *__i3_scratch = workspace_get("__i3_scratch", NULL);
|
||||||
Con *floating;
|
Con *floating;
|
||||||
|
|
||||||
|
/* If the current con or any of its parents are in fullscreen mode, we
|
||||||
|
* first need to disable it before showing the scratchpad con. */
|
||||||
|
Con *fs = focused;
|
||||||
|
while (fs && fs->fullscreen_mode == CF_NONE)
|
||||||
|
fs = fs->parent;
|
||||||
|
|
||||||
|
if (fs->type != CT_WORKSPACE) {
|
||||||
|
con_toggle_fullscreen(focused, CF_OUTPUT);
|
||||||
|
}
|
||||||
|
|
||||||
/* If this was 'scratchpad show' without criteria, we check if the
|
/* If this was 'scratchpad show' without criteria, we check if the
|
||||||
* currently focused window is a scratchpad window and should be hidden
|
* currently focused window is a scratchpad window and should be hidden
|
||||||
* again. */
|
* again. */
|
||||||
|
|
Loading…
Reference in New Issue