You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please provide the following information by running the command and providing
the output.
Fvwm3 version (run: fvwm3 --version)
[~]$ /home/farblos/fvwm3/bin/fvwm3 --version
fvwm3 1.1.3 (7b901c04)
with support for: ReadLine, XPM, PNG, SVG, Shape, XShm, SM, Bidi text, XRandR, XRender, XCursor, XFT, XFixes, NLS
fvwm3 comes with NO WARRANTY, to the extent permitted by law. You may
redistribute copies of fvwm under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
Notice the difference in dimensions shown by parameters Coords (untransformed monitor dimensions) and VirtScr (still showing dimensions scaled by 75%).
More Information
My educated guess is that the Xlib macros DisplayWidth and DisplayHeight, which FVWM uses to determine the global monitor size, are not suitable when using RandR. See also the following test program:
/* gcc -o randrinfo randrinfo.c -lX11 -lXrandr */
#include <stdio.h>
#include <stdlib.h>
#include <X11/Xlib.h>
#include <X11/extensions/Xrandr.h>
#include <unistd.h>
int main(void) {
Display *d = XOpenDisplay(getenv("DISPLAY"));
Window w = DefaultRootWindow(d);
XRRScreenResources *xrrr;
XRRCrtcInfo *xrrci;
while ( 1 ) {
printf("display size is %d x %d\n",
DisplayWidth(d, DefaultScreen(d)),
DisplayHeight(d, DefaultScreen(d)));
xrrr = XRRGetScreenResources(d, w);
for (int i = 0; i < xrrr->ncrtc; ++i) {
xrrci = XRRGetCrtcInfo(d, xrrr, xrrr->crtcs[i]);
if (xrrci->mode != None)
printf("%dx%d+%d+%d\n", xrrci->width, xrrci->height, xrrci->x, xrrci->y);
XRRFreeCrtcInfo(xrrci);
}
XRRFreeScreenResources(xrrr);
sleep(10);
}
return 0;
}
When executing that, the display resolution determined by DisplayWidth and DisplayHeight does not change when changing display scale with xrandr.
The text was updated successfully, but these errors were encountered:
Upfront Information
Please provide the following information by running the command and providing
the output.
Fvwm3 version (run:
fvwm3 --version
)Linux distribution or BSD name/version
Platform (run:
uname -sp
)Reproducer
Scale down display resolution with:
Restart FVWM with default configuration, open an XTerm, move it to the bottom right corner with:
Remove display scale so that the XTerm now is some 25% away from the bottom right corner:
Try to move the XTerm again to new bottom right corner:
Expected Behaviour
XTerm moves to the new bottom right corner.
Actual Behaviour
XTerm does not change position.
Enabling logging
In the state after above reproducer, dump the monitor state with
This results for me in:
Notice the difference in dimensions shown by parameters
Coords
(untransformed monitor dimensions) andVirtScr
(still showing dimensions scaled by 75%).More Information
My educated guess is that the Xlib macros
DisplayWidth
andDisplayHeight
, which FVWM uses to determine the global monitor size, are not suitable when using RandR. See also the following test program:When executing that, the display resolution determined by
DisplayWidth
andDisplayHeight
does not change when changing display scale withxrandr
.The text was updated successfully, but these errors were encountered: