Thanks to Fazlul Shariar, there is a p9p version of winwatch, available at https://github.com/fhs/misc/blob/master/cmd/winwatch/winwatch.c
I noticed memory leaks, and sometimes X11's asynchronous ways made it crash. I put up a slightly modified version at https://github.com/markvanatten/misc/blob/master/winwatch.c It has two new options, -s and -w. The first sorts the labels alphabetically (not case sensitive), the second uses XA_WM_NAME instead of class.res_name for the label. I use this in combination with rio. It works fine so far, but I may well have overlooked some subtle or not so subtle points. It still crashes when starting libreoffice, which perhaps doesn't call XInitThreads(). When writing a paper in Sam and having many large windows with pdf and djvu files open for reference, I find this very useful to have; because I use both -s and -w and keep winwatch always in the same place (along the right edge of my screen), the process of digging up and foregrounding any of these files has become very quick. From (say) Sam it takes just two clicks to have them in front of me in the large size I like to open them to. Of course, if the winwatch window is narrow, one will see only an initial part of the label, so it helps to give your files good names; but that is true in any case. (And you can always widen the window a bit.) I've been thinking about extending the B3 action to a little menu, perhaps with items to open, close, and toggle the effects of the -s and -w options, but have made no effort in that direction yet. Thanks again to Fazlul for porting this in the first place. Mark.