diff --git a/docs/design/laptop.md b/docs/design/laptop.md index bdc1b18d..9d99b940 100644 --- a/docs/design/laptop.md +++ b/docs/design/laptop.md @@ -638,9 +638,12 @@ stops listing until it is on again, is never turned on by it. A monitor no line names gets 2 if it is a built-in panel (eDP, LVDS, DSI) of 192 dpi or more and 1200 lines or more, as GNOME decides, and 1 otherwise: a television's EDID may give its aspect ratio as its size, so only built-in -panels are measured. Zones are told the scale through `wl_output`, rounded -up to a whole number, and draw that much larger; the compositor scales them -down to a fraction such as 1.5. dwl and the proxy needed no change. +panels are measured. A zone's window is told the exact scale through +`wp_fractional_scale_v1`, which the proxy passes on (`policy.rs`), and a +client that reads only `wl_output`'s whole number draws at that, which the +compositor scales down to the fraction. havoc and kryptik-lock draw at 1 at +every scale, so the compositor enlarges them, and they look soft at any scale +but 1. Check: `make gui-test` writes the user's line for the first monitor at 1 and `* 2`, plugs a second monitor in, and finds it at scale 2 and the first at 1; diff --git a/docs/user-guide.md b/docs/user-guide.md index 9c3876de..75ec43ad 100644 --- a/docs/user-guide.md +++ b/docs/user-guide.md @@ -462,10 +462,12 @@ SCALE` draws everything on that monitor SCALE times as large, from 0.5 to 4, 1.5 say on a laptop's high-resolution panel, and `kryptik display NAME SCALE X Y` also puts its top left corner at X,Y. The choice is kept for every login and made again whenever the monitor is plugged in; NAME `*` stands for -every monitor no other line names, and `kryptik display NAME auto` gives the -monitor back its own: 2 for a built-in panel of 192 dpi or more, 1 for the -rest. Zones are told the scale rounded up to a whole number, and draw that -much larger. +every monitor no other line names. `kryptik display NAME auto` drops that +monitor's line, so it takes the `*` line if there is one, and otherwise 2 for a +built-in panel of 192 dpi or more and 1200 lines or more, 1 for the rest. A +zone's window is told the exact scale, and the browser draws sharp at it. +Kryptik's terminals, the menu and the lock screen draw at 1 and are enlarged, +so at any scale but 1 they look soft. **USB sticks.** Zone 0 reads nothing on a USB stick or an SD card. Plugging one in opens a window of the chrome that names each partition by what the diff --git a/tools/kryptik b/tools/kryptik index ebb7880e..79cd4f98 100755 --- a/tools/kryptik +++ b/tools/kryptik @@ -76,8 +76,9 @@ USAGE: everything half as large again), its top left corner at X,Y if given; kept for every login; NAME * is any monitor no line names - $PROG display NAME auto that monitor as it comes: 2 for a built-in - panel of 192 dpi or more, else 1 + $PROG display NAME auto drop that monitor's line: the * line then, + if any, else 2 for a built-in panel of 192 + dpi and 1200 lines or more, else 1 OPTIONS: --zones DIR override the zone directory (default: $ZONES_DIR)