Warnings when on Wayland

I recently switched to using the wayland session of my desktop environment. Since then, whenever I plot, I see the two following messages:

QSocketNotifier: Can only be used with threads started with QThread
qt.qpa.wayland: Wayland does not support QWindow::requestActivate()

Plotting still works fine, so there is no real issue, but I was still wondering if these are maybe indicative of some other problem?

The first of the warnings (QSocketNotifier: Can only be used with threads started with QThread) is like coming from the input hook that IPython installs for prompt toolkit (I am making the assumption you are running in an IPython terminal at https://github.com/ipython/ipython/blob/4f0c46cd551eb818404f70138d1917663826e940/IPython/terminal/pt_inputhooks/qt.py#L41-L56 ). This probably should be reported to IPython.

The second is when from when we try to push the plot window to the front. From that warning I’m not sure if it will never be supported in wayland (because it does not make sense? I don’t know enough about wayland to have anything better than a guess) or if it is something that is not supported yet. If it is the first, we probably should add a check to our code to not try that if we can tell we are running on wayland.

I’m running it as a regular python script; not from ipython.

I don’t know much about Wayland, either, but yes, it does seem like you can’t force focus on a window.

I have the same problem and I couldn’t find any solutions yet

For the second issue, the section in the Qt backend where we try to activate the window is:

I suspect the fix here is to detect that we are on wayland and short-circuit the conditinoal on L598 one way or another.

For the socket notifier we would have to track down which socket notifier is the problem.