Commit graph

965 commits

Author SHA1 Message Date
Johan Malm
5b34c81768 Fix trivial coding style breaches 2022-04-04 20:53:36 +01:00
John Lindgren
8e1f115486 cursor: Fix "jumping opposite edges" issue when resizing
Commit 08c537e ("xwayland: Honor size increments from
WM_SIZE_HINTS") adjusted only the window width/height according
to the size hints.  If resizing from the top or left edge of the
window, we also need to adjust the window position to keep the
bottom or right edge from jumping around.
2022-04-04 17:28:52 +01:00
Consolatis
47912aebb6 cursor.c: Do not segfault on missing drag icon
Observed by moving tabs in chromium wayland native
(started with --ozone-platform-hint=wayland).
2022-03-30 18:22:48 +01:00
Johan Malm
3826d7ef36 CONTRIBUTING.md: add notes on packaging 2022-03-28 21:39:15 +01:00
Johan Malm
a188526859 touch.c: fix coding style (sx,sy) vs (nx,ny)
Prefer surface to node naming convention for coordinates
2022-03-28 21:35:59 +01:00
Joshua Ashton
57a937bdf2 output: Implement drm_lease_v1
Needed for VR to work properly.
2022-03-28 21:13:51 +01:00
Johan Malm
b23774e561 xwayland.c: fix coding style 2022-03-28 20:51:59 +01:00
Johan Malm
c153bbc0b2 touch.c: fix coding style
Mostly "foo* bar"-should-be-"foo *bar" warnings and space before brackets
2022-03-28 20:50:18 +01:00
Johan Malm
bca2e9be60 Chase wlroots wlr_seat_keyboard() refactoring
wlr_seat_keyboard() now takes wlr_keyboard
2022-03-28 20:41:53 +01:00
bi4k8
401b282772 fix crash when changing TTY
also add an assertion to clarify the contract of `output_by_name`
2022-03-21 21:08:48 +00: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
Johan Malm
a2a2e093ef cursor.c: fix bad cherry-pick in previous commit (64f7b9d) 2022-03-21 20:33:10 +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
067b0e8798 xwayland.c: Do not raise window if deactivating
Fixes #270
2022-03-21 17:15:09 +00:00
John Lindgren
08c537ebd9 xwayland: Honor size increments from WM_SIZE_HINTS 2022-03-21 09:38:05 +00:00
Johan Malm
06042337d6 Merge branch 'master' of https://github.com/labwc/labwc 2022-03-19 11:35:26 +00:00
Johan Malm
d844f6798b Chase wlroots wlr-device-input refactoring
Rename wlroots input device events, for example
's/wlr_event_pointer_motion/wlr_pointer_motion_event/'

seat.c:
- In configure_libinput() use wlr_input_device->type rather than width_mm
- In new_pointer() use wlr_input_device->type rather than output_name to
  check that device is pointer.
2022-03-19 11:34:11 +00:00
Consolatis
420c0712f8 menu.c: Handle keybinding based Reconfigure while menu is shown 2022-03-16 18:21:32 +00:00
Consolatis
428423cfa9 menu.c: Handle out of screen submenus
Fixes #276
2022-03-16 18:21:32 +00:00
Johan Malm
5fd5024ca6 output: fix incorrect call to private wlroots function
Use wlr_output_test() instead of output_ensure_buffer() which is not a
public function and only compiled when linking statically to wlroots.

Also wlr_output_rollback() on failed test.

Fixes issue #273
2022-03-15 21:30:25 +00:00
Consolatis
4ee9f351ea ssd_extents: force initial manual ssd_extents update for x11 clients 2022-03-12 15:32:44 +00:00
Consolatis
3171aba0e2 ssd: dynamically adjust resize extents based on usable_area
Fixes #265
2022-03-12 15:32:44 +00:00
Consolatis
e086f6f5e0 ssd: move top border above titlebar 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
Consolatis
3bb44fc9f2 ssd: increase resize corners 2022-03-12 15:32:44 +00:00
01micko
25fcc3910b README.md: add wlopm to "6. Integrate" (recommended programs)
- made it first in the array of 'output managers' because since the
`scene_graph` merge it's the only way I have found to reliably
turn off/on outputs.
- it supports "wlr-output-power-management-unstable-v1"
- as does labwc since c23397f
- works with swayidle/swaylock
2022-03-09 21:03:35 +00:00
bi4k8
c23397f362 support wlr-output-power-management 2022-03-08 20:07:51 +00:00
bi4k8
748b3d38e7 add wlr-output-power-management protocol 2022-03-08 20:07:51 +00:00
Johan Malm
5624ef8cf3 Update NEWS.md 2022-03-07 21:24:33 +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
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
c73628ced1
Merge pull request #264 from labwc/scene-graph
Use wlroots scene-graph API
2022-03-06 17:33:40 +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