vanfanel
3f72f1e9bc
Add pointer constraint functionality.
2024-02-12 20:24:58 +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
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