Consolatis
e19f0fc267
server.c: add missing privileged protocols
2025-05-23 21:25:23 +01:00
tokyo4j
c870043a8a
common/img/img-xbm: avoid using global variables
2025-05-23 09:57:55 +09:00
John Lindgren
fd5031731e
xwayland: use wlr_xwayland_surface_has_window_type()
...
This eliminates a bit of logic, including an extra XWayland connection.
See also:
https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4553
2025-05-22 23:09:41 +01:00
John Lindgren
a3d6226728
treewide: remove empty statements in switch cases
...
For longer cases, factor out the logic to new functions.
For very short cases, just move the declaration before the switch.
v2: in one case, replace the switch with if/else.
2025-05-22 22:52:43 +01:00
alex-huff
fbb92e2e30
layer-shell: only configure initialized layer surfaces
...
Fixes #2736
2025-05-22 22:35:03 +01:00
zeusgoose
32ea970b1b
drm_syncobj check backend support for timelines
...
ref: 17e2e52c6d
2025-05-22 20:29:24 +02:00
zeusgoose
052035e7d9
drm_syncobj_v1
...
ref: 05e895c463
2025-05-22 12:04:42 +02:00
Andri Yngvason
34947b7791
Enable ext-image-copy-capture-v1
2025-05-22 11:51:06 +02:00
John Lindgren
423cb6923f
xwayland: better support for keyboard focus grabs
...
Use the new grab_focus signal as a more reliable way to tell when an
unmanaged (override-redirect) surface wants focus.
2025-05-21 20:30:19 +02:00
John Lindgren
c00baa1651
xwayland: use wlr_xwayland_surface_offer_focus()
...
Offer focus by sending WM_TAKE_FOCUS to a client window supporting it.
The client may accept or ignore the offer. If it accepts, the surface will
emit a focus_in signal notifying the compositor that it has received focus.
The compositor should then call wlr_xwayland_surface_activate(surface, true).
This is a more compatible method of giving focus to windows using the
Globally Active input model (see wlr_xwayland_icccm_input_model()) than
calling wlr_xwayland_surface_activate() unconditionally, since there is no
reliable way to know in advance whether these windows want to be focused.
v2: add caution not to use view_offer_focus() directly
v3: remove obsolete comment
2025-05-21 20:30:19 +02:00
tokyo4j
95552c261d
config: reorder if-statements for aesthetics
2025-05-21 21:27:57 +09:00
tokyo4j
b299404811
config: drop xwayland persistence workaround for wlroots < 0.18.2
...
We enabled xwayland persistence for wlroots < 0.18.2 to prevent crashes,
but it's no longer needed since we now depend on wlroots 0.19.
2025-05-21 21:27:57 +09:00
tokyo4j
7969aa267e
common/box: drop box_contains()
2025-05-21 13:55:59 +02:00
Consolatis
d7ecbbd50c
chase wlroots: add wlr_buffer_finish() to buffer destroy handler
...
Ref: 7963ba6a0deb5b696050d914ac395bca9c4c06b2
("buffer: introduce wlr_buffer_finish()")
2025-05-21 06:36:08 +01:00
Consolatis
d285b74a7b
chase wlroots: new presentation_time version MR 4858
...
Ref: 4c74a8843a08a39d6278de4a26759d93155feb2c
("presentation-time: bump protocol version to v2")
2025-05-21 06:36:08 +01:00
Consolatis
0c2cf61895
chase wlroots: use WLR_PRIVATE (MR 4842)
...
Ref: 6006023a377868187f73d2e0922bbe952072684f
("Use WLR_PRIVATE for private fields")
2025-05-21 06:36:08 +01:00
tokyo4j
2b1923c867
chase wlroots: simplify transforms in scene-helpers (MR 4819/4845)
...
Ref: 009515161bd97d8f920d72d31ef462f2608688e8
("scene: Only accept buffer coordinates for damage")
Note:
MR 4819 is immediately followed by MR 4845.
MR 4819 removes return value of wlr_damage_ring_add().
MR 4845 applies applies buffer-local coordinates for
scene_output->damage_ring instead of transformed coordinates.
2025-05-21 06:36:08 +01:00
Consolatis
6caa2a8830
chase wlroots: wlr_damage_ring_add no return val (MR 4817)
...
Ref: 502eb38d80eb5a273f5481ec8559cb35d726f5da
("damage_ring: Remove return value of wlr_damage_ring_add/wlr_damage_ring_add_box")
2025-05-21 06:36:08 +01:00
Consolatis
1dc4e7ed28
chase wlroots: wlr_xdg_surface_get_geometry remove MR 4788
...
Ref: 5c98d1a04a1439bf40c6e516086cfaff2d67f135
("xdg-surface: fix window geometry handling")
2025-05-21 06:36:08 +01:00
tokyo4j
261126fcd0
chase wlroots: let scene restack xwayland surfaces (MR 4756)
...
Ref: 1133bc15ceb2c2bcb6df692acda6bfa39a292ab5
("Transparently restack xwayland surfaces")
In addition, MR 4772 makes sure the hidden windows are stacked at the
bottom, just like what we did with XWAYLAND_VIEW_HIDDEN.
2025-05-21 06:36:08 +01:00
Consolatis
1eaba4af33
chase wlroots: xwayland separate maximized axis MR 4670
...
Ref: ceb4fcedca30d323a05836b0872bfe773a047ccc
("xwm: expose individual axis for _set_maximized()")
2025-05-21 06:36:08 +01:00
Consolatis
a617accfd8
chase wlroots: _wants_focus and input_model renames MR 2434
...
Ref: d3b7e040af46ab03114d5a40e9ed0c7c6aff15be
("wlr_xwayland_surface: fix prefix of two functions")
2025-05-21 06:36:08 +01:00
Consolatis
a5db63c472
chase wlroots: wlr_surface_accepts args MR 2434
...
Ref: 5ecbd23c1d44119cb32b345782d50c9664853109
("wlr_surface: fix argument order consistency")
2025-05-21 06:36:08 +01:00
tokyo4j
849fd7a96f
scaled-scene-buffer: guard against negative sizes
2025-05-19 06:51:42 +09:00
tokyo4j
6305cc0f78
graphic-helper: properly handle very small multi_rects
...
For example, alacritty can be resized to 1x1 and the size of the
scene-rects inside the multi_rect for the window switcher preview could
be negative.
2025-05-19 06:51:42 +09:00
tokyo4j
93d77801c5
ssd: guard against negative sizes
...
We always create a SSD for 0x0 window since decorations are usually
requested before a window is mapped. Thus the sizes of some buffers/rects
like edge shadows could be negative, which is asserted in wlroots 0.19.
2025-05-19 06:51:42 +09:00
tokyo4j
defa1d1a98
osd: guard against negative sizes
...
This fixes the broken look of osd with very small width like:
osd.window-switcher.width: 1
2025-05-19 06:51:42 +09:00
tokyo4j
f1c4720218
menu: guard against negative sizes
...
For example, the size of a scene_rect for a menu item background could be
negative with:
menu.width.max: 0
menu.width.min: 0
2025-05-19 06:51:42 +09:00
Consolatis
568bc71ca2
xwayland.c: support both axis for client side maximize requests
2025-05-18 05:03:06 +02:00
Orfeas
05ff914cfe
keyboard.c: don't broadcast modifiers from virtual keyboards
...
Fixes : #2723
2025-05-15 23:49:54 +02:00
tokyo4j
ca287de584
Gracefully exit when no fonts are installed
...
...rather than emitting ugly errors like:
labwc: ../src/buffer.c:85: buffer_adopt_cairo_surface: Assertion
`cairo_image_surface_get_format(surface) == CAIRO_FORMAT_ARGB32' failed.
2025-05-09 20:20:54 +01:00
tokyo4j
ab8b25c9b1
ssd-shadow: flip top-right/bottom-left corner instead of rotating
...
This simplifies corner_scale_crop().
2025-05-07 03:56:03 +09:00
Jens Peters
5a1e377f43
cursor: add scroll emulation for cursor motion
2025-05-07 03:47:37 +09:00
Jens Peters
829fedb94a
cursor: introduce cursor_emulate_axis()
2025-05-07 03:47:37 +09:00
Jens Peters
3331fcba6f
action: add scroll-wheel-emulation actions
2025-05-07 03:47:37 +09:00
tokyo4j
cb58156904
rcxml: validate total osd field width
...
Before this patch, window switcher fields could overflow if the sum of
<windowSwitcher><fields><field width=""> exceeds 100%.
2025-05-05 00:05:24 +09:00
Jens Peters
706f7bc03c
cursor: relocate cursor_emulate functions
2025-05-03 05:34:05 +09:00
Jens Peters
c99d53688e
cursor: remove unused parameter
...
This makes msec() also unused.
2025-05-03 05:34:05 +09:00
Jens Peters
cec2e03954
cursor: use CONNECT_SIGNAL macro
...
Rename functions accordingly.
2025-05-03 05:34:05 +09:00
Simon Long
b97b2973df
Parse touch configs in reverse order to enable overriding
...
Also reverse searching of default configs
2025-04-29 21:30:17 +01:00
Johan Malm
58d22d05e2
font: use PangoStyle enum
2025-04-23 20:20:29 +01:00
Johan Malm
94ead35227
font: use PangoWeight enum
...
No change in functionality.
Suggested-by: @spl237
2025-04-23 20:20:29 +01:00
John Lindgren
5148c2aa31
view: handle initially minimized views (minimal fix)
...
The view->impl functions do not directly support mapping a view while
minimized. Instead, mark it as not minimized, map it, and then minimize
it again.
Fixes : #2627
2025-04-23 20:18:22 +01:00
Simon Long
6a810ad762
Add support for all Pango font weight options
2025-04-23 18:03:02 +02:00
tokyo4j
44295c0c13
osd: suppress errors with null window switcher fields
...
Fixes a regression in 75eb370 that emits errors like:
[../labwc/src/common/scaled-font-buffer.c:26] font_buffer_create() failed
...when osd_field_get_content() doesn't set non-null text.
2025-04-22 22:12:36 +02:00
tokyo4j
34a078294e
menu: refactor handle_menu_element() (part 2)
...
I believe !current_menu is equivalent to
is_toplevel_static_menu_definition().
2025-04-18 14:20:54 +01:00
Johan Malm
85d2d144be
keyboard: remove code duplication
2025-04-18 08:01:59 +09:00
tokyo4j
8c0bd2a7f0
menu: refactor handle_menu_element() (part 1)
...
Also, show an error message when <menu> without 'id' is encountered
2025-04-16 19:49:03 +01:00
Dmitry
4f42b7a12b
osd: add osd.workspace-switcher.boxes.border.width
2025-04-14 20:06:38 +01:00
Dmitry
79b92d821f
osd: fix boxes size and alignment in workspace switcher
...
Workspace switcher boxes height was 2px more than supposed,
e.g. theme defaults of 20x20 resulted in 20x22 boxes.
The middle of the boxes list was also 1px to the left of the middle
of the osd window.
2025-04-14 20:06:38 +01:00