Skip to content

Improve Avalonia UI and fix Linux build issues#4807

Merged
Gabriel Dufresne (GabrielDuf) merged 3 commits into
mainfrom
Improve-avalonia-ui
May 21, 2026
Merged

Improve Avalonia UI and fix Linux build issues#4807
Gabriel Dufresne (GabrielDuf) merged 3 commits into
mainfrom
Improve-avalonia-ui

Conversation

@GabrielDuf
Copy link
Copy Markdown
Contributor

Summary

Align the Avalonia UI more closely with the WinUI version across colors, controls, and layout. it also fix linux build issues

Theme & color palette

  • Neutral grays everywhere. Replaced the blue-tinted dark theme (#191b29, #222534, …) with WinUI's neutral
    Mica-style grays (#202020, #2D2D2D, #F3F3F3, #FBFBFB, …).
  • Fluent v2 banner colors. Status/warning banners now use the WinUI SystemFillColor* palette (#FCE100,
    #6CCB5F, #FF99A4, etc. in dark; #9D5D00, #0F7B0F, #C42B1C, etc. in light) instead of the prior
    Material-flavored hues.
  • WinUI Fluent v2 token polyfill. Avalonia 12's Fluent theme ships only UWP-era resource names. Added the missing
    v2 set (AccentFillColor*, AccentTextFillColor*, TextFillColor*, TextOnAccentFillColor*) with proper
    Light/Dark variants in Styles.Common.axaml, so accent text matches the checkbox accent and other Fluent-styled
    controls.

Filter pane — Sources tree

  • Added expand/collapse chevron for nodes with children (winget's sub-sources). Chevron sits between the checkbox box
    and the package name with Opacity="0.55", only visible when HasChildren is true.
  • SourceTreeNode.HasChildren raises PropertyChanged on Children mutations so the chevron appears reactively as
    sources load.
  • "Select all" / "Clear selection" use AccentTextFillColorPrimaryBrush (the new v2 token) for accent text.

Package list

  • DataGrid selection: removed full-row accent-blue fill. Selected rows show only a 2px accent border via constant
    BorderThickness with BorderBrush=Transparent for unselected rows — so toggling selection no longer shifts
    adjacent rows.
  • GridLines off: hides the horizontal divider between rows that previously persisted under the new selection
    style.
  • Tri-state "Select all" checkbox: ObservablePackageCollection now raises SelectionStateChanged whenever a
    PackageWrapper.IsChecked toggles or items are added/removed. The ViewModel recomputes AllPackagesChecked to
    true/false/null (none/some/all), and IsThreeState="True" on both Select-all CheckBoxes renders the
    indeterminate dash.

Comment thread src/UniGetUI.Avalonia/Views/SoftwarePages/AbstractPackagesPage.axaml Outdated
Comment thread src/UniGetUI.Avalonia/Views/MainWindow.axaml Outdated
@GabrielDuf Gabriel Dufresne (GabrielDuf) merged commit e290d91 into main May 21, 2026
3 checks passed
@GabrielDuf Gabriel Dufresne (GabrielDuf) deleted the Improve-avalonia-ui branch May 21, 2026 12:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants