HyperDock is a very very thourrough window manager as well as serving tons of other good usability enhancment features. I esspecially enjoy the ability to assign custom gestures onto Dock icons to perform a multitude of actions, including runing your own scripts. A major drawback of this unreplacable tool is that it's barely supported, meaning it has quite a bit of bugs. The developer occasionally releases an update and keeps it on life support, just enough to keep it running on modern versions of macOS. I'm still using it on Mojave and as of right now, have no replacement for it. I'd love for it have a resurgance some day.