Chapter 3. Desktop areas, button presses, and releases on the root window.

Table of Contents
Section 1 - Button press and release forwarding for the desktop window.
Section 2 - Desktop Areas as opposed to multiple desktops.

Section 1 - Button press and release forwarding for the desktop window.

X imposes a limitiation - that only 1 client can select for button presses on a window - this is due to the implicit grab nature of button press events in X. This poses a problem when more than one client wishes to select for these events on the same window - ie the root window, or in the case of a WM that has more than one root window (virtual root windows) any of these windows. The solution to this is to have the client that recieves these events handle any of the events it is interested in, and then ``proxy'' or ``pass on'' any events it doesnt not care about. Seeing the traditional model has always been that the WM selects for butotn presses on the desktop, it is only natural that it keep doing this BUT have a way of sending unwanted presses onto some other process(es) that may well be interested.

This is done as follows: