Remember windows pos after close, snap windows and multithreading

past year I begin use opencv in my project, but past week i upgrade my whole msys2 and everything changes in my project.
It was very useful when I close windows then its position was remembered on next imshow() even after recompile, now all windows always appear at center my screen. My project display around 5 windows and I very often move them around and it was very useful when thier position was remembered, now its pretty annoing and hardcoding its position isnt helpful.
Also it was nice when I moved windows then it snap to edges of screen or other windows, now its gone.
And it was pretty useful to being able to call imshow from different threads, now as soon as I call imshow on different thread then app hang or other UB (i partially sove this writing gui worker thread and passing every imshow to it)

So my question is how can I restore all these features even if it is older version, then they are very useful diring prototyping app?

the win32 backend remembers window positions. the win32 backend also kinda supports calling imshow() from different threads, although that is not recommended.

did you install something that pretends to run on linux? something that uses GTK or whatever?

OpenCV highgui does not have a “snapping” feature. if anything snapped previously, it was something specific to your system.

DO NOT install an “older” version. that is NOT the issue.

install opencv-python natively, not in msys2 or docker or WSL2 or any of that. install it natively. install python natively. don’t install anaconda/conda/whatever. install plain python, natively, and opencv-python, natively, in native python, with pip.

as I remember i installed:
pacman -S mingw-w64-ucrt-x86_64-toolchain
pacman -S mingw-w64-ucrt-x86_64-opencv
pacman -S mingw-w64-ucrt-x86_64-qt6-5compat

Why should I install python thing as I use c++?
I also remember that before update imshow display only images without zoom on wheel mouse but after update there are some button at top (save, copy zoom etc) + zooming on wheel mouse

ok then no python. I assumed that you were using python. I would strongly urge you to stick with Python. C++ development has a steep learning curve.

download official binaries from, use Visual Studio, or VSCode with MS compiler.

there are no official builds for mingw. there are inofficial builds somewhere. those assume native mingw.

your using an msys2 build of mingw means you’re doubly off the beaten path.

when in doubt, contact the package maintainers: