ERR("No extra for %p", ec);
return;
}
- _e_client_unmaximize(ec, E_MAXIMIZE_BOTH);
_e_client_move_resize(ec,
extra->orig.geom.x,
extra->orig.geom.y,
}
void
+_restore_free_client(void *client)
+{
+ _restore_client(client);
+ free(client);
+}
+
+void
change_desk_conf(struct _Config_vdesk *newconf)
{
E_Manager *m;
E_Desk *d;
int old_nb_stacks = 0,
new_nb_stacks = newconf->nb_stacks;
- int i;
- Eina_List *l;
m = e_manager_current_get();
if (!m) return;
return;
if (new_nb_stacks == 0) {
- for (i = 0; i < TILING_MAX_STACKS; i++) {
- for (l = _G.tinfo->stacks[i]; l; l = l->next) {
- E_Client *ec = l->data;
-
- _restore_client(ec);
- }
- eina_list_free(_G.tinfo->stacks[i]);
- _G.tinfo->stacks[i] = NULL;
- }
+ tiling_window_tree_walk(_G.tinfo->tree, _restore_free_client);
+ _G.tinfo->tree = NULL;
e_place_zone_region_smart_cleanup(z);
}
_G.tinfo->conf->nb_stacks = new_nb_stacks;
return m;
}
-void
-_restore_free_client(void *client)
-{
- _restore_client(client);
- free(client);
-}
-
static void
_disable_desk(E_Desk *desk)
{
/* List of windows which were toggled floating */
Eina_List *floating_windows;
- Eina_List *stacks[TILING_MAX_STACKS];
- int pos[TILING_MAX_STACKS];
- int size[TILING_MAX_STACKS];
-
Window_Tree *tree;
};