Nothing Special   »   [go: up one dir, main page]

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

Use wlroots scene-graph API #264

Merged
merged 56 commits into from
Mar 6, 2022
Merged

Use wlroots scene-graph API #264

merged 56 commits into from
Mar 6, 2022

Conversation

johanmalm
Copy link
Collaborator

No description provided.

johanmalm and others added 30 commits February 23, 2022 21:41
Move xdg-shell and xwayland-shell surfaces to new API

Also render alt-tab on-screen-display by converting cairo-surface to
wlr_buffer
Dump view_tree and osd_tree on calling debug-action. Example bind:

<keybind key="A-F12">
  <action name="Debug"></action>
</keybind>
Remove buffer_drop() and just destroy it.
...rather than free(buffer->data)
We need it for wlr_scene_layer_surface_v1_create()
Future meson releases will change the default, so we explicitly set
check: false to maintain behaviour
...to make it easier to deal them separetely from layer-shell popups
desktop.c move_to_front() calls wlr_scene_node_raise_to_top
desktop.c, ssd/include.h add LAB_SSD_{OSD, MENU, LAYER_SURFACE} enums
desktop.c desktop_surface_and_view_at() -> desktop_node_and_view_at()
cursor.c reenable cursor_rebase()
cursor.c reenable button click on layer surface
This prevents segfaulting when unminimizing
Use wlr_input_device from input device base.
Use wlr_keyboard where possible.
...in order to sync resize/move events to avoid left/bottom edge wobbling
when resizing with top/left resize edges
Instead use view->{w,h} which are set on client commit
Prevents a single action like ToggleDecorations + ToggleMaximize to
position the view somewhere with negative coordinates when unmaximizing.

It may still position the view on negative coordinates but later commit
events will fix the position. This issue only exists on xwayland because
there are no configure serials which we could use to ignore all
repositioning until we are at the latest desired state.
Consolatis and others added 26 commits February 25, 2022 21:52
Instead, just tag the struct so we can reference it.
Support identification of wlr_scene_node role to enable simplification
of codebase including the avoidance of iterating over lists of
layer-surface, menuitems, and so on.

Use node-descriptors for xdg toplevels and popups
Discovered when right-clicking names in hexchat
Because we like to start public function names with the name of the
file.

Move prototype from labwc.h to layers.h
Fixes "a label can only be part of a statement
and a declaration is not a statement".
...in anticipation of adding helpers like node_view_from_node()
Support returning the following structs:
  - view from LAB_NODE_DESC_VIEW or LAB_NODE_DESC_XDG_POPUP
  - lab_layer_surface form LAB_NODE_DESC_LAYER_SURFACE
  - lab_layer_popup from LAB_NODE_DESC_LAYER_POPUP
This allows popups to be rendered above views and other layers. Without
this, the popups of a layer-shell application in the bottom layer would
render below views, which does not seem right. For example, consider the
case of a panel with right-click popups.
Raise border on top of (z-order) titlebar
To avoid incorrect view position, for example on initial placement.
@johanmalm johanmalm merged commit c73628c into master Mar 6, 2022
@johanmalm johanmalm deleted the scene-graph branch March 6, 2022 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants