Skip to content

Add crisp start button icon rendering option#1405

Open
rmnmjw wants to merge 1 commit into
dremin:masterfrom
rmnmjw:crisp-start-menu-icons
Open

Add crisp start button icon rendering option#1405
rmnmjw wants to merge 1 commit into
dremin:masterfrom
rmnmjw:crisp-start-menu-icons

Conversation

@rmnmjw

@rmnmjw rmnmjw commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

On my mission to add more crispy graphics for scaled UI, here is the latest change.


The classic-theme start button icons (start9x, startvistaclassic, startxpclassic, startxpblue) are small bitmaps shown at their native size. At integer display scales (e.g. 200%) WPF's default scaling filter blurred them and muddied their colors.

Render them with nearest-neighbor scaling so they stay sharp, controlled by a "Crisp start button icon" checkbox on the Advanced tab (on by default). The StartIcon style sets BitmapScalingMode=NearestNeighbor via a trigger bound to the setting, so it can be disabled on fractional scales where nearest-neighbor can look uneven.

Add localized labels for all bundled languages, each with an access key that is unique within that language's Advanced tab.


image

The classic-theme start button icons (start9x, startvistaclassic,
startxpclassic, startxpblue) are small bitmaps shown at their native size.
At integer display scales (e.g. 200%) WPF's default scaling filter blurred
them and muddied their colors.

Render them with nearest-neighbor scaling so they stay sharp, controlled by a
"Crisp start button icon" checkbox on the Advanced tab (on by default). The
StartIcon style sets BitmapScalingMode=NearestNeighbor via a trigger bound to
the setting, so it can be disabled on fractional scales where nearest-neighbor
can look uneven.

Add localized labels for all bundled languages, each with an access key that is
unique within that language's Advanced tab.
@github-actions

Copy link
Copy Markdown

@dremin

dremin commented Jul 3, 2026

Copy link
Copy Markdown
Owner

I think this makes more sense as part of the theme rather than as a user preference (i.e. the theme should "just do the right thing" here). You might need to add a property to the taskbar window that can tell the theme whether the taskbar is integer scaled (i.e. (effective DPI scale percentage * user scale setting percentage) % 100 == 0).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants