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,640
 
    
    - 201
Or use sqlite3
$ sqlite3 ~/.ViberPC/config.db -interactive 'update CommonSettings set Value = 0.6 where Title = "ScalingRatio"'
 
    
    - 81
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
- 2
 
     
    