Enerccio / ewlc

Wayland compositor library - extended
MIT License
20 stars 3 forks source link

Unable to move pointer between outputs #27

Open WLCIssuesBot opened 7 years ago

WLCIssuesBot commented 7 years ago

Issue by SirCmpwn Monday Aug 10, 2015 at 03:09 GMT Originally opened as https://github.com/Cloudef/wlc/issues/32


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

WLCIssuesBot commented 7 years ago

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


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

WLCIssuesBot commented 7 years ago

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.

WLCIssuesBot commented 7 years ago

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.

WLCIssuesBot commented 7 years ago

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


Yeah, indeed.

WLCIssuesBot commented 7 years ago

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.

WLCIssuesBot commented 7 years ago

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


It's probably reasonable not to support that imo

WLCIssuesBot commented 7 years ago

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.