summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSigrid <ftrvxmtrx@gmail.com>2020-12-06 11:55:27 +0100
committerSigrid <ftrvxmtrx@gmail.com>2020-12-06 11:55:27 +0100
commitecb12c87187a37a74f77aff45ffece9f7e985658 (patch)
treed26ce20958bb6bd862c19907452e506be1b27d4c
parent5d790e08ca051d74f2146014a4426bbc217680e8 (diff)
downloadplan9front-ecb12c87187a37a74f77aff45ffece9f7e985658.tar.xz
aux/status^(bar msg): few small fixes (thanks umbraticus)
-rw-r--r--sys/man/8/statusbar3
-rw-r--r--sys/src/cmd/aux/statusbar.c38
-rw-r--r--sys/src/cmd/aux/statusmsg.c4
3 files changed, 19 insertions, 26 deletions
diff --git a/sys/man/8/statusbar b/sys/man/8/statusbar
index 8f3b09a01..99878dd51 100644
--- a/sys/man/8/statusbar
+++ b/sys/man/8/statusbar
@@ -9,8 +9,9 @@ statusbar, statusmsg \- display a bar graph or status message window
[
.B -w
.I minx,miny,maxx,maxy
-]
+] [
.I title
+]
.br
.B aux/statusmsg
[
diff --git a/sys/src/cmd/aux/statusbar.c b/sys/src/cmd/aux/statusbar.c
index 02d85176f..6d2db3295 100644
--- a/sys/src/cmd/aux/statusbar.c
+++ b/sys/src/cmd/aux/statusbar.c
@@ -21,10 +21,10 @@ initcolor(void)
text = display->black;
light = allocimagemix(display, DPalegreen, DWhite);
dark = allocimage(display, Rect(0,0,1,1), CMAP8, 1, DDarkgreen);
+ if(light == nil || dark == nil) sysfatal("initcolor: %r");
}
Rectangle rbar;
-Point ptext;
vlong n, d;
int last;
int lastp = -1;
@@ -75,7 +75,7 @@ drawbar(void)
if(lastp != p){
sprint(buf, "%3d%%", p);
- stringbg(screen, addpt(screen->r.min, Pt(Dx(rbar)-30, 4)), text, ZP, display->defaultfont, buf, light, ZP);
+ stringbg(screen, Pt(screen->r.max.x-4-stringwidth(display->defaultfont, buf), screen->r.min.y+4), text, ZP, display->defaultfont, buf, light, ZP);
lastp = p;
}
@@ -94,24 +94,13 @@ drawbar(void)
void
eresized(int new)
{
- Point p, q;
- Rectangle r;
-
if(new && getwindow(display, Refnone) < 0)
fprint(2,"can't reattach to window");
- r = screen->r;
- draw(screen, r, light, nil, ZP);
- p = string(screen, addpt(r.min, Pt(4,4)), text, ZP,
- display->defaultfont, title);
-
- p.x = r.min.x+4;
- p.y += display->defaultfont->height+4;
-
- q = subpt(r.max, Pt(4,4));
- rbar = Rpt(p, q);
-
- ptext = Pt(r.max.x-4-stringwidth(display->defaultfont, "100%"), r.min.x+4);
+ draw(screen, screen->r, light, nil, ZP);
+ if(title) string(screen, addpt(screen->r.min, Pt(4,4)), text, ZP, font, title);
+ rbar = insetrect(screen->r, 4);
+ rbar.min.y += font->height + 4;
border(screen, rbar, -2, dark, ZP);
last = 0;
lastp = -1;
@@ -163,7 +152,7 @@ bar(Biobuf *b)
void
usage(void)
{
- fprint(2, "usage: aux/statusbar [-kt] [-w minx,miny,maxx,maxy] 'title'\n");
+ fprint(2, "usage: %s [-kt] [-w minx,miny,maxx,maxy] [title]\n", argv0);
exits("usage");
}
@@ -190,11 +179,14 @@ main(int argc, char **argv)
usage();
}ARGEND;
- if(argc != 1)
+ switch(argc){
+ default:
usage();
-
- title = argv[0];
-
+ case 1:
+ title = argv[0];
+ case 0:
+ break;
+ }
lfd = dup(0, -1);
while(q = strchr(p, ','))
@@ -204,7 +196,7 @@ main(int argc, char **argv)
textmode = 1;
rbar = Rect(0, 0, 60, 1);
}else{
- if(initdraw(0, 0, title) < 0)
+ if(initdraw(0, 0, title ? title : argv0) < 0)
exits("initdraw");
initcolor();
einit(Emouse|Ekeyboard);
diff --git a/sys/src/cmd/aux/statusmsg.c b/sys/src/cmd/aux/statusmsg.c
index 1133a090a..fa2f4790b 100644
--- a/sys/src/cmd/aux/statusmsg.c
+++ b/sys/src/cmd/aux/statusmsg.c
@@ -22,6 +22,7 @@ initcolor(void)
{
text = display->black;
light = allocimagemix(display, DPalegreen, DWhite);
+ if(light == nil) sysfatal("initcolor: %r");
}
void
@@ -136,7 +137,6 @@ main(int argc, char **argv)
usage();
case 1:
title = argv[0];
- break;
case 0:
break;
}
@@ -153,7 +153,7 @@ main(int argc, char **argv)
if((bout = Bfdopen(1, OWRITE)) == nil)
sysfatal("Bfdopen: %r");
}else{
- if(initdraw(0, 0, title) < 0)
+ if(initdraw(0, 0, title ? title : argv0) < 0)
sysfatal("initdraw: %r");
initcolor();
einit(Emouse|Ekeyboard);