Simon Ser
c311ee5cdc
ci: set --wrap-mode=nodownload
...
Continuous integration build / format (push) Has been cancelled
Continuous integration build / compile (clang, alpine:edge, disabled) (push) Has been cancelled
Continuous integration build / compile (clang, alpine:edge, enabled) (push) Has been cancelled
Continuous integration build / compile (clang, archlinux:base-devel, disabled) (push) Has been cancelled
Continuous integration build / compile (clang, archlinux:base-devel, enabled) (push) Has been cancelled
Continuous integration build / compile (gcc, alpine:edge, disabled) (push) Has been cancelled
Continuous integration build / compile (gcc, alpine:edge, enabled) (push) Has been cancelled
Continuous integration build / compile (gcc, archlinux:base-devel, disabled) (push) Has been cancelled
Continuous integration build / compile (gcc, archlinux:base-devel, enabled) (push) Has been cancelled
Continuous integration build / scan-build (push) Has been cancelled
Make sure Meson doesn't automagically download and build
dependencies, so that we use system libraries.
2025-06-12 18:03:53 +02:00
Simon Ser
e8eec54129
ci: install libdisplay-info
...
This dependency was missing.
2025-06-12 16:04:05 +02:00
Simon Ser
63f186632e
xdg_shell: bump to v5
...
Continuous integration build / compile (clang, alpine:edge, disabled) (push) Has been cancelled
Continuous integration build / compile (clang, alpine:edge, enabled) (push) Has been cancelled
Continuous integration build / compile (clang, archlinux:base-devel, disabled) (push) Has been cancelled
Continuous integration build / compile (clang, archlinux:base-devel, enabled) (push) Has been cancelled
Continuous integration build / compile (gcc, alpine:edge, disabled) (push) Has been cancelled
Continuous integration build / compile (gcc, alpine:edge, enabled) (push) Has been cancelled
Continuous integration build / compile (gcc, archlinux:base-devel, disabled) (push) Has been cancelled
Continuous integration build / compile (gcc, archlinux:base-devel, enabled) (push) Has been cancelled
Continuous integration build / format (push) Has been cancelled
Continuous integration build / scan-build (push) Has been cancelled
v5 adds the wm_capabilities event. cage only supports fullscreen.
2025-06-03 23:22:53 +02:00
Simon Ser
60d41fb93c
xdg_shell: handle xdg_popup reposition signal
...
We are advertising xdg-shell v4, but forgot to handle this signal.
2025-06-03 23:22:35 +02:00
Simon Ser
119f98f2b8
xdg_shell: rename xdg_toplevel signal handlers
...
Continuous integration build / compile (clang, archlinux:base-devel, disabled) (push) Has been cancelled
Continuous integration build / compile (clang, alpine:edge, disabled) (push) Has been cancelled
Continuous integration build / compile (clang, alpine:edge, enabled) (push) Has been cancelled
Continuous integration build / compile (clang, archlinux:base-devel, enabled) (push) Has been cancelled
Continuous integration build / compile (gcc, alpine:edge, disabled) (push) Has been cancelled
Continuous integration build / compile (gcc, alpine:edge, enabled) (push) Has been cancelled
Continuous integration build / compile (gcc, archlinux:base-devel, disabled) (push) Has been cancelled
Continuous integration build / compile (gcc, archlinux:base-devel, enabled) (push) Has been cancelled
Continuous integration build / format (push) Has been cancelled
Continuous integration build / scan-build (push) Has been cancelled
These handlers aren't invoked for all types of xdg_shell surfaces:
they are only invoked for xdg_toplevel, and are not for xdg_popup.
Rename them accordingly.
2025-06-01 15:08:50 +02:00
Simon Ser
9ad44e4f52
Upgrade wlroots to v0.19
Continuous integration build / compile (clang, alpine:edge, disabled) (push) Has been cancelled
Continuous integration build / compile (clang, alpine:edge, enabled) (push) Has been cancelled
Continuous integration build / compile (clang, archlinux:base-devel, disabled) (push) Has been cancelled
Continuous integration build / compile (clang, archlinux:base-devel, enabled) (push) Has been cancelled
Continuous integration build / scan-build (push) Has been cancelled
Continuous integration build / compile (gcc, alpine:edge, disabled) (push) Has been cancelled
Continuous integration build / compile (gcc, alpine:edge, enabled) (push) Has been cancelled
Continuous integration build / compile (gcc, archlinux:base-devel, disabled) (push) Has been cancelled
Continuous integration build / compile (gcc, archlinux:base-devel, enabled) (push) Has been cancelled
Continuous integration build / format (push) Has been cancelled
2025-05-26 23:09:43 +02:00
Simon Ser
6efb3b5042
cage: remove global server listeners on shutdown
2025-04-15 15:26:03 +02:00
Simon Ser
e21c155bcd
seat: destroy keyboard groups on shutdown
...
These are not destroyed automatically because they are entirely
managed by the compositor.
2025-04-15 15:26:03 +02:00
Simon Ser
6b1ba34a4a
output: drop unused wlr_matrix.h include
...
This is dropped in the next wlroots release.
2025-04-10 17:49:51 +02:00
Horror Proton
360e259ca5
Fix getopt("D")
2024-12-23 14:56:15 +01:00
Simon Ser
19157d3564
Make application arguments optional
...
If no application is specified, run without starting a child
process. Leave it up to the user to start applications externally
and stop cage with a signal.
2024-11-22 12:09:16 +01:00
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