mirror of https://github.com/0intro/wmii
'wmiir remove /<empty page>' will work now
This commit is contained in:
parent
d61117a3db
commit
1c8c963c0f
|
@ -32,10 +32,8 @@ update_area_geometry(Area *a)
|
|||
void
|
||||
destroy_area(Area *a)
|
||||
{
|
||||
size_t i;
|
||||
Page *p = a->page;
|
||||
while(a->nclient)
|
||||
detach_client(client[i], False);
|
||||
if(a->client)
|
||||
free(a->client);
|
||||
cext_array_detach((void **)p->area, a, &p->areasz);
|
||||
p->narea--;
|
||||
|
|
|
@ -600,6 +600,10 @@ xremove(IXPConn *c, Fcall *fcall)
|
|||
if((i1 == -1) || (i2 == -1) || (i3 == -1))
|
||||
return Enofile;
|
||||
switch(type) {
|
||||
case Dpage:
|
||||
if(destroy_page(page[i1]) == page[i1])
|
||||
return Enoperm;
|
||||
break;
|
||||
case Dlabel:
|
||||
{
|
||||
Label *l = label[i1];
|
||||
|
|
|
@ -27,13 +27,17 @@ alloc_page()
|
|||
return p;
|
||||
}
|
||||
|
||||
void
|
||||
Page *
|
||||
destroy_page(Page *p)
|
||||
{
|
||||
unsigned int i;
|
||||
Page *old = p->revert;
|
||||
Client *c;
|
||||
|
||||
for(i = 0; i < p->narea; i++)
|
||||
if(p->area[i]->nclient)
|
||||
return p;
|
||||
|
||||
while(p->narea)
|
||||
destroy_area(p->area[0]);
|
||||
|
||||
|
@ -55,6 +59,7 @@ destroy_page(Page *p)
|
|||
}
|
||||
else
|
||||
write_event("PN -\n");
|
||||
return nil;
|
||||
}
|
||||
|
||||
int
|
||||
|
|
|
@ -261,7 +261,7 @@ char *warp_mouse(char *arg);
|
|||
|
||||
/* page.c */
|
||||
Page *alloc_page();
|
||||
void destroy_page(Page *p);
|
||||
Page *destroy_page(Page *p);
|
||||
void focus_page(Page *p);
|
||||
XRectangle *rectangles(unsigned int *num);
|
||||
int pid_to_index(unsigned short id);
|
||||
|
|
Loading…
Reference in New Issue