forked from enlightenment/enlightenment
Tiling2: Fixed applying of desktop is tiled config.
This now changes things as we click apply.
This commit is contained in:
parent
82e252fa71
commit
32e1ec2034
|
@ -270,18 +270,9 @@ _basic_apply_data(E_Config_Dialog *cfd EINA_UNUSED,
|
||||||
free(vd);
|
free(vd);
|
||||||
l->data = NULL;
|
l->data = NULL;
|
||||||
}
|
}
|
||||||
}
|
else if (vd->nb_stacks > 0)
|
||||||
|
|
||||||
for (l = cfdata->config.vdesks; l; l = l->next)
|
|
||||||
{
|
|
||||||
vd = l->data;
|
|
||||||
|
|
||||||
if (!vd)
|
|
||||||
continue;
|
|
||||||
if (!get_vdesk(tiling_g.config->vdesks, vd->x, vd->y, vd->zone_num))
|
|
||||||
{
|
{
|
||||||
change_desk_conf(vd);
|
change_desk_conf(vd);
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -268,6 +268,10 @@ _restore_client(E_Client *ec)
|
||||||
ERR("No extra for %p", ec);
|
ERR("No extra for %p", ec);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!extra->tiled)
|
||||||
|
return;
|
||||||
|
|
||||||
_e_client_move_resize(ec, extra->orig.geom.x, extra->orig.geom.y,
|
_e_client_move_resize(ec, extra->orig.geom.x, extra->orig.geom.y,
|
||||||
extra->orig.geom.w, extra->orig.geom.h);
|
extra->orig.geom.w, extra->orig.geom.h);
|
||||||
if (extra->orig.maximized)
|
if (extra->orig.maximized)
|
||||||
|
@ -390,6 +394,13 @@ _restore_free_client(void *_item)
|
||||||
if (item->client)
|
if (item->client)
|
||||||
{
|
{
|
||||||
_restore_client(item->client);
|
_restore_client(item->client);
|
||||||
|
|
||||||
|
Client_Extra *extra = eina_hash_find(_G.client_extras, &item->client);
|
||||||
|
|
||||||
|
if (extra)
|
||||||
|
{
|
||||||
|
extra->tiled = EINA_FALSE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
free(item);
|
free(item);
|
||||||
}
|
}
|
||||||
|
@ -401,7 +412,7 @@ change_desk_conf(struct _Config_vdesk *newconf)
|
||||||
E_Comp *c;
|
E_Comp *c;
|
||||||
E_Zone *z;
|
E_Zone *z;
|
||||||
E_Desk *d;
|
E_Desk *d;
|
||||||
int old_nb_stacks = 0, new_nb_stacks = newconf->nb_stacks;
|
int new_nb_stacks = newconf->nb_stacks;
|
||||||
|
|
||||||
m = e_manager_current_get();
|
m = e_manager_current_get();
|
||||||
if (!m)
|
if (!m)
|
||||||
|
@ -415,19 +426,8 @@ change_desk_conf(struct _Config_vdesk *newconf)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
check_tinfo(d);
|
check_tinfo(d);
|
||||||
if (_G.tinfo->conf)
|
|
||||||
{
|
|
||||||
old_nb_stacks = _G.tinfo->conf->nb_stacks;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
newconf->nb_stacks = 0;
|
|
||||||
}
|
|
||||||
_G.tinfo->conf = newconf;
|
_G.tinfo->conf = newconf;
|
||||||
_G.tinfo->conf->nb_stacks = old_nb_stacks;
|
_G.tinfo->conf->nb_stacks = new_nb_stacks;
|
||||||
|
|
||||||
if (new_nb_stacks == old_nb_stacks)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (new_nb_stacks == 0)
|
if (new_nb_stacks == 0)
|
||||||
{
|
{
|
||||||
|
@ -435,7 +435,16 @@ change_desk_conf(struct _Config_vdesk *newconf)
|
||||||
_G.tinfo->tree = NULL;
|
_G.tinfo->tree = NULL;
|
||||||
e_place_zone_region_smart_cleanup(z);
|
e_place_zone_region_smart_cleanup(z);
|
||||||
}
|
}
|
||||||
_G.tinfo->conf->nb_stacks = new_nb_stacks;
|
else
|
||||||
|
{
|
||||||
|
/* Add all the existing windows. */
|
||||||
|
E_Client *ec;
|
||||||
|
|
||||||
|
E_CLIENT_FOREACH(e_comp_get(NULL), ec)
|
||||||
|
{
|
||||||
|
_add_client(ec);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
Loading…
Reference in New Issue