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

Window on Linux does not get repainted #275

Open
1 task done
axelson opened this issue Jun 30, 2022 · 1 comment
Open
1 task done

Window on Linux does not get repainted #275

axelson opened this issue Jun 30, 2022 · 1 comment
Labels
bug Something isn't working

Comments

@axelson
Copy link
Collaborator

axelson commented Jun 30, 2022

Checklist

  • Check other issues and make sure that it is not reported yet.

Versions and Environment

Elixir:

# elixir -v
Erlang/OTP 24 [erts-12.3.1] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [jit]

Elixir 1.13.4 (compiled with Erlang/OTP 24)

Erlang:

# erl -v
Erlang/OTP 24 [erts-12.3.1] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [jit]

Enabled docsh 0.7.1 from: /home/jason/dev/forks/docsh/_build/default/lib/docsh
Call h(docsh) for interactive help.

Eshell V12.3.1  (abort with ^G)

Scenic:

# mix deps | grep scenic
* scenic 0.11.0-beta.0 (https://github.com/boydm/scenic.git - origin/v0.11) (mix)
* scenic_driver_local 0.11.0-beta.0 (Hex package) (mix)
  locked at 0.11.0-beta.0 (scenic_driver_local) 8812762a

OS:

Arch Linux with X11 running openbox as a WM

Steps to reproduce

Start up a viewport and drag a window on top of it

Expected Behavior

The window to be re-painted after I move another window on top of it

Actual Behavior

The painting that the other window never gets overwritten until a new change to a scene is pushed which creates visual artifacts like this:
Screen Shot 2022-06-29 05-38-52

Stack Trace

N/A

Additional Comments

Previously I was able to work around this by continually calling push_graph (or it's equivalent) but in v0.11 I believe scenic now detects that the graph hasn't changed and refuses to push changes to the window.

Possibly doesn't affect other flavors of Linux. I'll also note that this doesn't affect my other non-scenic programs.

@crertel
Copy link
Contributor

crertel commented Jul 1, 2022

@boydm we tested and resizing the window also fixes this.

Perhaps we should have an option for the driver to force periodic redraws in cases like these where a window manager or compositor is bad about dirty window framebuffers.

@crertel crertel added the bug Something isn't working label Dec 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants