Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wxPython 4.0: backends not yet working w. Wayland / Ubuntu 17 #10417

Open
DietmarSchwertberger opened this issue Feb 11, 2018 · 2 comments
Open
Assignees
Labels
GUI: wx keep Items to be ignored by the “Stale” Github Action

Comments

@DietmarSchwertberger
Copy link
Contributor

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
@DietmarSchwertberger DietmarSchwertberger self-assigned this Feb 11, 2018
@tacaswell tacaswell added this to the v3.0 milestone Feb 11, 2018
@DietmarSchwertberger
Copy link
Contributor Author

It's unlikely that the wxWidgets ClientDC will ever work with Wayland: https://groups.google.com/forum/?fromgroups#!topic/wx-dev/en7oPeUiV9A

I'll re-write the wx backends to use Refresh/EVT_PAINT/BufferedPaintDC, as soon as the currently open wx PRs are merged. A rubberband protoype is working.

@github-actions
Copy link

github-actions bot commented May 1, 2023

This issue has been marked "inactive" because it has been 365 days since the last comment. If this issue is still present in recent Matplotlib releases, or the feature request is still wanted, please leave a comment and this label will be removed. If there are no updates in another 30 days, this issue will be automatically closed, but you are free to re-open or create a new issue if needed. We value issue reports, and this procedure is meant to help us resurface and prioritize issues that have not been addressed yet, not make them disappear. Thanks for your help!

@github-actions github-actions bot added the status: inactive Marked by the “Stale” Github Action label May 1, 2023
@tacaswell tacaswell added keep Items to be ignored by the “Stale” Github Action and removed status: inactive Marked by the “Stale” Github Action labels May 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GUI: wx keep Items to be ignored by the “Stale” Github Action
Projects
None yet
Development

No branches or pull requests

2 participants