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
Con *__i3_scratch = workspace_get("__i3_scratch", NULL);
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
* currently focused window is a scratchpad window and should be hidden
* again. */