- if((fd = open("/dev/screen", OREAD)) < 0)
- sysfatal("can't open /dev/screen: %r");
- if(read(fd, buf, Nfld*Fldlen) != Nfld*Fldlen)
- sysfatal("can't read /dev/screen: %r");
- close(fd);
- buf[sizeof buf-1] = 0;
- if(tokenize(buf, flds, Nfld) != Nfld)
- sysfatal("can't tokenize /dev/screen header");
- snprint(newcmd, sizeof newcmd, "-r %s %s %s %s",
- flds[1], flds[2], flds[3], flds[4]);
+ display = initdisplay(nil, nil, nil);
+ if(display == nil)
+ sysfatal("can't open /dev/draw: %r");
+ r = display->image->r;
+ snprint(newcmd, sizeof newcmd, "-r %d %d %d %d",
+ r.min.x, r.min.y, r.max.x, r.max.y);
+ closedisplay(display);