28

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...

Kristóf
  • 539

5 Answers5

59

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.

20

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
Eliah Kagan
  • 119,640
Alex
  • 201
8

Or use sqlite3

$ sqlite3 ~/.ViberPC/config.db -interactive 'update CommonSettings set Value = 0.6 where Title = "ScalingRatio"'
kudrin
  • 81
4

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
Zanna
  • 72,312
Gabor
  • 41
2

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.