Improving work areas with multiple monitors
Alberts Muktupāvels via wm-spec-list <[email protected]> Thu, 27 Dec 2018 23:22:47 +0200
| Newsgroups | gmane.comp.gnome.wm-spec |
|---|---|
| Message-ID | <CAKX6tkUmgDhrPbh-qEZbwcX4Z1ct9Yp-5AheAmS0Jp4NwX+Mdw@mail.gmail.com> |
--===============5727749248506279715== Content-Type: multipart/alternative; boundary="000000000000f40f98057e078c8a" --000000000000f40f98057e078c8a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, I would like to improve work area situation with multiple monitors. Before writing patches I would like to hear what you think about my idea. First I think there should be new property for struts because existing properties can not be used to set struts on edges between two monitors. New property could be named _NET_WM_STRUT_AREA and used to define rectangular area (x, y, width and height) that should be excluded from work area. This property will need to follow at least two rules: - at least one edge of area must match with monitor edge. The window manager must ignore strut if it is not placed at monitor edge. - if strut appears on edge between two monitors it should be ignored when calculating _NET_WORKAREA to ensure backward compatibility. Next and more important part is new property to allow set work areas for multiple monitors. Currently I am thinking it could be _NET_WORKAREAS_Dn where n is desktop number. For example if _NET_NUMBER_OF_DESKTOPS is set to 3 then there must be _NET_WORKAREAS_D0, _NET_WORKAREAS_D1 and _NET_WORKAREAS_D2 properties. Property would have one or multiple work areas: _NET_WORKAREAS_Dn, x, y, width, height CARDINAL[][4]/32 Window managers adding support for this would need to add _NET_WORKAREAS hint to _NET_SUPPORTED. Does anyone see reasons why this would not work and/or have better suggestions? --=20 Alberts Muktup=C4=81vels --000000000000f40f98057e078c8a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div di= r=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"lt= r"><div>Hi,</div><div><br></div><div>I would like to improve work area situ= ation with multiple monitors. Before writing patches I would like to hear w= hat you think about my idea.<br></div><div><br></div><div>First I think the= re should be new property for struts because existing properties can not be= used to set struts on edges between two monitors. New property could be na= med _NET_WM_STRUT_AREA and used to define rectangular area (x, y, width and= height) that should be excluded from work area. This property will need to= follow at least two rules:</div><div>- at least one edge of area must matc= h with monitor edge. The window manager must ignore strut if it is not plac= ed at monitor edge.</div><div>- if strut appears on edge between two monito= rs it should be ignored when calculating _NET_WORKAREA to ensure backward c= ompatibility.<br></div><div><br></div><div>Next and more important part is = new property to allow set work areas for multiple monitors. Currently I am = thinking it could be _NET_WORKAREAS_Dn where n is desktop number. For examp= le if _NET_NUMBER_OF_DESKTOPS is set to 3 then there must be _NET_WORKAREAS= _D0, _NET_WORKAREAS_D1 and _NET_WORKAREAS_D2 properties.</div><div><br></di= v><div>Property would have one or multiple work areas:</div><div>_NET_WORKA= REAS_Dn, x, y, width, height CARDINAL[][4]/32<br></div><div><br></div><div>= Window managers adding support for this would need to add _NET_WORKAREAS hi= nt to _NET_SUPPORTED.</div><div><br></div><div>Does anyone see reasons why = this would not work and/or have better suggestions? <br></div><div><br>-- <= br><div dir=3D"ltr" class=3D"gmail_signature"><div dir=3D"ltr">Alberts Mukt= up=C4=81vels<br></div></div></div></div></div></div></div></div></div></div= ></div></div> --000000000000f40f98057e078c8a-- --===============5727749248506279715== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ wm-spec-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/wm-spec-list --===============5727749248506279715==--