shithub: patch

Download patch

ref: 7dd7ad57e30d6aa0dfc8b7a8fdd8134718d8e388
parent: 1247fce6d0abfc3f2c61117250c1596ef2ba7711
author: qwx <qwx@sciops.net>
date: Mon Sep 6 22:44:21 EDT 2021

add winwatch-col: more theming

--- /dev/null
+++ b/winwatch-col
@@ -1,0 +1,66 @@
+diff 87a823332f9eaa4ff1e72f8524f6e59d1cc4f407 uncommitted
+--- a/sys/src/cmd/winwatch.c
++++ b/sys/src/cmd/winwatch.c
+@@ -26,8 +26,7 @@
+ int mwin;
+ int onwin;
+ int rows, cols;
+-Image *lightblue;
+-Image *statecol[4];
++Image *bgcol, *txtcol, *statecol[4];
+ 
+ enum {
+ 	PAD = 3,
+@@ -168,7 +167,7 @@
+ 	r = Rect(0,0,(Dx(screen->r)-2*MARGIN+PAD)/cols-PAD, font->height);
+ 	r = rectaddpt(rectaddpt(r, Pt(MARGIN+(PAD+Dx(r))*(i/rows),
+ 				MARGIN+(PAD+Dy(r))*(i%rows))), screen->r.min);
+-	draw(screen, insetrect(r, -1), lightblue, nil, ZP);
++	draw(screen, insetrect(r, -1), bgcol, nil, ZP);
+ }
+ 
+ void
+@@ -175,10 +174,10 @@
+ drawwin(int i)
+ {
+ 	draw(screen, win[i].r, statecol[win[i].state], nil, ZP);
+-	_string(screen, addpt(win[i].r.min, Pt(2,0)), display->black, ZP,
++	_string(screen, addpt(win[i].r.min, Pt(2,0)), txtcol, ZP,
+ 		font, win[i].label, nil, strlen(win[i].label), 
+ 		win[i].r, nil, ZP, SoverD);
+-	border(screen, win[i].r, 1, display->black, ZP);	
++	border(screen, win[i].r, 1, txtcol, ZP);	
+ 	win[i].dirty = 0;
+ }
+ 
+@@ -217,7 +216,7 @@
+ 
+ 	all |= geometry();
+ 	if(all)
+-		draw(screen, screen->r, lightblue, nil, ZP);
++		draw(screen, screen->r, bgcol, nil, ZP);
+ 	for(i=0; i<nwin; i++)
+ 		if(all || win[i].dirty)
+ 			drawwin(i);
+@@ -339,13 +338,14 @@
+ 
+ 	if(initdraw(0, fontname, "winwatch") < 0)
+ 		sysfatal("initdraw: %r");
+-	lightblue = allocimagemix(display, DPalebluegreen, DWhite);
+-
+-	statecol[0] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, 0xCCCCCCFF);
+-	statecol[1] = lightblue;
+-	statecol[2] = lightblue;
+-	statecol[3] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, DPalegreygreen);
+-
++	bgcol = display->black;
++	txtcol = allocimage(display, Rect(0,0,1,1), screen->chan, 1, 0x884400FF);
++	statecol[0] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, 0x111111FF);
++	statecol[1] = display->black;
++	statecol[2] = allocimage(display, Rect(0,0,1,1), screen->chan, 1, 0x440000FF);
++	statecol[3] = statecol[2];
++	if(bgcol == nil || txtcol == nil)
++		sysfatal("allocimage: %r");
+ 	for(i=0; i<nelem(statecol); i++)
+ 		if(statecol[i] == nil)
+ 			sysfatal("allocimage: %r");