Johan Malm
d34efad7bb
view: remove warning in view_move_resize()
2022-03-07 20:59:54 +00:00
Johan Malm
801a04a647
layers: always unmap on destroy
...
This sets seat->focused_layer to NULL if appropriate.
2022-03-07 20:54:22 +00:00
Johan Malm
7a708a0dc9
xdg: set node position on commit and configure
...
To avoid incorrect view position, for example on initial placement.
2022-03-06 17:12:00 +00:00
Johan Malm
a601615866
ssd: add top border
...
Raise border on top of (z-order) titlebar
2022-03-06 17:06:14 +00:00
Johan Malm
852a6f02fa
layers: fix layer_popup_tree implementation
2022-03-06 16:48:39 +00:00
Johan Malm
77ac3474b6
buffer.c: chase wlroots master
...
Include <wlr/interfaces/wlr_buffer.h>
39b68ea47a
2022-03-04 20:25:04 +00:00
Consolatis
5deeca833f
ssd: Disable resize extents while in maximized or fullscreen state
2022-03-04 20:02:57 +00:00
Johan Malm
19f3a6ef83
output: attach node-descriptors to node-trees
2022-03-03 18:20:16 +00:00
Johan Malm
6fd400b493
layers: put popups in separate node-tree
...
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.
2022-03-03 17:56:38 +00:00
Johan Malm
34bd1fb6da
layers: unconstrain popups correctly
...
...to show popups when using @Consolatis's example panel
https://github.com/Consolatis/wl_framework
2022-03-03 17:53:26 +00:00
Consolatis
8444ba4075
Convert menu to node_descriptors
2022-03-03 17:49:54 +00:00
Johan Malm
eb7645d0e0
node.c: use wlr_scene_node instead of node_descriptor
2022-03-02 22:24:30 +00:00
Johan Malm
b4cbc20e8c
node.c: add helpers for returning structs from node data
...
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
2022-03-02 22:05:41 +00:00
Johan Malm
30298228e3
Rename node-descriptor.c to node.c
...
...in anticipation of adding helpers like node_view_from_node()
2022-03-02 21:07:04 +00:00
Consolatis
51e02e2afa
src/desktop.c: Fix label error
...
Fixes "a label can only be part of a statement
and a declaration is not a statement".
2022-03-02 20:43:59 +00:00
Consolatis
db9a808dca
debug.c: use node descriptors
2022-03-02 20:43:59 +00:00
Johan Malm
d3918eec0a
layers: only define LAB_NR_LAYERS locally where needed
2022-03-02 20:39:46 +00:00
Johan Malm
98d5fd483d
layers: s/arrange_layers/layers_arrange/
...
Because we like to start public function names with the name of the
file.
Move prototype from labwc.h to layers.h
2022-03-02 20:29:29 +00:00
Johan Malm
04580fa825
layers: arrange layers on output-layout change
2022-03-02 20:26:09 +00:00
Johan Malm
99361d6ad8
layers.c: fix coding style
2022-03-02 20:23:20 +00:00
Johan Malm
a1d93cc97c
layers: position each layer_tree correctly relative to its output
2022-03-02 20:21:57 +00:00
Johan Malm
bd9ac3478a
Remove src/damage.c
2022-03-01 20:54:52 +00:00
Johan Malm
e289100a54
xwayland-unmanaged: fix dereference NULL pointer bug
...
Discovered when right-clicking names in hexchat
2022-03-01 20:45:31 +00:00
Johan Malm
c0f369aafb
Enable presentation time
2022-02-28 22:30:36 +00:00
Johan Malm
cec0c5cee6
desktop.c: set *view_area right for layer-popup
2022-02-26 23:30:02 +00:00
Johan Malm
49e8658a7b
layer: support popups
2022-02-26 22:36:16 +00:00
Johan Malm
2891ff245e
Add node-descriptor for wlr_scene_nodes
...
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
2022-02-26 22:35:51 +00:00
Consolatis
5f62f2ba99
xwayland.c: Fix positioning with multiple queued configure events
...
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.
2022-02-25 21:51:40 +00:00
Consolatis
00ff00d9f9
[style] use __func__ in log message
2022-02-24 21:17:51 +00:00
Consolatis
9c4bacc9b7
[style] fix open brace after function definition
2022-02-24 21:17:51 +00:00
Consolatis
953e8a4f9d
[style] rename action() to actions_run()
2022-02-24 21:17:51 +00:00
Consolatis
7d98bc7aa2
ssd/ssd_titlebar.c: Only store title state if title has been changed
2022-02-24 06:56:25 +00:00
Consolatis
c033667716
src/ssd/: Don't access view->surface->current directly
...
Instead use view->{w,h} which are set on client commit
2022-02-24 06:56:25 +00:00
Johan Malm
f4c9d1ba9f
Set node position in xdg/xwayland commit handlers
...
...in order to sync resize/move events to avoid left/bottom edge wobbling
when resizing with top/left resize edges
2022-02-23 22:39:57 +00:00
Johan Malm
581a2bb2f1
cursor+keyboard: chase wlroots master
...
Use wlr_input_device from input device base.
Use wlr_keyboard where possible.
2022-02-23 22:19:16 +00:00
Consolatis
29021dad6a
xdg/xwayland: Do not destroy scene node on unmap
...
This prevents segfaulting when unminimizing
2022-02-23 21:47:01 +00:00
Consolatis
c2f7e0be3d
debug.c: try to id important elements
2022-02-23 21:47:01 +00:00
Consolatis
17d83402ee
xwayland.c: Fix xwayland views activating themself before mapping
2022-02-23 21:47:01 +00:00
Consolatis
a2523081e2
Handle 'lost' unmanaged xsurfaces + improve cursor handling
2022-02-23 21:47:01 +00:00
Consolatis
5862b65f89
Convert SSD to scene nodes
2022-02-23 21:47:01 +00:00
Consolatis
f2d40a8d69
Scene Menu
2022-02-23 21:47:01 +00:00
Johan Malm
f26b61137d
layers.h: define LAB_NR_LAYERS (4)
2022-02-23 21:47:01 +00:00
Johan Malm
6488b933fa
layers.c: set output->usable_area
2022-02-23 21:47:01 +00:00
Consolatis
044388a5cd
Prepare to move from wlr_texture to lab_data_buffer
2022-02-23 21:47:01 +00:00
Consolatis
7ea733761b
Use view->scene_tree as toplevel for view + some legwork:
...
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
2022-02-23 21:47:01 +00:00
Johan Malm
688abf7db1
Handle layers under the scene-graph API
...
This excludes popups.
2022-02-23 21:47:01 +00:00
Johan Malm
9fed8e0998
Handle popups under xdg-toplevels in xdg-popup.c
...
...to make it easier to deal them separetely from layer-shell popups
2022-02-23 21:47:01 +00:00
Johan Malm
b79744e7b0
Chase wlroots master
...
We need it for wlr_scene_layer_surface_v1_create()
2022-02-23 21:47:01 +00:00
Johan Malm
04ca9fbdf5
buffer: use cairo_surface_destroy()
...
...rather than free(buffer->data)
2022-02-23 21:47:01 +00:00
Johan Malm
f22bfc96b2
buffer: create cairo_t inside buffer_create()
2022-02-23 21:47:01 +00:00