Joshua Ashton
57a937bdf2
output: Implement drm_lease_v1
...
Needed for VR to work properly.
2022-03-28 21:13:51 +01:00
bi4k8
4c3bae0794
implement touch support
...
this is mostly plumbing; the most interesting logic is in touch_get_coords
2022-03-21 21:06:41 +00:00
Consolatis
64f7b9dd2b
Restore Drag mouse bindings and proper double click
...
Fixes #258 and #259
Reported-by: @ahmadraniri1994
Reported-by: @01micko
Suggested-by: bi4k8 <bi4k8@github>
2022-03-21 18:08:04 +00:00
Johan Malm
97846ae45b
cursor: add cursor_update_focus()
...
...and call it from desktop_move_to_front() in order force an enter event
on the surface below the cursor when cycling views.
Fixes #162 and #225
Inspired by PR #164 - just restructured it a bit.
Suggested-by: @bi4k8
Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
2022-03-21 17:57:20 +00:00
Consolatis
befe66d93f
cursor.c: Keep sending adjusted motion events while button is pressed
...
This allows to keep dragging a scrollbar or selecting text even when
moving outside of the window. Fixes #241
2022-03-21 17:56:48 +00:00
Consolatis
3171aba0e2
ssd: dynamically adjust resize extents based on usable_area
...
Fixes #265
2022-03-12 15:32:44 +00:00
Consolatis
e4f1f9a975
ssd: use dynamic titlebar height based on font size and padding
2022-03-12 15:32:44 +00:00
bi4k8
c23397f362
support wlr-output-power-management
2022-03-08 20:07:51 +00:00
Johan Malm
6b8c10dcd4
view: show fullscreen views above top-layer
...
See https://github.com/LBCrion/sfwbar/issues/24
2022-03-07 21:20:44 +00:00
Johan Malm
852a6f02fa
layers: fix layer_popup_tree implementation
2022-03-06 16:48:39 +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
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
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
bd9ac3478a
Remove src/damage.c
2022-03-01 20:54:52 +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
4c981b845f
include/ssd.h remove unnecessary struct definition
...
Instead, just tag the struct so we can reference it.
2022-02-25 21:52:10 +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
953e8a4f9d
[style] rename action() to actions_run()
2022-02-24 21:17:51 +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
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
b79744e7b0
Chase wlroots master
...
We need it for wlr_scene_layer_surface_v1_create()
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
Johan Malm
ba909e4fc7
Refactor buffer implementation to take a cairo_t
...
Remove buffer_drop() and just destroy it.
2022-02-23 21:47:01 +00:00
Johan Malm
5934ed6682
Add debug_dump_scene()
...
Dump view_tree and osd_tree on calling debug-action. Example bind:
<keybind key="A-F12">
<action name="Debug"></action>
</keybind>
2022-02-23 21:47:01 +00:00
Johan Malm
532656ad5b
Use wlroots scene-graph API
...
Move xdg-shell and xwayland-shell surfaces to new API
Also render alt-tab on-screen-display by converting cairo-surface to
wlr_buffer
2022-02-23 21:46:48 +00:00
Johan Malm
d2552232c7
Add buffer.c to cover cairo-surface to wlr_buffer
2022-02-23 21:41:01 +00:00
ARDiDo
7c437eac2f
OSD: Use separate OSD texture for each output
2022-02-09 21:57:32 +00:00
ARDiDo
049b84409e
OSD: Scale OSD to the largest output scale
2022-02-09 21:57:32 +00:00
Consolatis
413811f3a2
Use proper enum argument type for desktop_surface_and_view_at
2022-01-30 21:23:15 +00:00
Consolatis
7ecae4afce
Move is_button() into src/ssd.c and make it public
2022-01-30 21:23:15 +00:00
Consolatis
b7b1e8064f
Add WindowMenu button
2022-01-26 06:17:41 +00:00
Consolatis
759b26b5c1
Add window menu
2022-01-26 06:17:41 +00:00
Johan Malm
2652522a70
cursor: revert 6651d; remove cursor_update_focus()
...
...to ensure new windows receive keyboard focus even if the cursor is
over an existing window.
Fix issue #210
2022-01-24 17:51:54 +00:00
Liam Middlebrook
875b258602
output: Add option to preview the contents of the current cycle_view
...
Add the 'cycleViewPreview.core' option to rc.xml to enable previews of
the selected view when cycling between windows. Default this option to
be disabled to match current behavior.
2022-01-23 16:02:54 +00:00
Consolatis
f0a3f365e5
Centralize freeing of action lists
...
Reduces some code duplication and makes it easier to extend struct action
2022-01-23 10:36:04 -05:00
Consolatis
87f4a60e38
Allow mouse movements to trigger SnapToEdge
2022-01-08 10:30:03 +00:00
ARDiDo
5935a78fb4
mouse: add support for drag mouse event
2022-01-07 22:05:07 +00:00
Johan Malm
be89478f7a
view: fix bug in view_snap_to_edge()
...
Use view_move() and view_move_resize() correctly.
view_move_resize() should only be used when the view actually changes
width and/or height, otherwise the serials might cause a delay in moving
xdg-shell clients.
Issue #201
2022-01-07 20:53:48 +00:00
Johan Malm
3c92cc4dd0
Move action() prototype from labwc.h to action.h
2022-01-05 21:27:47 +00:00