two things were not done properly before:
- current window manager was not replaced if the window manager that
would replace does not have --replace command (or alternative)
- waiting for the window manager to become active
now that that is done, any window manager can be started right away and
more .desktop files may be added in the future
also, something that occurred to me while writing the code for it - KWin
replaces the window manager on the current screen only and it is
possible to code the window manager chooser to start the replacing window
manager on any screen (assuming it has --screen argument or something
like that)