flipperdevices / qFlipper

qFlipper — desktop application for updating Flipper Zero firmware via PC
https://update.flipperzero.one
GNU General Public License v3.0
1.14k stars 152 forks source link

Ability to Resize Window #191

Closed theundeadlich closed 11 months ago

theundeadlich commented 1 year ago

Could we have the ability to resize the qFlipper window for those of us on higher or different resolution screens so that we can see it better.

zhovner commented 1 year ago

Can you please show how it looks on your screen?

theundeadlich commented 1 year ago

Sure thing!

Here it is on 3840x2160

image
zhovner commented 1 year ago

Hm, it should scale the window automatically, isnt? @gsurkov

bwachter commented 1 year ago

Screenshot from the other side (6" 1280x720 display):

qFlipper_small_screen

vtrenton commented 1 year ago

+1 on this - when using tiling windowing managers or generally just snapping windows to maximize screen real estate value the qflipper app refuses to conform breaking most tiling flows :(

theundeadlich commented 1 year ago

I am able to make the application slightly bigger by using High DPI Scaling Override and setting it to system, but this still doesn't allow us to rescale the window.

image
gsurkov commented 11 months ago

TL;DR: qFlipper does its best to guess what the window size should be according to the system settings. In case it fails to do so, it's possible to instruct it by setting the environment variable QT_SCALE_FACTOR to what feels best. Make sure not to set it globally as it will affect other Qt-based applications, too.

A bit more trivia:

  1. qFlipper uses a fixed-size window by design. It was a deliberate decision to make it look like the janky early 2000s programs with custom windows. We might rethink this decision for the version 2.0 as it causes more problems than anticipated (people have stopped designing apps this way for a reason).
  2. qFlipper reads HiDPI settings from the underlying OS and adjusts automatically thanks to the Qt library. It doesn't look at the resolution or physical screen size, but at the scaling ratio set in the system. Might add an explicit setting if it doesn't work well automatically.