Commit graph

312 commits

Author SHA1 Message Date
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
Jonathan GUILLOT
96ffaa340e output: do not always terminate when last output is destroyed
Only terminate if the last output was nested under the Wayland or X11
backend. If not, using DRM backend for example, terminating Cage when
unplugging the last monitor or simply turning it off does not seem to be
the right behavior.
2023-09-01 18:37:53 +09:00
Jonathan GUILLOT
7ec7e3df2b seat: add missing touch_frame handler
wl_touch::frame() is expected to be sent to client to indicate end of
touch frame event and not sending it may cause issues.
For example, Qt applications using Qt Wayland platform plugin do not
consider touch events until this end of frame to be received.
2023-08-24 10:05:12 +02:00
Jonathan GUILLOT
121e3ac8b2 cage: return exit code of primary client
Some applications indicate different shutdown conditions by returning
specific exit codes. One of these is e.g. Kodi, which returns 64 in case
the user chose "Power off" and 66 in case the user chose "Reboot".
In order to act on these exit codes, it thus makes sense in some
situations to pass them on from the primary client to the caller of
Cage.

This exit code is only returned if the primary client is the cause of
Cage terminating.

Co-authored-by: Patrick Steinhardt <ps@pks.im>
2023-08-21 14:40:05 +02:00
Jan Beich
9a4310f8b6 Chase HTTP redirect 2023-08-14 09:18:22 +02:00
Jente Hidskes Ankarberg
d519b5b529 Establish chain of trust for signed releases 2023-07-29 10:27:05 +02:00
Simon Ser
ea95a8af72 readme: update PGP key ID 2023-07-29 01:08:56 +02:00
Simon Ser
83ffc574be build: bump version to 0.1.5 2023-07-28 16:46:37 +02:00
Simon Ser
794803adc9 build: fix default xwayland option type 2023-07-28 16:42:58 +02:00
Simon Ser
8dcc901522 Log execvp() failures
Closes: https://github.com/cage-kiosk/cage/issues/255
2023-07-28 16:41:03 +02:00
Jonathan GUILLOT
b1129ca72e output: fix segfault when using -m last option
Check output list length before accessing previous or next item to avoid
segfault.
2023-07-28 15:36:34 +02:00
Jonathan GUILLOT
6f78d9d5b2 cage: add basic wlr-output-management support
Co-authored-by: Dima Krasner <dima@dimakrasner.com>
2023-07-28 15:36:34 +02:00
Jente Hidskes
27b6971b36 cage: remove support for rotating outputs
This is now handled through wlr_output_management
2023-07-28 15:36:34 +02:00
ChemicalXandco
bd5b20e1fa add wlr_virtual_keyboard_manager_v1 and wlr_virtual_pointer_manager_v1 2023-02-01 00:26:37 +01:00
Simon Ser
46f0ec1b72 readme: drop CI badge
cage currently uses GitHub CI, not SourceHut.
2023-01-03 22:30:54 +01:00
Alexander Orzechowski
5f4c43db04 CI: bump to wlroots 0.16 2022-12-17 21:56:03 +01:00
Alexander Orzechowski
a8e4e3d131 Enable single-pixel-buffer
Why not.
2022-12-17 21:56:03 +01:00
Alexander Orzechowski
491d508d75 meson: Bump wlroots version 2022-12-17 21:56:03 +01:00
Alexander Orzechowski
36c9c52d3f Port 0.16 surface header includes 2022-12-17 21:56:03 +01:00
Alexander Orzechowski
3015e0368b Give xdg_shell a version 2022-12-17 21:56:03 +01:00
Alexander Orzechowski
32c44ddb5f Port 0.16 scene changes 2022-12-17 21:56:03 +01:00
Alexander Orzechowski
979ff58a24 Port 0.16 wlr_output_layout_get_box changes
Fixes memory leaks.
2022-12-17 21:56:03 +01:00
Alexander Orzechowski
5818a32a99 xdg_shell: Port 0.16 configure changes 2022-12-17 21:56:03 +01:00
Alexander Orzechowski
ea14819153 xdg_shell: Port to 0.16 double buffered geometry 2022-12-17 21:56:03 +01:00
Alexander Orzechowski
b43c7adcd9 xdg_shell: Port 0.16 xdg_toplevel changes 2022-12-17 21:56:03 +01:00
Alexander Orzechowski
47f5daba20 seat: Port 0.16 device changes 2022-12-17 21:56:03 +01:00
Phil Jones
a57e0067c1 Explicitly create wlr_subcompositor.
Following wlroots b6f43ab2, the subcompositor must now be created
explicitly, rather than being handled by wlr_compositor_create.
2022-12-17 21:56:03 +01:00
Jan Beich
d3d4a129e7 cage: allow running as root when not using setuid bit 2022-12-14 11:46:48 +01: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