SawfishWM / sawfish

Sawfish Window-Manager
GNU General Public License v2.0
162 stars 32 forks source link

Windows with _NET_WM_STRUT_PARTIAL aren't recognized as struts #6

Closed marstj closed 1 year ago

marstj commented 11 years ago

In sawfish.wm.state.wm-spec, windows with _NET_WM_STRUT are recognized as struts, but not those with _NET_WM_STRUT_PARTIAL. The latter property is now the recommended one to use - see http://standards.freedesktop.org/wm-spec/1.3/ar01s05.html, and there are desktop environments that no longer set _NET_WM_STRUT, e.g. xfce4-panel 4.8.6.

One effect of this is that workarea-changed-hook isn't called correctly after XFCE has placed its panels.

Extending update-strut in wm-spec.jl to detect _NET_WM_STRUT_PARTIAL as well would be trivial, but more work might be necessary to fully support the newer partial strut geometries.

teika-kazura commented 3 years ago

If anyone wants to fix this...

In fact, Sawfish recognizes _NET_WM_STRUT, so the change won't be so difficult. The files to touch are lisp/sawfish/wm/state/wm-spec.jl and lisp/sawfish/wm/util/workarea.jl .

Hope Chris and everyone are doing well.

Best wishes, Teika

teika-kazura commented 1 year ago

This patch minimally supports _NET_WM_STRUT_PARTIAL. See the diff for the details. diff.txt

(The attached file is a patch, but github doesn't allow the extensio .patch nor .diff. )

Regards.

Nanolx commented 1 year ago

patch applied, thanks!

teika-kazura commented 1 year ago

Thanks a lot Chris. I really appreiciate you've been taking care of Sawfish, meaning taking care of us all! :)

All the best.