9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] Acme resize bug
@ 2018-12-30 22:22 Jacob Moody
  2018-12-31 10:17 ` Ethan Gardener
  0 siblings, 1 reply; 2+ messages in thread
From: Jacob Moody @ 2018-12-30 22:22 UTC (permalink / raw)
  To: 9fans

Hello 9fans,

I've noticed that sometimes when resizing acme columns there is a
strip left at the bottom that doesn't get redrawn.
It's a bit hard to notice with the default colours, but changing it up
makes it more obvious.
I was able to fix it with this the following patch but am not sure if
this is the best way to go about fixing it.

diff -u /dist/clean/plan9front/sys/src/cmd/acme/cols.c /sys/src/cmd/acme/cols.c
--- /dist/clean/plan9front/sys/src/cmd/acme/cols.c Thu Nov  1 15:02:44 2018
+++ /sys/src/cmd/acme/cols.c Thu Nov  1 15:38:53 2018
@@ -204,6 +204,7 @@
  draw(screen, r2, display->black, nil, ZP);
  r1.min.y = r2.max.y;
  r1.min.y = winresize(w, r1, FALSE);
+ draw(screen, r1, textcols[BACK], nil, ZP);
  }
  c->r = r;
 }

Happy New Year,
Moody



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [9fans] Acme resize bug
  2018-12-30 22:22 [9fans] Acme resize bug Jacob Moody
@ 2018-12-31 10:17 ` Ethan Gardener
  0 siblings, 0 replies; 2+ messages in thread
From: Ethan Gardener @ 2018-12-31 10:17 UTC (permalink / raw)
  To: 9fans

On Sun, Dec 30, 2018, at 10:22 PM, Jacob Moody wrote:
> Hello 9fans,
>
> I've noticed that sometimes when resizing acme columns there is a
> strip left at the bottom that doesn't get redrawn.
> It's a bit hard to notice with the default colours, but changing it up
> makes it more obvious.
> I was able to fix it with this the following patch but am not sure if
> this is the best way to go about fixing it.
>
> diff -u /dist/clean/plan9front/sys/src/cmd/acme/cols.c /sys/src/cmd/acme/cols.c
> --- /dist/clean/plan9front/sys/src/cmd/acme/cols.c Thu Nov  1 15:02:44 2018
> +++ /sys/src/cmd/acme/cols.c Thu Nov  1 15:38:53 2018
> @@ -204,6 +204,7 @@
>   draw(screen, r2, display->black, nil, ZP);
>   r1.min.y = r2.max.y;
>   r1.min.y = winresize(w, r1, FALSE);
> + draw(screen, r1, textcols[BACK], nil, ZP);
>   }
>   c->r = r;
>  }

That will work, but that strip which doesn't get redrawn is also where Acme won't see the mouse as being in any window or tag.  Since it's sometimes useful to see it, you might want to draw it in display->back or display->white, I guess.  If one of those is already your background color i guess you'll need a new global pointer for a new color, or maybe use an existing color which happens to be subtly different.

I'm not posting my code, my brain switches off half-way through finding out how to do it, and then I forget what I've done until I want to post it here and look it up...



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-12-31 10:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-30 22:22 [9fans] Acme resize bug Jacob Moody
2018-12-31 10:17 ` Ethan Gardener

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).