Re: full-screen isn't using all the screen
Maxime Soulé <[email protected]> Mon, 10 Apr 2023 13:27:18 +0200
| Newsgroups | gmane.comp.window-managers.ctwm |
|---|---|
| Message-ID | <[email protected]> |
Le 10/04/2023 à 02:10, Stefan Monnier a écrit :
>> I just tested using virtualbox and the following setup:
>>
>> Screen 0: minimum 64 x 64, current 1440 x 600, maximum 32766 x 32766
>> VGA-0 connected 800x600+640+0 0mm x 0mm
>> 800x600 60.00*+ 60.00*
>> VGA-1 connected primary 640x480+0+60 0mm x 0mm
>> 640x480 60.00*
>>
>> which should match yours, and it works as expected.
>
> Hmm...
>
>> Could you recompile with DEBUG macro set to 1, and copy/paste the message
>> printed here:
>> https://github.com/fullermd/ctwm-mirror/blob/master/ctwm_main.c#L459-L462
>
> For me it prints:
>
> Layout: [monitors=[len=2 cap=2 [x=0 y=335 w=1600 h=1200] [x=1600 y=0 w=1200 h=1920]]
> horiz=[len=3 cap=3 [x=0 y=335 w=2800 h=1200] [x=1600 y=0 w=1200 h=335] [x=1600 y=1535 w=1200 h=385]]
> vert=[len=2 cap=2 [x=1600 y=0 w=1200 h=1920] [x=0 y=335 w=1600 h=1200]]]
>
> That looks very much like yours :-(
>
> FWIW, the fact that ctwm's notion of "top" for the right most monitor is
> "off" affects not only `f.zoom` but also `f.move` (it "bumps"
> against the "wrong top" , so I have to "push" harder in order to move
> windows above the "wrong top").
Yes all these features are related to the layout, so it is "normal" they
also fail.
Perhaps do you use the new MonitorLayout variable?
If not, could you share your config (at least in mp)? so I can try to
reproduce the problem.
>
> Hmm...
>
> I haven't looked at ctwm's code in over a decade and never played with
> that part of the code, so if you have suggestion as to where I should
> look, that would be helpful.
You can add some logs in RLayoutFullVert1 function in r_layout.c
(backend for f.zoom):
RLayoutFullVert1(const RLayout *self, const RArea *area)
{
fprintf(stderr, "RLayoutFullVert1, layout: ");
RLayoutPrint(self);
fprintf(stderr, "area: ");
RAreaPrint(area);
// Let RLayoutFull1() find the right monitor.
RArea target = RLayoutFull1(self, area);
int max_x, min_x2;
fprintf(stderr, "target: ");
RAreaPrint(&target);
>
>> Do you use Xrandr rotation for HDMI-1?
>> I didn't succeed to test monitor rotation using virtualbox...
>
> Yes.
Interesting.
++
Max.