-
-
Notifications
You must be signed in to change notification settings - Fork 691
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
Refactor drawer #4230
Refactor drawer #4230
Conversation
63d905d
to
388ff39
Compare
388ff39
to
15b5211
Compare
@m-col @jwijenbergh - I've done a very ugly job of rebasing this onto #3985. Could you test this in conjunction with this branch of qtile-extras (https://github.com/elParaguayo/qtile-extras/tree/refactor-drawer-decorations) and see if decorations work ok for you. I'll do some more testing here. |
tox.ini
Outdated
PyGObject | ||
pytest >= 6.2.1 | ||
types-python-dateutil | ||
types-pytz | ||
types-pkg_resources | ||
commands = | ||
<<<<<<< HEAD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
leftovers from rebase
tox.ini
Outdated
pip install -r requirements.txt pywayland>=0.4.14 xkbcommon>=0.3 | ||
pip install pywlroots>=0.16.1,<0.17.0 | ||
======= |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
leftovers from rebase
tox.ini
Outdated
pip install pywlroots>=0.15.24,<0.16.0 | ||
>>>>>>> 2b68c3da (cairocffi 1.5.0 build changes) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
leftovers from rebase
a60cead
to
2083c93
Compare
This starts work on transferring the wayland backend over to the scene graph API. While this is a big change, it hands off more of the heavy lifting (i.e. rendering, damage tracking, client configuring etc) to wlroots, thus making our own maintainence easier (and improving runtime performance too). The changes in this commit add some of the initial setup and get XDG shell clients working as expected. Internals, wallpapers, layer shell, and XWayland are upcoming.
And also removes remaining damage-related code. The scene tree is inspired by dwl's setup, where we have a sequence of trees roughly corresponding to the layer shell's layers, plus more for regular windows and drag icons etc.
- nests all windows into new window tree, use subtree `Core.mid_window_tree` to parent regular window trees. This fixes an issue where drag icons were always under the pointer (by design) so scanning for nodes under the pointer picked it up instead of what was below, which should be recieving pointer motion events to respond to the drag icon. - updates the scene graph diagram
- Changes pytests warning filter (-W flag) to only error upon warnings that arise within libqtile. If they arise within our deps then we shouldn't error out. - Moves the warning filter config from the command line (in tox.ini) to the configuration in setup.cfg - re-instate warning filter for py310, which was temporarily disables due to an error in pygobject. It seems to only affect -W error globally on all warnings - migrates pytest config from setup.cfg to pyproject.toml per their docs
This method conflicts with `Core.remove_listener`
This lets docs get built by sphinx on systems without wayland system dependencies.
2083c93
to
55b21a5
Compare
An attempt to tidy up the Drawer objects.
@m-col this has not been rebased onto the wlroots 0.16 branch.
Draft for now so we can test etc.
Main change is to stop
clear
from writing toXCBSurface
in x11 orImageSurface
in Wayland. Instead, everything is rendered to a singleRecordingSurface
and the backend then performs specific actions to render it to the window.