Commit graph

275 commits

Author SHA1 Message Date
Dominique Martinet
11d5284e83 virtual keyboards: add virtual keyboards to seat list
Without adding the keyboard to seat list we wouldn't properly declare
keyboard capability, making the keyboard not work in headless mode.

We actually need to free this at some point so adding to the list is
most sensible, but we still do not want to group virtual keyboards with
regular ones so add a new 'is_virtual' bool to cg_keyboard_group so we
can skip these for grouping.
2022-10-28 21:40:34 +09:00
Dominique Martinet
25a025c6fb virtual pointers/keyboard: update capabilities after adding device
In headless case there will not be anyone else to call
update_capabilities(), so we must make sure they're called after we add
new devices that could... add capabilities.

Just inconditionally call it like other pointer/keyboard add handlers.
2022-10-28 21:39:37 +09:00
Dominique Martinet
265d8782c9 virtual pointer: set output name from preferred output
This fixes the following error when trying to map outputs:
00:00:03.384 [../seat.c:126] Input device virtual pointer cannot be mapped to an output device

(this is probably harmless)
2022-10-28 21:39:20 +09:00
Dominique Martinet
5443d3f828 seat: add wlr_virtual_pointer_manager_v1
together with the previous patch, wayvnc can now be used with cage:
 $ cage something
 # figure out which wayland socket cage used
 $ WAYLAND_DISPLAY=wayland-0 wayvnc

