/* Map all floating clients */
SLIST_FOREACH(client, &(c_ws->focus_stack), focus_clients) {
- if (!client->floating)
+ if (client->floating <= FLOATING_USER_OFF)
continue;
xcb_map_window(conn, client->frame);
/* Is it just 's' for stacking or 'd' for default? */
if ((command[0] == 's' || command[0] == 'd') && (command[1] == '\0')) {
- if (last_focused == NULL || last_focused->floating) {
+ if (last_focused == NULL || last_focused->floating >= FLOATING_AUTO_ON) {
LOG("not switching, this is a floating client\n");
return;
}
return;
}
- toggle_floating_mode(conn, last_focused);
+ toggle_floating_mode(conn, last_focused, false);
/* delete all empty columns/rows */
cleanup_table(conn, last_focused->workspace);
}
if (*rest == '\0') {
- if (last_focused != NULL && last_focused->floating)
+ if (last_focused != NULL && last_focused->floating >= FLOATING_AUTO_ON)
move_floating_window_to_workspace(conn, last_focused, workspace);
else move_current_window_to_workspace(conn, workspace);
return;
}
- if (last_focused == NULL || last_focused->floating) {
+ if (last_focused == NULL || last_focused->floating >= FLOATING_AUTO_ON) {
LOG("Not performing (null or floating) \n");
return;
}