Skip to content

Auto-size grid rows to ensure high-DPI visibility of checkboxes#4630

Merged
HebaruSan merged 3 commits into
KSP-CKAN:masterfrom
HebaruSan:fix/high-dpi-grid-checkboxes
May 15, 2026
Merged

Auto-size grid rows to ensure high-DPI visibility of checkboxes#4630
HebaruSan merged 3 commits into
KSP-CKAN:masterfrom
HebaruSan:fix/high-dpi-grid-checkboxes

Conversation

@HebaruSan
Copy link
Copy Markdown
Member

@HebaruSan HebaruSan commented May 15, 2026

Problems

  • If you install the .deb on Linux without mono-complete, runing CKAN throws an exception:
    System.IO.FileNotFoundException: Could not load file or assembly 'System.ComponentModel.Composition, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies.
    File name: 'System.ComponentModel.Composition, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
    
  • Discord user Jonno reported that the checkboxes in the main mod list sometimes don't show up on a 189 DPI monitor with 150% UI scaling.
    Image
  • After a failed install, toggling the auto-installed checkboxes for installed mods doesn't work as expected. Mods that were marked as auto-installed before the failed install will still be auto-removed when their depending mods are removed, even if you change them to not-auto-installed.
    Image

Causees

  • Apparently when dotnet compiles for net481 on Windows, it generates a build that needs more dependencies than when Mono compiles for net481 on Linux, since we don't use System.ComponentModel.Composition explicitly anywhere in our own code.
  • Presumably the grid rows are not scaled proportionally to the UI/font scaling by default.
  • GUIMod.InstalledMod becomes stale when an installation failure causes the current Registry to be restored from its internal backup. A new InstalledModule is deserialized and used by the registry, and meanwhile the corresponding GUIMod retains a reference to the old object, so when it changes that object's AutoInstalled property, the registry's object still has the old value.

Changes

@HebaruSan HebaruSan added GUI Issues affecting the interactive GUI Build Issues affecting the build system Linux Issues specific for Linux Package: deb Issues affecting the Debian packaging labels May 15, 2026
@HebaruSan HebaruSan force-pushed the fix/high-dpi-grid-checkboxes branch from 78a86dc to dfbfff2 Compare May 15, 2026 02:56
@coveralls

This comment was marked as off-topic.

@HebaruSan HebaruSan merged commit 8bf4131 into KSP-CKAN:master May 15, 2026
12 of 14 checks passed
@HebaruSan HebaruSan deleted the fix/high-dpi-grid-checkboxes branch May 15, 2026 03:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Build Issues affecting the build system GUI Issues affecting the interactive GUI Linux Issues specific for Linux Package: deb Issues affecting the Debian packaging

Projects

None yet

2 participants