Note this does not appear to work with headless backend, e.g. starting cage with
WLR_BACKENDS=headless WLR_LIBINPUT_NO_DEVICES=1 cage something
does start and wayvnc connects/displays output, but there are tons of errors
and input does not work
2022-10-28 20:43:46 +09:00
Dominique Martinet
b60a686d30 seat: add wlr_virtual_keyboard_manager_v1 2022-10-28 20:43:46 +09:00
Ethan D. Twardy
a81ab701d7 Update meson.build not to fail if git rev-parse fails 2022-08-19 11:59:41 +02:00
Ethan D. Twardy
1b9d750dc2 Fix warnings in `meson build' output for deprecated functions.
Previously, the output of `meson build` would warn about the use of
some functions that have been deprecated since meson v0.56.0, and
the use of the `check` kwarg in the `run_command()` function.
Update meson.build to fix these build warnings.
2022-08-19 11:59:41 +02:00
Leonardo Hernández Hernández
46778e6d6c output: get scene_output by wlroots function 2022-03-22 16:58:24 +01:00
Jente Hidskes
f71844ab54 xdg_shell: add note why we're setting the size for fullscreen clients 2022-01-14 14:59:13 +01:00
Jente Hidskes
38f8566155 xdg_shell: check role in is_primary 2022-01-14 14:59:13 +01:00
Jente Hidskes
ee5410d3fb util: remove unneeded module 2022-01-14 14:59:13 +01:00
Jente Hidskes
d708a73aca view: require non-NULL surface in view_from_wlr_surface 2022-01-14 14:59:13 +01:00
Jente Hidskes
ba9c245393 view: implement view_from_wlr_surface in terms of wlr_surface->data pointer 2022-01-14 14:59:13 +01:00
Jente Hidskes
1ccbacf198 output: set pointer to cg_output in wlr_output->data
This will be used later in the layer shell implementation.
2022-01-14 14:59:13 +01:00
Dima Krasner
3321daef98 fall back to a lower output mode if needed (swaywm/sway@4cdc4ac) 2021-12-22 07:36:43 +01:00
Dima Krasner
f44ba0cea2 use find_library() for libm 2021-12-22 07:19:26 +01:00
Dima Krasner
0e87c2c8d8 restore direct libm dependency (fixes #222) 2021-12-22 07:09:09 +01:00
lunacb
de03250ca0 fixed typo 2021-12-21 21:56:56 +01:00
Jente Hidskes
dfba2d8f9d Remove no longer needed dependencies 2021-12-21 21:53:28 +01:00
Simon Ser
7fe306a79a Enable presentation-time
We get this for free with wlr_scene.
2021-12-21 21:53:28 +01:00
Simon Ser
36309d0c07 Enable viewporter
We get this for free with wlr_scene.
2021-12-21 21:53:28 +01:00
Simon Ser
77a3f6bb0c Use wlr_scene_output_send_frame_done 2021-12-21 21:53:28 +01:00
Simon Ser
7a7325c0ee Drop cg_view_child
This is now unused.
2021-12-21 21:53:28 +01:00
Simon Ser
79950cd691 Use wlr_scene_xdg_surface_create for popups
See https://github.com/swaywm/wlroots/pull/3298
2021-12-21 21:53:28 +01:00
Simon Ser
af610192f4 Use wlr_scene_output_for_each_surface 2021-12-21 21:53:28 +01:00
Simon Ser
5a1933f660 Delegate direct scan-out to wlr_scene
Depends on [1].

[1]: https://github.com/swaywm/wlroots/pull/3279
2021-12-21 21:53:28 +01:00
Simon Ser
e6f89ed6f1 Remove output_for_each_surface
It's used only by send_frame_done. Instead of keeping a generic
iterator, let's inline it in the only user.
2021-12-21 21:53:28 +01:00
Simon Ser
48b31afb5a Drop unused output_surface_for_each_surface 2021-12-21 21:53:28 +01:00
Simon Ser
0736d72e88 Use wlr_scene_attach_output_layout
This provides wlr_output_layout integration.

References: https://github.com/swaywm/wlroots/pull/3160
2021-12-21 21:53:28 +01:00
Simon Ser
d46e8a82dd Use scene-graph for damage tracking
References: https://github.com/swaywm/wlroots/pull/3117
2021-12-21 21:53:28 +01:00
Simon Ser
128fa90ea1 Use scene-graph helpers for sub-surfaces
Delegate sub-surface handling to wlr_scene_surface_tree_create.

References: https://github.com/swaywm/wlroots/pull/3128
2021-12-21 21:53:28 +01:00
Simon Ser
fb3dc58237 Replace view_wlr_surface_at with scene-graph 2021-12-21 21:53:28 +01:00
Simon Ser
6d60c6c464 Drop view_for_each_surface and view_for_each_popup_surface
With the scene-graph, these are no longer used.
2021-12-21 21:53:28 +01:00
Simon Ser
f544483340 Use the wlroots scene-graph API
References: https://github.com/swaywm/wlroots/pull/1966
2021-12-21 21:53:28 +01:00
Simon Ser
395189fb05 Upgrade to wlroots 0.15
- Update wlr_box includes to util/box.h: the wlroots header has
  been moved upstream.
- Subsurface fields have been moved
- Create renderer and allocator, stop using wlr_backend_get_renderer
- Initalize output rendering
2021-12-21 21:53:28 +01:00
Jente Hidskes
388d60d6b8 Tune compiler options 2021-12-19 11:12:19 +01:00
Jente Hidskes
8385b62a9b Move to GitHub actions 2021-12-19 11:12:19 +01:00
Palanix
d1367b1c46 removed focus_changed logic 2021-09-06 16:09:14 +02:00
Palanix
0ba1c40aa6 fix drag 2021-09-06 16:09:14 +02:00
Lorenz Brun
60492959a7 Set xdg_toplevel geometry for fullscreen clients 2021-09-06 15:46:09 +02:00
Simon Ser
b21f9c6322 Fix count_surface_iterator
This increments the pointer value, not the actual count.

References: https://github.com/Hjdskes/cage/issues/176
2021-08-11 12:54:49 +02:00
Simon Ser
1a3ab3eb3a build: allow using subproject for wlroots
This is handy when testing cage with a newer wlroots copy, or
when developing cage and wlroots patches in parallel.
2021-08-09 20:54:11 +02:00
Simon Ser
5424a35aba Damage drag icon when destroyed
This fixes the drag icon not disappearing when releasing the
pointer button.

Reproduction steps:

- Open gedit
- Drag some text around
- Release the pointer button
2021-08-09 20:53:24 +02:00
Simon Ser
cdb1cdf3b4 Don't manually parse XKB_* env vars
libxkbcommon will do it for us if we provide a NULL struct
xkb_rule_names.
2021-08-09 20:52:51 +02:00
Jente Hidskes
646b3e80b4 Update version to 0.1.4 2021-06-26 09:39:40 +02:00
Jan Beich
08e58c2b45 CI: bump wlroots version to 0.14.0 2021-06-26 09:25:36 +02:00
Jan Beich
636185bf9c meson: require wlroots 0.14.0 after 9a4523d47e
view.c:238:52: error: no member named 'subsurfaces_below' in 'struct wlr_surface'
        wl_list_for_each (subsurface, &view->wlr_surface->subsurfaces_below, parent_link) {
                                       ~~~~~~~~~~~~~~~~~  ^
/usr/include/wayland-util.h:443:30: note: expanded from macro 'wl_list_for_each'
        for (pos = wl_container_of((head)->next, pos, member);  \
                                    ^~~~
/usr/include/wayland-util.h:409:32: note: expanded from macro 'wl_container_of'
        (__typeof__(sample))((char *)(ptr) -                            \
                                      ^~~
2021-06-26 09:25:36 +02:00
Jan Beich
851268bedc view: chase swaywm/wlroots@9e58301df7
view.c:238:52: error: no member named 'subsurfaces' in 'struct wlr_surface'
        wl_list_for_each (subsurface, &view->wlr_surface->subsurfaces, parent_link) {
                                       ~~~~~~~~~~~~~~~~~  ^
/usr/include/wayland-util.h:443:30: note: expanded from macro 'wl_list_for_each'
        for (pos = wl_container_of((head)->next, pos, member);  \
                                    ^~~~
/usr/include/wayland-util.h:409:32: note: expanded from macro 'wl_container_of'
        (__typeof__(sample))((char *)(ptr) -                            \
                                      ^~~

Based on 3162766eef
2021-06-26 09:25:36 +02:00
Jente Hidskes
efaf76e9ab Include release scripts 2021-04-16 14:34:57 +02:00
Jente Hidskes
aa91af32a5 Update version to 0.1.3 2021-04-16 14:01:38 +02:00