Commit graph

3551 commits

Author SHA1 Message Date
Jack Zeal
308a3291cb Remove attempt to reuse code with switch fallthrough 2026-04-05 18:02:50 -07:00
Jack Zeal
8997f35607 Rename camelcase names 2026-04-05 17:57:15 -07:00
Jack Zeal
987b2c2a89 Realign with codesniffer rules 2026-04-05 17:48:57 -07:00
Jack Zeal
5846a95f98 Add beveled borders to buttons 2026-04-04 09:35:08 -07:00
Jack Zeal
f3711b294a Add fields for button borders 2026-04-04 08:56:12 -07:00
Jack Zeal
43d643c878 Explicitly differentiate between 'no border' and 'flat border' since it's visible with gradients 2026-04-04 07:38:27 -07:00
Jack Zeal
4d0ec36773 Avoid corner-related gaps reappearing after reconfigure 2026-04-04 00:54:28 -07:00
Jack Zeal
40208c57f1 Free a wasted allocation in parser 2026-04-04 00:45:35 -07:00
Jack Zeal
44a0da2e7f Better handling of exclusive mode 2026-04-04 00:36:13 -07:00
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