Repository navigation
Default theme: readable text at every screen size - #356
Merged
Merged
Conversation
Text sizes were set by aspect ratio only, so 960x720 and 1024x768 got
640x480's sizes and 1920x1080 got 1280x720's: about 60% of the size
they needed. Text now scales with the screen's height (font-scale per
resolution, after the aspect ratio ones, which stay for other screens).
- The ports and themes lists' info and description were placed in pixels
from the top of their pane, so on bigger screens the text overlapped
(and a fourth info line, eg two runtimes, overlapped at 640x480 too).
They're now fractions of the pane, made from each aspect ratio's own
size, with room for four info lines.
- The 16:9 and 1920x1152 info / description sizes that shrank them below
the rest of the screen are gone.
- Port info: bigger text, scrolling when it doesn't fit.
- Options: a wider list, so "Experimental Ports: Disabled" fits.
Checked every screen at 12 resolutions with tools/theme_server.
The runtime manager showed "{runtime_info.name}" and the like until the
selection moved: its first update_selection() only ran when there were
no runtimes (d378e03 turned it off to avoid a crash with nothing
selected). It now runs whenever something is selected.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NxABmR1rUUgi4iicVLZchY
The built-in disclaimer section (the piracy disclaimer and the unsupported-system warning, the same in every theme) scales its text per resolution, but had no entry for 720x480, 960x720, 1024x768 or 1280x800: those got the unscaled size (1280x800's barely a third of the box), or whatever the theme's own #base said. They're filled in, between their neighbours' sizes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NxABmR1rUUgi4iicVLZchY
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Text sizes in the default theme were set by aspect ratio only. So 960x720 and 1024x768 got 640x480's sizes, and 1920x1080 got 1280x720's, about 60% of what they needed. Text now scales with the screen's height: there's a
font-scaleper resolution, after the aspect-ratio ones, which stay for other screens.Layout
Disclaimer and startup warning: this built-in section (the piracy disclaimer and the unsupported-system warning, the same in every theme) had no sizes for 720x480, 960x720, 1024x768 or 1280x800. Those got the unscaled size; at 1280x800 the text filled barely a third of the box. They're filled in now, between their neighbours' sizes.
Runtime manager: it showed
{runtime_info.name}and the like until the selection moved. Its firstupdate_selection()only ran when there were no runtimes. It now runs whenever something is selected, andtest_gui_commands.pychecks it.Testing: every screen checked at 12 resolutions with the theme preview server (on beta, same
theme.json). The full suite passes on Python 3.7 and 3.11.