baskerville / bspwm

A tiling window manager based on binary space partitioning
BSD 2-Clause "Simplified" License
7.7k stars 416 forks source link

Set _NET_DESKTOP_GEOMETRY. #556

Open ryneeverett opened 7 years ago

ryneeverett commented 7 years ago

According to the latest EWMH specifications for "Root Window Properties", "This property SHOULD be set by the Window Manager."

Yet it doesn't appear to be set in bspwm-0.9.1. I'm getting nothing from xprop -root | grep GEOMETRY.

baskerville commented 7 years ago

What do you need this property for?

The definition of SHOULD is given in RFC 2119.

This might be related to #410.

ryneeverett commented 7 years ago

It seems that the concept of per-monitor desktops is non-standard, shared perhaps by just bspwm and i3. I'd like a graphical pager that shows only desktops on the current (virtual) monitor.

I'm hopeful that tint2 will support this in the near future (see tint2#524).

In the meantime it seems that pager-multihead might be the only one that already supports this. I was trying to resurrect pager-multihead, but run into an error when it looks up the desktop geometry and it is null. I haven't looked into the possibility of eliminating it's dependency on the geometry. Alternately, I suppose I could wrap it in a script that sets the _NET_DESKTOP_GEOMETRY based on bspc query -m focused -T | jq '.rectangle'.

ryneeverett commented 7 years ago

FYI, pager-multihead actually works well given how long it's gone without maintenance. I've just patched in the bspc call for now.