I have made a clean installation of Kubuntu 16.04 and played around with the font sizes and other settings (such as the fonts DPI, but I tried resetting it...) to make it more to my liking and everything works fine, except for Viber; It is huge! It takes up pretty much the whole screen and cannot be resized to a smaller window (as the interface itself appears enormous, the letters, everything). Any other program I've used is completely normal...
5 Answers
Just updated to lastet Viber version and it became huge.
The reason is that 1920x1080 px on 13" screen has dpi of 166, what I have set in my xfce settings. A lot of apps powered with electron or other custom magic treat dpi over 140 as "retina" and double rendering size.
Viber settings screen cannot go UI scaling under 100%, so you can do it manually.
New solution (works for Viber >= v7.0)
Try running Viber from the terminal by specifying the QT_SCALE_FACTOR as follows:
QT_SCALE_FACTOR=0.6 /opt/viber/Viber
As a permanent solution, ensure the following line is in place in the Viber starter shortcut file (.desktop):
Exec=env QT_SCALE_FACTOR=0.6 /opt/viber/Viber
The Viber .desktop file is usually located at /usr/share/applications/viber.desktop. A locally editable copy can be placed in ~/local/share/applications/.
Old solution (works for Viber < v7.0)
Install sqlitebrowser from official repo, use it to open ~/.ViberPC/config.db
Go to table CommonSettings and modify Value of ScalingRatio to something under 1.0, I used 0.6.
- 706
If you have double screen this is not good solution.
I prefer to set the environment variable QT_AUTO_SCREEN_SCALE_FACTOR=0 with env.
For example:
env QT_AUTO_SCREEN_SCALE_FACTOR=0 /opt/viber/Viber
- 119,820
- 201
Or use sqlite3
$ sqlite3 ~/.ViberPC/config.db -interactive 'update CommonSettings set Value = 0.6 where Title = "ScalingRatio"'
- 81
-
4Welcome to Ask Ubuntu! This looks more like a (worthwhile) addition to the accepted answer and less like a self-contained answer. In such a case please suggest an edit to the post you want to improve instead of posting a partial answer. Thanks. – David Foerster May 12 '17 at 16:35
-
1
From Qt documentation:
QT_AUTO_SCREEN_SCALE_FACTOR [boolean]enables automatic scaling, based on the pixel density of the monitor. This will not change the size of point sized fonts, since point is a physical unit of measure. Multiple screens may get different scale factors.
So setting this to false (zero) will not always solve the scaling problem. I had to change QT_SCALE_FACTOR=0 to display Viber window normally:
env QT_SCALE_FACTOR=0 QT_AUTO_SCREEN_SCALE_FACTOR=0 /opt/viber/Viber
For Viber v7.0 and >
I create file
touch viber.desktop
in file write
Exec=env QT_SCREEN_SCALE_FACTORS=0.6 /opt/viber/Viber
Then if I want start Viber -> use command in terminal
source viber.desktop
It's QT bug. I hope someone fix it.
- 21
envkeyword before theQT_SCALE_FACTOR. After that it worked – Dmitriy Nov 15 '17 at 13:12/opt/Viber/Viber&. If you want to run viber froum your applications menu with correct scaling, edit Viber menu entry with corresponding editor for your DE and change it from/opet/Viber/Viber %Utoenv QT_SCALE_FACTOR=0.6 /opt/Viber/Viber %Uand save – Modo Ltunzher Jan 25 '18 at 15:34QT_AUTO_SCREEN_SCALE_FACTOR=0solved my problem. - http://blog.qt.io/blog/2016/01/26/high-dpi-support-in-qt-5-6/ – andras.tim Jun 17 '18 at 22:48So: adjust QT_SCALE_FACTOR in "/home/username/.local/share/applications/Viber.desktop" to a good value.
– Gabor Apr 18 '22 at 07:52