Commit graph

3542 commits

Author SHA1 Message Date
Jack Zeal
dfc3239ced Remove duplicate re-rendering: 2026-04-04 00:02:10 -07:00
Jack Zeal
73cd8eb0bb Force a redraw so we know we'll get a refreshed border after reconfig 2026-04-04 00:00:20 -07:00
Jack Zeal
d1951f73ec Don't clobber the border under the title 2026-04-03 23:32:39 -07:00
Jack Zeal
59c37bc91b Start on texture on the main title bar segment 2026-04-03 23:17:28 -07:00
Jack Zeal
1c79213470 Use osd.bg for OSD border texture 2026-04-01 22:36:44 -07:00
Jack Zeal
f361a3bec9 Force discard of the resize popup after theme reload so we don't end up with residual old styles 2026-04-01 22:31:52 -07:00
Jack Zeal
96ae2f2d9d Remove debug code 2026-04-01 21:36:44 -07:00
Jack Zeal
e7b53c5d28 Pull menu bevels from theme 2026-04-01 21:31:21 -07:00
Jack Zeal
362c3e1b47 Add osd.border.type and osd.border.bevel-width options 2026-04-01 20:40:21 -07:00
Jack Zeal
773996f1ee add window.*.border.type and window.*.border.bevel-width options 2026-04-01 20:18:43 -07:00
Jack Zeal
b07165f154 Ensure we use all details of borders when caching them 2026-04-01 19:43:20 -07:00
Jack Zeal
fe44a2e9b3 Reuse common code for raised and sunken bevels 2026-04-01 19:39:24 -07:00
Jack Zeal
bfd4364ba9 Correct blundered merge conflict resolution 2026-03-31 22:29:35 -07:00
Jack Zeal
6ae186edc5
Merge branch 'master' into master 2026-04-01 05:27:23 +00:00
Jack Zeal
8188f0a80e Adapt workspace switcher Cairo logic to use modified border cache 2026-03-31 22:23:54 -07:00
Jack Zeal
2f2cf73bfa
Merge pull request #1 from Consolatis/tmp/pr_3463_beveled_borders
[wip] keep wlr_buffers around
2026-04-01 05:10:31 +00:00
Consolatis
7be58fbaba CI: add no-backends build test
Some checks failed
labwc.github.io / notify (push) Has been cancelled
2026-03-31 22:58:49 +02:00
Consolatis
3df8fcda3a meson.build: make libinput and libdrm depend on wlroots feature flags 2026-03-31 22:58:49 +02:00
Consolatis
8c6faa010f make wlroots libinput backend optional 2026-03-31 22:58:49 +02:00
Consolatis
dfbea3e156 make wlroots session backend optional 2026-03-31 22:58:49 +02:00
Consolatis
046d055ac0 make wlroots DRM backend optional 2026-03-31 22:58:49 +02:00
Johan Malm
fe1955fb27 Stop generating wayland-protocols server headers
We still need to generate wlr-protocols server headers, as well as
client headers and code.

References:
- https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/5075
- https://github.com/swaywm/sway/pull/8838
2026-03-31 20:51:49 +02:00
Johan Malm
b3f3fc9084 NEWS.md: interim update following port to wlroots 0.20 2026-03-31 19:34:03 +01:00
Jens Peters
674238caa9 docs: document tablet tool pressure range 2026-03-31 19:56:07 +02:00
Jens Peters
0d049552bc input: support tablet tool pressure range configuration
Needs wlroots 0.20.0.
2026-03-31 19:56:07 +02:00
Jens Peters
9209f611d5 build: require libinput 1.26
Bump the requirement for having support for
tablet tool pressure range configuration.
2026-03-31 19:56:07 +02:00
Johan Malm
46d687ab54 clients/labnag.c: return zero on get_text_size() error
Ref: https://github.com/swaywm/sway/pull/9070
2026-03-31 02:58:39 +02:00
GlassOnTin
9a8154836c keyboard: use XKB_CONTEXT_NO_SECURE_GETENV on Android
Android's bionic libc implements secure_getenv() as a function that
always returns NULL because app processes don't have AT_SECURE set.
This prevents xkbcommon from reading XKB_DEFAULT_LAYOUT and other
environment variables when resolving keyboard layouts.

Use XKB_CONTEXT_NO_SECURE_GETENV on Android so xkbcommon falls back
to regular getenv(), which works correctly in the Android app
environment.
2026-03-30 22:25:35 +01:00
GlassOnTin
862d230ff9 Make labnag a meson feature flag
Add a 'labnag' meson option (default: auto) to allow disabling the
labnag notification daemon at build time. This is useful for
embedded/headless deployments (e.g. Android) where labnag is not
needed, and avoids building its wayland-client dependencies.

Disable with: meson setup build -Dlabnag=disabled
2026-03-30 22:22:21 +01:00
tokyo4j
3128f50a25 xwayland: remove atom synchronization
It was used to get window icon via _NET_WM_ICON, which is now
implemented by wlroots 0.20. Anyone who needs another atom can revert
this commit and add atoms in the `atoms` array.
2026-03-30 11:55:37 +02:00
tokyo4j
cdee4ba5f1 xwayland: use wlr_xwayland_surface_fetch_icon() 2026-03-30 11:55:37 +02:00
Christopher Snowhill
cee5712877 chase wlroots: wlr_scene_set_gamma_control_manager_v1
Ref: 515275ee7214bf91f8a758b660093eb4b932195a
(wlr_scene: Introduce wlr_scene_set_gamma_control_manager_v1)

