On Fri, May 06, 2016 at 04:54:10PM +0200, Alberto Salvia Novella wrote: > Is there any way an application could tell the current desktop scaling > factor independently of the desktop environment in use? > > For example Wayland has > (https://wayland.freedesktop.org/docs/html/apa.html#protocol-spec-wl_output) > and Mir has (https://unity.ubuntu.com/mir/struct_mir_display_output.html), > which both could be used for telling the physical size of the output device.
Obtaining physical size is relatively easy: if RANDR extension is supported, than try to get information with XRRGetScreenInfo on your window, and get per-axis dpi by dividing current screen size in mm by current screen size in pixels, multiplied by 25.4 (with respect to current rotation, as sizes reported for original x/y axes, and their meaning could be changed by rotation). With RANDR you can also subscribe to screen resolution change events. If RANDR is not supported or reports 0 screen size -- than fall- back to using XDisplayHeightMM/XDisplayHeight and XDisplayWidth- MM/XDisplayWidth. It looks like there is no practice of regular scaling windows by a compositing WM, so you can assume that scaling factor is 1. > So you can tell how to scale your application interface to have a good size. > > This is for solving bug (https://developer.blender.org/T48292). > > Thanks in advance. > > > _______________________________________________ > xorg@lists.x.org: X.Org support > Archives: http://lists.freedesktop.org/archives/xorg > Info: https://lists.x.org/mailman/listinfo/xorg > Your subscription address: %(user_address)s _______________________________________________ xorg@lists.x.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: https://lists.x.org/mailman/listinfo/xorg Your subscription address: %(user_address)s