Re: GS 3.9 affectsInputRegion

Hi Jasper,

Yes, I kind of do. The parent actor is GenericContainer, and its position is fixed. Its children are placed inside the parent at some positions. I just searched through my installed extensions and found out that, for example, Dash to Dock uses similar concept to position the dash: there is St.Bin with a child positioned vertically at center, and St.Bin is added using addChrome with affectsInputRegion = false, while for its child trackChrome with affectInputRegion = true is called.

Probably, it is the right decision to simplify the whole thing about input regions. May be if, for example, trackChrome could add a region that is a descendant of Main.uiGroup but has no tracked ancestors, that would solve the problem.

As I can see right now when trackChrome(B) is called, it looks for B's ancestor A that is already being tracked. Then the only thing I see how A is used is to copy A's params to B -- those that are not specified for B directly. Is there another thing I am missing why trackChrome would require such ancestor?


On 07/10/2013 02:08 PM, Jasper St. Pierre wrote:
Do you really need the parent-child relationship?

On Tue, Jul 9, 2013 at 4:45 PM, Vadim <vadim dbfin com> wrote:
Hi everyone,

I have a question about GS 3.9. One of the commits removes the
affectsInputRegion parameter. I know there were some special reasons for
that, and a lot of underlying C code has changed.

Now, suppose I have an actor A that takes some space but I want it to be
transparent for all events such as mouse clicks etc. Actor A may have
some children -- actors B, C, ... -- which are not transparent, and I
want them to receive mouse clicks etc. Before 3.9 I would do something like:
addChrome(A, { affectsInputRegion: false });
trackChrome(B, { affectsInputRegion: true });
trackChrome(C, { affectsInputRegion: true });

Now, if I add A using Main.uiGroup.add_child(A) instead, then
trackChrome will complain that none of B's (or C's etc.) ancestors were
added using addChrome.

What is the recommended way of doing this in GS 3.9? Thank you.

gnome-shell-list mailing list
gnome-shell-list gnome org


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