Enerccio/ewlc

Unable to move pointer between outputs

Closed this issue · 7 comments

Issue by SirCmpwn
Monday Aug 10, 2015 at 03:09 GMT
Originally opened as Cloudef/wlc#32


Maybe this is something I'm meant to implement myself?

Comment by SirCmpwn
Monday Aug 10, 2015 at 03:11 GMT


Also seems like displays are going to sleep independently of each other.

Comment by Cloudef
Monday Aug 10, 2015 at 07:37 GMT


Both are currently hardcoded behaviour. The latter needs DPMS api to be controllable by developer, the pointer will eventually by default move freely. But this is not currently made as wlc has no concept of global coordinates, nor it knows where monitors are. Moving views between monitors is another issue, as it needs moving opengl resources between contexts.

Comment by SirCmpwn
Monday Aug 10, 2015 at 10:33 GMT


Another thing to consider regarding that - someone moves a floating window halfway between two displays, so it appears on both.

Comment by Cloudef
Monday Aug 10, 2015 at 12:49 GMT


Yeah, indeed.

Comment by Half-Shot
Friday Aug 21, 2015 at 13:18 GMT


i3 also allows you to put a window across all available outputs at once, to add some hell to this issue.

Comment by SirCmpwn
Friday Aug 21, 2015 at 13:18 GMT


It's probably reasonable not to support that imo

Comment by Cloudef
Friday Aug 21, 2015 at 13:29 GMT


On x11 all monitors are merged to single big buffer so it simplified this issue. On wlc each output has their own framebuffer so each monitor can vblank on their own. This means that moving stuff between these is more complicated. This of course depends on backend / context / renderer combo, but with EGL you need to duplicate the resource for each output, unless there is shared context extension available.