On 5 January 2012 20:08, Emanuele Giaquinta
<[email protected]> wrote:
> On Thu, Jan 05, 2012 at 04:03:11PM +0000, Thomas Adam wrote:
>> On 5 January 2012 15:06, Jim Diamond <[email protected]> wrote:
>> > "Correct"?  It would seem to me that there should not be unusable
>> > space at the bottom of the window, and some change between 9.12 and
>> > 9.14 has caused this to appear, at least on my system ("urxvt -pe
>> > tabbed" in both cases).  This seems much more like a regression than
>> > something which is "correct".
>>
>> This is the problem (main.C):
>>
>>   // When the size of the vt window is not a multiple of the cell
>>   // size, i.e., when the wm does not honour our size hints, there are
>>   // extra areas not covered by the terminal screen. Such gaps, when a
>>   // bg pixmap is set, would have to be cleared manually to properly
>>   // refresh the background. We take the simpler route and shrink the
>>   // vt window so as to avoid creating gaps.
>>   width  = ncol * fwidth;
>>   height = nrow * fheight;
>>
>> Setting width/height like this is just bogus; when tabbed changes the
>> window size via XMoveResizeWindow() the resize increment hints are
>> honoured *because* the resultant window with tabbed drawn falls within
>> the boundaries.
>
> Bogus why? Note that width and height are the dimensions of the terminal
> (vt) window, not of the main (parent) window. However, looking at the
> tabbed extension, I see that it uses $term->{width,height} in
> 'configure' to resize the main window, and $term->{width,height}
> (bogusly?) map to the corresponding dimension of the terminal window.
> This is possibly the reason of the bug. I think the fix is to have
> $term->width and $term->height return the corresponding dimension of the
> main window. Does the attached patch solve the problem?

The problem seems to be that tabbed (and tabbedex) ignore the bwidth
of the tab parent window when sizing it, so when the tab sizes its vt
window, it has to shrink it to fit the internal border in. Tabbedex is
additionally missing a callback that seems to cause the NORMAL_HINTS
structure to be completely wrong.

This is the patch for the hints in tabbedex,
http://cgit.mika.l3ib.org/cgit/tabbedex/patch/?id=cd6ce68edec07baaa6015896951e46584f132925

And this is the patch to include bwidth when sizing the tabs,
http://cgit.mika.l3ib.org/cgit/tabbedex/patch/?id=177d202feba44a43ffe9fa96657ec0f3d1b34fe4

I'm not completely certain this solves all the problems, but it works for me.

-- 
Mikael Magnusson

_______________________________________________
rxvt-unicode mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/rxvt-unicode

Reply via email to