From 9369f83bcdab140fbf485074654994f1ed625588 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Mon, 17 Jun 2013 08:05:04 +0200 Subject: page: use resizewin() to change window size for gif display resizewin() has some extra logic making sure the rect doesnt get too big. rio would otherwise refuse to create the window and the operation will fail completely. --- sys/src/cmd/page.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'sys/src/cmd/page.c') diff --git a/sys/src/cmd/page.c b/sys/src/cmd/page.c index 70c1bf9d7..0926b8486 100644 --- a/sys/src/cmd/page.c +++ b/sys/src/cmd/page.c @@ -1241,12 +1241,9 @@ showext(Page *p) if(p->ext == nil) return; snprint(label, sizeof(label), "%s %s", p->ext, p->label); - if(p->image){ - ps = subpt(p->image->r.max, p->image->r.min); - ps.x += 24; - ps.y += 24; - } else - ps = subpt(screen->r.max, screen->r.min); + ps = Pt(0, 0); + if(p->image) + ps = addpt(subpt(p->image->r.max, p->image->r.min), Pt(24, 24)); drawlock(0); if((fd = p->fd) < 0){ if(p->open != popenfile) @@ -1257,13 +1254,15 @@ showext(Page *p) seek(fd, 0, 0); } if(rfork(RFPROC|RFMEM|RFFDG|RFNOTEG|RFNAMEG|RFNOWAIT) == 0){ - snprint(buf, sizeof(buf), "-pid %d -dx %d -dy %d", getpid(), ps.x, ps.y); + snprint(buf, sizeof(buf), "-pid %d", getpid()); if(newwindow(buf) != -1){ dupfds(fd, 1, 2, -1); if((fd = open("/dev/label", OWRITE)) >= 0){ write(fd, label, strlen(label)); close(fd); } + if(ps.x && ps.y) + resizewin(ps); argv[0] = "rc"; argv[1] = "-c"; argv[2] = p->ext; -- cgit v1.2.3