fix scratchpad crashes
@@ -4507,6 +4507,7 @@ void togglescratchpad(const Arg *arg) {
return;
}
+ if (selmon->scratchvisible) {
for(c = selmon->clients; c; c = c->next) {
if (c->tags == 1 << 20) {
@@ -4514,12 +4515,23 @@ void togglescratchpad(const Arg *arg) {
}
}
- if (!selmon->sel->isfullscreen) {
+ for(c = selmon->clients; c; c = c->next) {
+ if (c->tags == 1 << 20) {
+ if ((!selmon->sel || !selmon->sel->isfullscreen) && c->issticky) {
selmon->sel = c;
arrange(selmon);
-
focus(c);
warp(c);
+ } else {
+ arrange(selmon);
+ }
+ break;
+ }
+ }
+
+ } else {
+ focus(NULL);
+ arrange(selmon);
}
}
