Of course, and MANY window managers do understand EWMH:
[list]
* blackbox >= 0.70
* icewm
* kwin (the default WM for KDE)
* metacity (the default WM for GNOME)
* openbox >= 3
* sawfish
* fvwm >= 2.5
* waimea
* pekwm
* enlightenment >= 0.16.6
* xfce >= 4
* fluxbox >= 0.9.6
* matchbox
* window maker >= 0.91
[/list:u]
What makes FVWM the best WM is what those lack .
Specifically, xbindkeys is just weak in comparison to the Key and Mouse (and Stroke, I want Stroke!) commands in FVWM. From a user’s perspective, the syntax for those commands is much easier to understand, but can accomplish so much more than xbindkeys. For example, the “context” parameter to Mouse/Key is not in xbindkeys. xbindkeys just can’t do everything listed in the section COMMANDS FOR MOUSE, KEY AND STROKE BINDINGS in the FVWM man pages.
Also, wmctrl is very limited. One simple example is that you cannot use wmctrl to go to the next desktop. You can tell it to go to a specific dekstop number, but not relative to the current one. Also, you only have four options when deciding what window to run a command on:
[list]Match a string against the title
Match the window ID
Make the user select the window
Use the currently active/focused window
[/list:u]
This means you cannot, for example, run a command on the window which has the mouse over it.
The functions/features from FVWM that I think could be implemented for any WM using EWMH are in the following sections of the FVWM man page:
[list]COMMANDS AFFECTING WINDOW MOVEMENT AND PLACEMENT
COMMANDS FOR FOCUS AND MOUSE MOVEMENT
COMMANDS CONTROLLING WINDOW STATE
CONDITIONAL COMMANDS
[/list:u]
Specifically, what I do NOT care about is
[list]THE STYLE COMMAND (CONTROLLING WINDOW STYLES)
MENUS
[/list:u]
Ultimately, my very first concern is whether any of this is feasible. Now, I understand that not all of these commands are feasible outside of FVWM, but I think a majority of them should be. So, what I would like to know is if the FVWM code for these commands is too integrated into and dependent on FVWM or if a lot of it just uses a standard EWMH interface, one that can be used with any WM.