Window selection allows for multiple criteria at once, and I can also reject windows.
I'm also able to use the window manager's client list as a source, which makes getting toplevel windows much easier.
Window movement is done using static gravity, fixing an issue where windows were moving differently if they were a terminal window versus non-terminal window.
Bonk can delete properties. I sometimes delete WM_NORMAL_HINTS if a window has size hints set where I can't resize it the way I want.
xdotool can raise windows but can't lower them (bonk can do both).
With kwin it's easy to manually override an application/window to ignore geometry constraints or whatever. I do this for xterm to avoid having a few pixels of background showing at the edge when maximized.
I also used to do this a lot to get the much-nicer "soft fullscreen" in SDL1 applications.
I updated my script for i3wm to toggle windows between scratchpad/active/start/stop:
https://gist.github.com/tkapias/0443d4930c1d7b520f4496e1ff39...
Obviously.
X11 is absolutely not the way to go.