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
f0651c7671
xdg_shell: wait for initial commit to unconstrain popups
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
874a4a1e79
xdg_shell: use new lifecycle events
2024-09-07 23:42:24 +02: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
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
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
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
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
Lorenz Brun
60492959a7
Set xdg_toplevel geometry for fullscreen clients
2021-09-06 15:46:09 +02:00
Jan Beich
82bad3f0fc
xdg_shell: chase swaywm/wlroots@07111828c5
...
xdg_shell.c:230:2: warning: implicit declaration of function 'wlr_xdg_surface_for_each_popup' is invalid in C99 [-Wimplicit-function-declaration]
wlr_xdg_surface_for_each_popup(xdg_shell_view->xdg_surface, iterator, data);
^
ld: error: undefined symbol: wlr_xdg_surface_for_each_popup
>>> referenced by xdg_shell.c:230 (../xdg_shell.c:230)
>>> cage.p/xdg_shell.c.o:(for_each_popup)
Based on 5438cc158a
2021-04-09 19:33:14 +02:00
Jente Hidskes
6cbc202662
Apply clang-format
2020-02-18 21:20:23 +01:00
Jente Hidskes
a53dca91ce
Render popups separately from their toplevel view when possible
2020-01-11 17:07:33 +01:00
Jente Hidskes
1c59946e20
Rename view_damage_surface to view_damage_part
...
To better align it with its counterpart view_damage_whole
2019-12-29 22:54:25 +01:00
Jente Hidskes
95b7782c72
Be explicit about output- and layout coordinates
2019-12-29 16:07:14 +01:00
Kenny Levinsen
06ada15661
Support multiple outputs
...
Outputs are arranged in a horizontal layout in the order they are
created in by wlroots. Maximized xdg_shell views will span all outputs,
like the global fullscreen mode in sway.
Fixes #87
2019-12-26 17:14:57 +01:00
Jente Hidskes
0aeba8085c
Replace all wayland-server.h includes with wayland-server-core.h
...
The documentation for `wayland-server.h` says:
> Use of this header file is discouraged. Prefer including
> wayland-server-core.h instead, which does not include the server protocol
> header and as such only defines the library PI, excluding the deprecated API
> below.
See also
ca45f4490c (diff-b57e10fe0774258a6d21b22077001cff)
2019-12-20 17:16:53 +01:00
Drew DeVault
9354781f32
Update to wlroots 0.6.0
2019-05-03 21:03:09 +02:00
Jente Hidskes
2166fbdcfb
Implement xdg-decoration
...
This commit adds a commandline switch (-d) to disable client side
decorations, if possible. In this case, Cage will not draw any
decorations of its own, in order to maximize screen real estate.
The default behavior remains the same, i.e., if -d is not passed,
clients will draw their client side decorations, if any.
Fixes #32
2019-02-21 09:14:59 +01:00
Jente Hidskes
2669c80803
Listen to fullscreen requests
...
Fixes #34 .
2019-02-16 00:36:07 +01:00
Jente Hidskes
a114ddbbf3
Damage whole views on map and unmap
2019-02-16 00:35:17 +01:00
Jente Hidskes
aa4b27ec20
xdg_shell: implement xdg_popup
2019-02-16 00:35:17 +01:00
Jente Hidskes
e981cb8a1c
Implement damage tracking
...
Fixes #5 .
2019-02-16 00:35:17 +01:00
Jente Hidskes
5c403edc0b
view: replace view_has_children with view_is_transient_for
...
This is a much cleaner implementation but allows us to do the same
things.
2019-01-31 14:47:11 +01:00
Jente Hidskes
7175100d0d
view: reorder functions
...
It had gotten a bit messy. Now functions are grouped together (i.e.,
getters, queries, etc).
2019-01-31 14:47:11 +01:00
Jente Hidskes
64b971a665
view: add proper abstraction with interface
2019-01-31 14:47:11 +01:00
Jente Hidskes
24517922cc
view: remove cg_ prefix
2019-01-31 14:47:11 +01:00
Jente Hidskes
f25460f365
xdg_shell/xwayland: include respective header
2019-01-25 20:34:11 +01:00
Jente Hidskes
e9139f08e3
xdg_shell/xwayland: unlink listeners on destroy
2019-01-25 16:27:51 +01:00
Jente Hidskes
c00ac5c462
Set Cage's window title to toplevel's title
...
When using the Wayland or X11 backend, Cage is drawn inside a window.
This commit sets this window's title to that of the currently focused
toplevel window inside Cage.
Fixes #29 .
2019-01-24 16:15:03 +01:00
Jente Hidskes
a8e15442ab
xdg_shell/xwayland: do not check parent for other view types
...
An xdg-shell surface can never be a parent of an xwayland surface and
vice-versa.
2019-01-18 17:37:40 +01:00
Jente Hidskes
b0bd4e680d
view: add view_has_children to query if a view has children
...
This allows us to check per-view whether is has dialogs open, instead of
diong it on a global basis as we are doing currently. This is necessary
for fully supporting multiple primary clients.
2019-01-12 19:27:24 +01:00
Jente Hidskes
f47a76c9be
xdg_shell: only track toplevel xdg surfaces
...
We don't need to manage popups, but in
786e28bdac we ended up doing so. This
reverts Cage's behavior.
2019-01-04 13:41:25 +01:00
Jente Hidskes
2847e0d54f
Seat: abstract away a view switch statement
...
We have our view abstraction, so why not use it?
2019-01-02 21:31:30 +01:00
Jente Hidskes
9a99ba604f
Output: abstract away a view switch statement
...
We have our view abstraction, so why not use it?
2019-01-02 21:23:16 +01:00