When not composited the faded root window only fades out half the screen when the screen is scaled.
Created attachment 8158 Add window scaling when grabbing the root window pixbuf.
Created attachment 8159 Add window scaling when grabbing the root window pixbuf (try 2)
Created attachment 8161 Updated patch. Updated patch that do the scaling regardless of if screen is composited or not.
Your patch seems to make sense, however I can't reproduce this issue. My humble laptop's screen is only 1366x768, I tried xrandr --scale 2x2 and 0.5x0.5, with and without compositor, but in all cases the fade covers all the screen. I'm running session from git master, but no commit since 4.13.1 seems to make much difference.
Hi. Sorry, I'm using master too, wrongly selected 4.13.1 I go to the xfce "Settings"->"Apperings"->"Settings"->"Window Scaling" and select x2 and that gives me the issue. I know gnome changes this automatically if screen is high (don't know how much higher). I'm using "3840x2160" display. I'll try to take a screen shot of the issue.
Created attachment 8166 Issue: quarter of screen is faded.
I looked into xrandr scale a little more. xrandr changes the window as presented to client application to a scaled version. So the whole screen in a 0.5x0.5 mode is scaled. Setting window scaling keeps the screen at high resolution and gtk scales up images and increases font size to match. So for window scale the fonts are rendered using the high resolution scaling and only images are scaled. So to test the issue you could use xrandr scale to 2x2 (scale up) and then Window-Scaling to 2x (scale down). That way the screen size that gtk sees is hdpi (xrandr) and then you scale the windows back to your original resolution (Window-Scaling).
This is GDK scaling affecting the reported output size... A scale 2 will report an output size the quarter of the size. https://developer.gnome.org/gdk3/stable/GdkMonitor.html#gdk-monitor-get-geometry > "The returned geometry is in ”application pixels”, not in ”device pixels”"
(I mean, attachment 8161 is correct, xrandr has nothing to do with that)
Oh now I see, with compositor disabled and 2x scaling I can reproduce bug and indeed the patch fixes the problem.
Jonas Zetterberg referenced this bugreport in commit 28302d453f9f7407051bb4fea2a37de0d266fdad Support scaling in logout dialog (Bug #14951) https://git.xfce.org/xfce/xfce4-session/commit?id=28302d453f9f7407051bb4fea2a37de0d266fdad
Thanks, pushed!