Proposing to extend the EWMH spec

Sebastian Geiger (Lanoxx) lanoxx at gmx.net
Sun Oct 4 04:45:04 PDT 2015


Hello Freedesktop,

This is my first mail to the list, so I am not sure if this is the 
correct approach to ask about this. And I am not sure how the procedure 
for proposing changes or additions to an existing specification works. 
Please feel free to suggest alternative approaches if this is the wrong 
place to discuss my problem.

I have the following problem: I would like to programmatically change 
the size of a window and be able to increase its size such that is fills 
the whole work area on the current monitor. Currently on GTK+ this is 
only possible for the primary monitor, because the implementation of 
gdk_screen_get_monitor_workarea does not support multiple monitors. 
Instead for non primary monitors I can only get the monitor geometry 
which maybe wrong if there are panels on the secondary monitor. I have 
discussed this issue in [2], but as I am being told this is a limitation 
of the underlying EWMH protocol (specifically _NET_WORKAREA), which does 
not support to query for individual monitors. In stead of the actual 
workarea the GDK implementation currently just returns the monitor 
geometry for non primary monitors. This leads to problems when resizing 
the application window in the interval between the workarea and monitor 
geometry (e.g. when I try to set the height to a value that exceeds the 
avaliable height or the workarea).

I would like to ask if it is possible to extend the EWMH spec [1] and 
add a new hint which could be named for example "_NET_WORKAREA_MONITOR", 
the purpose would be to enable applications to query the maximum 
available work area information on a per monitor basis. Since its 
possible to query if a window manager supports a certain hin, libraries 
and applications could check if this hint is supported and just fall 
back to their current implementation if its not supported.

I am not an expert for either X or Window Manager development, so maybe 
I got it all wrong and there are better solutions how this can be fixed, 
in this case I would like to hear about your suggestions it.

Best Regards
Sebastian

[1]: http://standards.freedesktop.org/wm-spec/wm-spec-latest.html
[2]: https://bugzilla.gnome.org/show_bug.cgi?id=755699


More information about the xdg mailing list