Simon Ser
852839e59f
Add CLI flag to enable debug logs
...
For bug reports, it's useful to ask for a debug log. However there's
no way for users to enable debug logs without recompiling. Add a
CLI flag to do so.
2024-11-22 12:03:40 +01:00
Michal Vaniš
0208f565dc
readme: add link to man page
2024-11-03 16:29:19 +01:00
Simon Ser
e128a9f251
build: bump to version 0.2.0
2024-10-06 15:24:22 +02:00
Simon Ser
34de3f7bac
ci: drop libwayland C23 workaround
2024-10-02 09:15:44 +02:00
Simon Ser
f0651c7671
xdg_shell: wait for initial commit to unconstrain popups
2024-09-07 23:42:24 +02:00
Simon Ser
412c11ea91
cage: fix abort on shutdown
...
Workaround for [1]: register a listener for wl_display destroy and
avoid calling wl_display_terminate() after.
[1]: https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/421
2024-09-07 23:42:24 +02:00
Simon Ser
1abf7e5a4b
xdg_shell: wait for initial commit to set xdg-decoration mode
...
Sending the xdg-decoration mode when the xdg_toplevel_decoration
object is created is incorrect: we need to wait for the initial
commit.
2024-09-07 23:42:24 +02:00
Simon Ser
fa90174607
xdg_shell: configure surface on initial commit
...
Instead of waiting for the surface to be mapped before sending a
configure event, do it on initial commit.
Note, wlroots 0.18 no longer sends automatic configure events on
initial commit.
2024-09-07 23:42:24 +02:00
Simon Ser
17af2f7be9
ci: workaround libwayland C23 bug
2024-09-07 23:42:24 +02:00
Simon Ser
a81cc2a8e4
seat: rename WLR_INPUT_DEVICE_TABLET_TOOL to WLR_INPUT_DEVICE_TABLET
2024-09-07 23:42:24 +02:00
Simon Ser
874a4a1e79
xdg_shell: use new lifecycle events
2024-09-07 23:42:24 +02:00
Simon Ser
7cc49d2292
cage: drop wlr_scene_set_presentation()
...
Scene-graph will do the right thing without this call.
2024-09-07 23:42:24 +02:00
Simon Ser
b9add8b729
cage: create backend with wl_event_loop and output layout with wl_display
2024-09-07 23:42:24 +02:00
Simon Ser
47ea6a5d68
seat: pass relative direction to wlr_seat_pointer_notify_axis()
2024-09-07 23:42:24 +02:00
Simon Ser
8714a82c24
Bump wlroots requirement to v0.18
2024-09-07 23:42:24 +02:00
Simon Ser
eaeab71ffa
cage: fix SIGINT/SIGTERM handler data
...
server.wl_display is already a pointer.
Reported-by: Jonathan GUILLOT <jonathan@joggee.fr>
2024-08-28 12:03:10 +02:00
Simon Ser
69c5eccc50
ci: turn on --fatal-meson-warnings
...
Catches mistakes such as non-existing build options.
2024-08-26 18:10:26 +02:00
Jonathan GUILLOT
df508d65e7
readme: update meson commands
2024-08-22 08:35:58 +02:00
Jonathan GUILLOT
018d5bc4b9
readme: update wlroots dependency version
2024-08-22 08:35:58 +02:00
Simon Ser
d3fb99d665
build: drop xwayland option
...
This is unnecessary because Xwayland logic doesn't bring in new
dependencies. We can just compile in our Xwayland-related code
when wlroots has been built with Xwayland support.
See this Sway patch: https://github.com/swaywm/sway/pull/8165
2024-07-30 00:42:32 +02:00
Simon Ser
e7d8780f46
Add support for primary selection
2024-02-26 16:41:17 +01:00
Simon Ser
9d43282fa0
Add .editorconfig
...
Allows text editors to display files with the correct tab width.
2024-02-23 12:14:39 +01:00
Simon Ser
d07afac4ae
output: fix assert when re-adding output to layout
...
wlr_scene_output_layout_add_output() aborts when called with an
already-added output.
To reproduce, run wlr-randr to reconfigure one of the enabled
outputs.
2024-02-23 12:14:00 +01:00
Simon Ser
767ccf9bbd
output: use wlr_output_head_v1_state_apply()
...
No need to hand-roll this code, there is a wlroots helper for it.
Additionally, this fixes missing adaptive sync handling.
2024-02-20 11:01:41 +01:00
Supreeeme
b6f8f92585
xwayland: fix double wl_list_remove
...
When destroying an xwayland surface, the dissociate and destroy handlers
are called, but both of these were removing the map and unmap signal
handlers, causing a segfault when the destroy handler went to remove
them.
Fixes #309
2024-02-12 11:57:38 +01:00
Kenny Levinsen
8a009212bc
output: Transition to wlr_output_state
...
We previously used the wlr_output's built-in pending state and
wlr_output_rollback. The modern state API is much nicer.
2024-01-26 23:45:57 +01:00
Kenny Levinsen
f0bc13bef7
output: Add scene output layout helper manually
2024-01-26 23:45:57 +01:00
Kenny Levinsen
63c0887664
output: Implement request_state event listener
...
wlroots backends no longer change state on their own, and instead send a
request_state event. Monitor this event and apply any state we receive.
2024-01-26 23:45:57 +01:00
Kenny Levinsen
c9d2f3afac
meson: Bump minimum wlroots to 0.17
2024-01-26 23:45:57 +01:00
Kenny Levinsen
b40be06da2
ci: Upgrade wlroots to 0.17
2024-01-26 23:45:57 +01:00
Kenny Levinsen
67def26d83
ci: Fix Alpine xwayland dependency
2024-01-26 23:45:57 +01:00
Kenny Levinsen
c801544d61
meson: Convert xwayland option to feature type
...
wlroots as a subproject now yields the xwayland meson option to its
parent. We need to match the type for this to work. This also adds
support for auto mode, where xwayland is used if present but no warning
is given otherwise.
2024-01-26 23:45:57 +01:00
Kenny Levinsen
1ff7945ba1
Switch from wlr_idle to wlr_idle_notify_v1
...
The latter implemented the KDE protocol which has been dropped.
2024-01-26 23:45:57 +01:00
Kenny Levinsen
a30f2bcec1
Use new wlr_compositor_create signature
2024-01-26 23:45:57 +01:00
Kenny Levinsen
b55e40ad9d
seat: New cursor/xcursor interface
2024-01-26 23:45:57 +01:00
Kenny Levinsen
2d4b7a4e23
shell: Use new map/unmap events
...
For xwayland we must listen on associate/dissociate to set up and tear
down the map/unmap event handlers instead of during surface
create/destroy.
2024-01-26 23:45:57 +01:00
Kenny Levinsen
4ea6a8b1a7
shell: Use new try_from surface getters
2024-01-26 23:45:57 +01:00
Kenny Levinsen
8df120dafd
output: Use state field in wlr_output_event_commit
2024-01-26 23:45:57 +01:00
Kenny Levinsen
2f7ab094d4
output: Remove output mode handler
...
This is replaced by monitoring for WLR_OUTPUT_STATE_MODE on commit.
2024-01-26 23:45:57 +01:00
Kenny Levinsen
b51a6e950f
output: wlr_scene_output_commit NULL options
2024-01-26 23:45:57 +01:00
Kenny Levinsen
b772a00df8
output: Call wlr_scene_output_create
2024-01-26 23:45:57 +01:00
Kenny Levinsen
64e2a44124
output: Remove wlr_output_damage include
2024-01-26 23:45:57 +01:00
Kenny Levinsen
624355485a
Use new wlr_backend_autocreate signature
...
The session is now stored explicitly, with wlr_backend_get_session being
dropped.
2024-01-26 23:45:57 +01:00
Simon Ser
34eb3ec2c8
Make Xwayland optional at runtime
...
Closes: https://github.com/cage-kiosk/cage/issues/293
2023-12-11 17:25:08 +01:00
Moon Sungjoon
1f3e3043dd
CI: Set `fail-fast' to false
...
This allows other jobs to continue running even if one job fails
2023-11-22 15:21:03 +01:00
Jonathan GUILLOT
d40dd3bd99
cage: remove not really used variables in server initialization
2023-11-10 14:38:28 +01:00
Jonathan GUILLOT
2ab480910e
cage: add relative-pointer-unstable-v1 support
2023-11-10 14:38:28 +01:00
Jonathan GUILLOT
efbf7c035b
seat: move initial cursor center to dedicated function
2023-11-10 14:38:28 +01:00
Jonathan GUILLOT
4dc3cf80b2
output: fix crash when re-enabling DRM output
...
The output is disabled then re-enabled using the wlr-output-management
protocol with tool such as wlr-randr.
$ wlr-randr --output HDMI-A-1 --off
$ wlr-randr --output HDMI-A-1 --on
When re-enabled the new output configuration is committed before the
output to be added to the global output layout. However,
handle_output_commit() expects the output to be already part of this
global layout and assert failed. Now, do not treat this in
handle_output_commit() and simply ensure the resulting scene output is
not NULL in handle_output_frame().
2023-09-20 00:01:35 +09:00
Jonathan GUILLOT
a769943447
output: ensure output is marked as enabled before trying to set mode
...
Otherwise, testing to set preferred / "best" mode will always return an
error. Consequently, output will simply be configured with last and
probably "worst" mode.
2023-09-01 18:37:53 +09:00