8000 wxPython 4.0: backends not yet working w. Wayland / Ubuntu 17 · Issue #10417 · matplotlib/matplotlib · GitHub
[go: up one dir, main page]

Skip to content
wxPython 4.0: backends not yet working w. Wayland / Ubuntu 17 #10417
Open
@DietmarSchwertberger

Description

@DietmarSchwertberger

Bug report

Bug summary

As of now, the wx.ClientDC is not yet working with wxPython 4.0.1 and the Wayland display server.
The resulting problems:

  • a call to canvas.draw() does not update the screen content immediately, but only on the next Paint event
  • the rubberband for zooming in is not displayed

Workarounds:

  • call window.Refresh() after canvas.draw()
  • or use the X11 window manager (on Ubuntu: select 'Ubuntu on Xorg' on the login screen)
  • or use wxPython Classic (i.e. 3.0.2)

A bug report for wxPython is open: wxWidgets/Phoenix#743
The original bug report: https://groups.google.com/forum/#!topic/wxpython-dev/8E4jtTjEmjI

Medium term, the wx backends should be rewritten to use Refresh / RefreshRect instead of a ClientDC and also double buffering. This would also allow to unify code between OS X and the other platforms, as for OS X the rubberband is implemented in a different way. But for 2.2 that's probably too challenging...

Matplotlib version

  • Operating system: e.g. Ubuntu 17.10
  • Matplotlib version: e.g. 2.1.2
  • Matplotlib backend (print(matplotlib.get_backend())): Wx / WxAgg
  • Python version: any
  • Jupyter version (if applicable): n.a.
  • Other libraries: wxPython 4.0.1

Metadata

Metadata

Labels

GUI: wxkeepItems to be ignored by the “Stale” Github Action

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0