A window manager process looks after all the windows on the
display. It allows you to use a pointing device (a mouse) to ask
for more or less windows of a particular kind (by use of menus).
It allows you to move windows around, resize them, close and open them
(turn them into icons) and so on.
The display server is <#1662#> not<#1662#> a window manager. The window manager
is actually another client of the display program (i.e. it is
independent of the display hardware too).
The window manager (there are lots: uwm, awm, iwm, twm, vtwm, aixwm,
mwm, olwm, etc etc)
intercepts bits of protocol between the display server and the other
applications, and then informs applications of special events (like
the fact they should resize or be redrawn or what have you.
There is an ;SPM_quot;Inter-Client;SPM_quot; protocol to allow the sideways
communication that is now going on. One problem with X is that this is
;SPM_quot;policy free;SPM_quot;. In other words, either the designers could not make up
their minds how this should work, or they preferred not to force any
particular choice on the users.
This leads to problems. For instance, some window managers default to
intercepting mouse and key events in contexts where a client
application would want the event.