Skip to content

Feature/UI scaling native#1204

Open
Symlink420 wants to merge 3 commits intoopenbullet:masterfrom
Symlink420:feature/ui-scaling-native
Open

Feature/UI scaling native#1204
Symlink420 wants to merge 3 commits intoopenbullet:masterfrom
Symlink420:feature/ui-scaling-native

Conversation

@Symlink420
Copy link

Native Client UI Scaling
Related Issue: Issue #1198

Description
This PR introduces global UI scaling for the OpenBullet 2 Native Client. It addresses the issue of the application interface appearing too small on high-resolution displays (1440p, 4K) by allowing users to adjust the interface scale factor from 50% to 200%.

Changes
OpenBullet2.Core: Added a
UiScale
property to
CustomizationSettings
to persist the scaling factor.
OpenBullet2.Native/MainWindow.xaml: Implemented a LayoutTransform with a ScaleTransform on the Root grid, bound to the scaling setting. This ensures the entire UI scales proportionally without blurring.
OpenBullet2.Native/Views/Pages/OBSettings.xaml: Added a "UI Scale (%)" control under the Customization section in OB Settings.
OpenBullet2.Native/ViewModels/OBSettingsViewModel.cs: Added properties to manage the settings UI and trigger real-time scaling updates.
OpenBullet2.Native/MainWindow.xaml.cs: Updated the
MainWindowViewModel
to handle scaling notifications and persist the state across application restarts.
Motivation and Context
On high-DPI monitors, the default Native Client UI can be difficult to read. While system-level scaling helps, providing an in-app setting allows users to fine-tune the OpenBullet 2 interface specifically for their needs without affecting other applications.

Dependencies
None (uses existing MahApps.Metro and standard WPF transforms).

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.

1 participant