This wlroots change eliminates the need for separate event tracking for gamma
control application.

v2: Fix code style
v3: Rebase now that 0.20 is merged
2026-03-30 11:18:53 +02:00
tokyo4j
647e9b7658 Drop cosmic-workspace and use wlroots implementation of ext-workspace-v1 2026-03-30 10:29:04 +02:00
Consolatis
c3fc78286a chase wlroots: track 0.20 branch
And move CI to use system wide wlroots deps where availble.
2026-03-29 15:58:13 +01:00
Manuel Barrio Linares
76f166ae42 chase wlroots: wlr_xwayland_set_cursor now takes a wlr_buffer (MR 5230)
Ref: 84d603acc06a45dd3c3a4b2cf1fd08b2933ca2b5
(xwayland: take wlr_buffer in wlr_xwayland_set_cursor())

Ref: 6ae54dca23064e897b393283887986e5719a747f
(xwayland: lock new buffer instead of the old one)

Co-Authored-By: Consolatis

This wlroots change fixes a potential UAF which we dealt with in labwc.
We can thus remove the workaround completely.
2026-03-29 15:58:13 +01:00
tokyo4j
863863fc7c chase wlroots: ime: don't use data in kb grab destroy handler (MR 5170)
Ref: 06275103f249cd2954630e59383342e102a6c1a3
(input-method-v2: Destroy keyboard grab before input method)

Background:

My MR in wlroots (!5107) stopped emitting `wlr_input_method_v2`
on its `commit`/`destroy` events, but didn't stop emitting
`wlr_input_method_keyboard_grab_v2` on its `destroy` event. That was
because `handle_keyboard_grab_destroy()` was called *after*
`handle_input_method_destroy()` for some reason, which caused segfault
when dereferencing `relay->input_method.keyboard_grab` in
`handle_keyboard_grab_destroy()`.

MR 5170 reversed this weired order of destroy handler calls, and finally
stopped emitting `wlr_input_method_keyboard_grab_v2` on its `destroy`
event.
2026-03-29 15:58:13 +01:00
Consolatis
5f8a6395a1 chase wlroots: ime: rename to new_input_method (MR 5107)
Ref: 06aacb2a6fd237a5e1062d611909432bbcf5b566
(input-method: rename input_method event to new_input_method)
2026-03-29 15:58:13 +01:00
Christopher Snowhill
511ed69c53 chase wlroots: add wl_fixes interface (MR 4685)
Ref: 812675ba34ce612e9294e8a9814b1baf4b4775d4
(fixes: add implementation)
2026-03-29 15:58:13 +01:00
Consolatis
0c24252c85 chase wlroots: ime: rename to new_text_input (MR 5032)
Ref: 536100488fc4c64528786801860f96cfa1a55765
(text-input-v3: Name new text input event correctly)
2026-03-29 15:58:13 +01:00
Consolatis
48bcccddc3 chase wlroots: increase wlroots meson dep 2026-03-29 15:58:13 +01:00
Consolatis
ea4e7e9a02 CI: allow compiling wlroots as subproject 2026-03-29 15:58:13 +01:00
Consolatis
f2867e5f0a [wip] keep wlr_buffers around 2026-03-29 14:27:00 +02:00
Jack Zeal
6148934dd7 Protection around allocating malformed border buffers 2026-03-28 18:49:42 -07:00
Jack Zeal
d80dd2470b Centralize buffer preparation and standardize placement 2026-03-28 09:01:21 -07:00
John Lindgren
3ce6328f6d xwayland: set initial view state + geometry in handle_associate()
Empirically, the associate event is always seen just after map_request
but before surface map. Window properties are also read by wlroots just
before emitting associate. So after some trial and error, this seems to
be the best place to set initial view states and compute initial
placement.

Fixes initial positioning of "urxvt -g -0-0".

urxvt placement regressed in:
9903331995
("xwayland: rework setting initial geometry from surface")

map_request handler was added ~2 years ago in:
c9018da4c4
("xwayland: set initial geometry in map_request handler")

I'm not sure if the map_request handler was incorrect from day one,
or if something changed in wlroots and/or Xwayland since then.
2026-03-28 14:59:29 +00:00
Jack Zeal
90e652a8a1 Bevels on selected menu items; support for sunken bevel rendering 2026-03-28 00:20:51 -07:00
Jack Zeal
0be9082ea8 Add bevels to the window size/position box 2026-03-27 23:37:18 -07:00
Jack Zeal
adc2c911ff Use rendered borders with Cairo overlay for desktop switching OSD 2026-03-27 23:11:40 -07:00
Jack Zeal
536847cb5b Use cache for title bar double beveled borders 2026-03-27 20:57:28 -07:00
Jack Zeal
2a0ff0d5b4 Initial use of a centralized caching border generator 2026-03-27 20:24:24 -07:00