[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [STUMP] add-head crashes

From: David Bjergaard
Subject: Re: [STUMP] add-head crashes
Date: Mon, 24 Feb 2014 23:18:33 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Eric Abrahamsen <address@hidden> writes:

> David Bjergaard <address@hidden> writes:
>> Hi Eric,
>> This is in the experimental branch but not in master. I just tested it
>> and it appears to work.  Can you clarify what you mean by: 
>>> Yes, that does solve it (though obviously the frame on the new head goes
>>> back to being mis-sized).
>> The original bug was that if you unplugged an external monitor the
>> frames were not being deleted properly, the patch introduced the bug you
>> found. Namely that add-head was getting a list of frames instead of a
>> frame itself.  
>> As far as I can tell from the code, this was due to the way the heads
>> were being keyed. I reverted that functionality, and left the remainder
>> of the patch in place.
>> I want to make sure that my patch doesn't cause a regression of the
>> original pull request, and that my patch fixes the crash you're seeing.
> Okay, I'd like to be a little more helpful in testing this and maybe
> providing a solution, and I realized to my embarrassment that the main
> problem is that I don't really understand what a screen *is*. The manual
> says that screens logically contain heads, which doesn't get me much of
> anywhere. It seems that no matter how many monitors, groups, and frames
> I've got, I've only ever got one screen.
> If someone could take a second to help explain this, that would be much
> appreciated...
> Thanks,
> Eric
Hi Eric,

>From the manual: 
> StumpWM will attempt to detect Xinerama heads at startup (and at no
> other time.) Heads are logically contained by screens. In a dual-monitor
> Xinerama configuration, there will be one screen with two
> heads. Non-rectangular layouts are supported (frames will not be created
> in the 'dead zone'.) And message windows will be displayed on the
> current head-that is, the head to which the currently focused frame
> belongs.
> Frames contain windows. All windows exist within a frame.

A glossary based on my interpretation:
screen: The xlib object that is however many pixels wide and tall to
        cover all monitors
head: A logical representation of a monitor
frame: A rectangular region of a monitor on which either contains more
       frames or windows. 

So, when there is only one monitor, the screen and the head represent
the same geometry (though are different data structures).  When there
are two (say identical) monitors, the screen will represent 2*width x
height of space.  There will be two heads, each covering a size width x
height. I hope this clarifies things for you? Let me know if I've got
anything wrong.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]