Giter VIP home page Giter VIP logo

Comments (7)

emulti avatar emulti commented on June 3, 2024 1

Issue solved. I decided it was an issue with Xorg and checked the configuration.
Specifically, it seems to be an issue with DRI2. I had disabled DRI3 some years ago due to problems with the Intel embedded graphics on my laptop, by adding a file /etc/X11/xorg.conf.d/20-intel.conf
On removing that file and accepting the driver defaults/DRI3, xdpyinfo reports correct resolution again (96dpi) and your program works great!

from nordpy.

morpheusthewhite avatar morpheusthewhite commented on June 3, 2024

Is this the only application which causes this problem? I think it is a common problem among HiDPI setups

from nordpy.

emulti avatar emulti commented on June 3, 2024

Yes, I have only seen this with nordpy.

Partial xrandr output:

Under Gnome/Xorg:
Screen 0: minimum 8 x 8, current 3286 x 1200, maximum 32767 x 32767
LVDS1 connected primary 1366x768+0+432 (normal left inverted right x axis y axis) 295mm x 166mm
HDMI1 connected 1920x1200+1366+0 (normal left inverted right x axis y axis) 520mm x 320mm

XFCE
Screen 0: minimum 8 x 8, current 3286 x 1080, maximum 32767 x 32767
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 295mm x 166mm
HDMI1 connected 1920x1080+1366+0 (normal left inverted right x axis y axis) 520mm x 320mm

Gnome/Xorg:
$ xdpyinfo |grep reso
resolution: 285x185 dots per inch

Edit to previous comment: now xfce is showing the same overall resolution, and the 'tiny text' issue returned.
XFCE
$ xdpyinfo |grep reso
resolution: 285x185 dots per inch

But if LVDS1 is configured as 'primary display' in Xrandr then it reports 96x96 DPI.

So it seems nordpy is being fooled by Xorg into thinking it is a HiDPI display.

from nordpy.

morpheusthewhite avatar morpheusthewhite commented on June 3, 2024

Just to be sure that this problem is linked only with the tkinter library, can you execute the following code (with python3) and look if the label size is small as in nordpy?

from tkinter import *
from tkinter.ttk import *

ro = Tk()
w = Label(ro, text="Hello world")
w.pack()
ro.mainloop()

from nordpy.

emulti avatar emulti commented on June 3, 2024

With two monitors connected, Gnome/Wayland or Sway works fine.
Gnome/Xorg, Xfce, and other X-based WM shows tiny text.
xdpyinfo shows the screen as 96x96 dpi when running Wayland, but 285x 185 on Xorg.
Can you work round it?
This program is such an improvement on the 'official' nordvpn cli app! To prevent leaking DNS info however, it's important to not use systemd-resolved to manage /etc/resolv.conf. With the Nord official app, it's the other way round.

from nordpy.

morpheusthewhite avatar morpheusthewhite commented on June 3, 2024

With two monitors connected, Gnome/Wayland or Sway works fine.
Gnome/Xorg, Xfce, and other X-based WM shows tiny text.
xdpyinfo shows the screen as 96x96 dpi when running Wayland, but 285x 185 on Xorg.
Can you work round it?

Unfortunately since I am not able reproduce your setup I cannot easily solve it, but since we know that it is related to tkinter + Xorg you can google it and find solutions from others. If you find a way to solve it, feel free to put into this issue how you did it

This program is such an improvement on the 'official' nordvpn cli app! To prevent leaking DNS info however, it's important to not use systemd-resolved to manage /etc/resolv.conf. With the Nord official app, it's the other way round.

So can you confirm me that everything works fine with connection / disconnection (many have experienced missing connection after the VPN starts, see #26)?

from nordpy.

morpheusthewhite avatar morpheusthewhite commented on June 3, 2024

Since we know that this problem is not related to nordpy I'll close this issue

from nordpy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.