9front - general discussion about 9front
 help / color / mirror / Atom feed
From: ori@eigenstate.org
To: 9front@9front.org
Subject: Re: [9front] [PATCH] rio: resize border and scrollbar based on font
Date: Fri, 10 May 2024 15:40:02 -0400	[thread overview]
Message-ID: <B1C1DAE688E72E9CC03B35AEC28BA269@eigenstate.org> (raw)
In-Reply-To: <e2d76efa-0b99-413d-b236-ab5430102545@posixcafe.org>

Quoth Jacob Moody <moody@posixcafe.org>:
> /dev/theme is not merged so you can not hang your solution off of that if you'd like it merged.
> Here's how I would approach this:
> 1. fix code assumptions about rio's border size, or use an environment variable or something.

This is probably a good idea regardless of the rest. Bonus if
the fix made programs completely ignorant of, and oblivious to,
border widths.

> 2. Attempt a transparent scaling, perhaps something in libdraw that just stupidly does 2x upscaling of draw ops
>    a. evaluate how much this sucks, maybe it works fine maybe it creates a shit experience idk
> 3. Failing that we give up and add $scale and make it every programs problem to distinguish what should be scalled (things like UI elements) vs not (fonts and images)
> 
> I don't see any other appetizing option at the moment, perhaps someone else does.
> 

It strikes me that font size may not be the worst thing to hang
the scaling off of; outside of Plan 9, many things draw in units
of 'em', which is the width of a capital 'M' in the current type
face.

There are issues around that (what do we do when we scale a 1 pixel
line by 37%?), and I don't know how to solve them.

With scaling, there's a lot of options we can take for behavior,
and all of it sucks in one way or another.

The one option we have implemented now ("implement for a reasonable
range of display densitys, and don't scale") is the only one that
doesn't degrade quality. From there, we start to make tradeoffs.

	- What do we do with images?
	- What do we want to do with non-integer scale multiples?
	- How about a mix of images and text? should we scale the
	  images? how? (imagine, eg, a mapping program)
	- If we have multiple monitors (yeah, not implemented yet,
	  but I *really* want it), how should scaling behave?
	- Do we want antialiasing in devdraw to make fractional line
	  widths look acceptable.

I haven't put a ton of thought into this. It may be possible to
get a viable tradeoff with some split between libdraw and devdraw,
but there's nothing that jumps out to me as obviously correct.


  reply	other threads:[~2024-05-10 19:43 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-10  6:13 Romano
2024-05-10 13:27 ` Kristo
2024-05-10 14:01   ` Stanley Lieber
2024-05-10 14:17 ` Jacob Moody
2024-05-10 18:43   ` Romano
2024-05-10 19:15     ` Jacob Moody
2024-05-10 19:40       ` ori [this message]
2024-05-11 16:45         ` hiro
2024-05-11  4:31       ` Romano
2024-05-11 15:00         ` Jacob Moody
2024-05-11 16:54           ` hiro
2024-05-13  5:18           ` Romano
2024-05-11 16:42       ` hiro
2024-05-10 21:00     ` sl
2024-05-11  4:34       ` Romano
2024-05-13  5:38         ` Romano
  -- strict thread matches above, loose matches on Subject: below --
2024-05-09 21:04 Romano
2024-05-10  0:14 ` Jacob Moody
2024-05-10  0:34   ` sl
2024-05-10  6:20   ` Kurt H Maier
2024-05-10 14:10     ` Jacob Moody
2024-05-10 14:16       ` Stanley Lieber
2024-05-10 14:20         ` Jacob Moody
2024-05-10 14:23           ` Stanley Lieber
2024-05-10 14:21         ` ori
2024-05-10 14:33           ` Stanley Lieber
2024-05-10 14:37             ` Stanley Lieber
2024-05-10 14:58       ` Kurt H Maier
2024-05-10 15:28         ` Stuart Morrow
2024-05-10 16:11           ` Stanley Lieber
2024-05-10 16:43             ` Stuart Morrow
2024-05-10 16:50               ` Stuart Morrow
2024-05-11 16:36               ` hiro
2024-05-11 16:30             ` hiro
2024-05-11 16:27       ` hiro
2024-05-11 16:36         ` Jacob Moody

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=B1C1DAE688E72E9CC03B35AEC28BA269@eigenstate.org \
    --to=ori@eigenstate.org \
    --cc=9front@9front.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).