Commit graph

3048 commits

Author SHA1 Message Date
Johan Malm
7bf08af210 layers: arrange layers on destroy
...rather than unmap because that is the approach of sway and it also
avoids wshowkeys crashing.

Fixes: #1153
2025-06-02 22:00:43 +01:00
Consolatis
ca94abbef1 CI: wlroots package for Arch has been renamed 2025-06-01 23:34:46 +02:00
tokyo4j
949d769198 docs: update documentations for osd fields 2025-05-29 11:19:26 +09:00
tokyo4j
f2be08822f osd: always show output name with <field content="output">
Before this patch, output names were not shown if there's only one output.
2025-05-29 04:10:55 +02:00
tokyo4j
a157999925 osd: always show title with <field content="title">
Before this patch, titles were not shown if they are identical to the
identifiers.
2025-05-29 04:10:55 +02:00
Consolatis
fdab272bdc Add scroll method libinput option
<libinput>
  <device>
    <scrollMethod>none|twofinger|edge</scrollMethod>
  </device>
</libinput>

Fixes: #2766
2025-05-28 14:43:51 +09:00
Consolatis
8ba14891fa src/layers.c: send fractional scale before map 2025-05-28 14:15:03 +09:00
tokyo4j
c4f683c70d Rename some handler functions to be more consistent 2025-05-27 13:13:51 +02:00
tokyo4j
f4a85860cf xdg-popup: use CONNECT_SIGNAL() macro 2025-05-27 13:13:51 +02:00
Weblate
aff7cb92e4 Translation updates from weblate
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: therealmate <hellogaming91@gmail.com>
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/hu/
Translation: Labwc/labwc
2025-05-25 22:32:03 +01:00
zeusgoose
8e9751ea92 documentation: s/view/window/ 2025-05-25 01:31:40 +09:00
Johan Malm
f2b020b239 NEWS.md: minor fix to make github markdown render correctly 2025-05-23 23:02:15 +02:00
tokyo4j
8ff779ca25 CONTRIBUTING.md: document use of braces in switch statements 2025-05-23 21:32:17 +01:00
tokyo4j
68bf55d724 Add -Wshadow + reformat switch cases
Adding -Wshadow will prevent unintentional variable overrides.

Also, wrapping switch cases with declarations with braces will make our
logic more robust by limiting lifetimes of variables.
2025-05-23 21:32:17 +01:00
Consolatis
e19f0fc267 server.c: add missing privileged protocols 2025-05-23 21:25:23 +01:00
Consolatis
78681813cc Protocols: use upstream wayland-protocols for ext-workspace-v1.xml 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
Johan Malm
bfa3e54c9d wlroots.wrap: use branch not tag
Make revision= track the 0.19 branch rather than a specific tag.
2025-05-22 23:30:08 +02: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
Johan Malm
51844c7fc9 docs/autostart: add example for delayed start 2025-05-21 20:18:27 +09:00
Johan Malm
2265dd647a labwc-actions(5): add example for ShowMenu with wtype
Related-to: #2726
2025-05-21 12:44:21 +02:00
Consolatis
08a6e29eb9 Update to wlroots 0.19.0 release 2025-05-21 06:36:08 +01:00
John Lindgren
8010f6e659 chase wlroots: remove #include <wlr/types/wlr_matrix.h>
Ref: 9b55737cf512ae5132b10633b83e099d46fa259f
("Make wlr_matrix private API")
2025-05-21 06:36:08 +01: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
John Lindgren
cb0db3542d chase wlroots: pin to first 0.19.0-dev commit
Ref: b10516e1e8352f3140d68fa580b0ed32e13c2d58
("build: bump version to 0.19.0-dev")
2025-05-21 06:36:08 +01:00
Consolatis
5b67ad6043 CI: Void: use wlroots0.19-devel distro package 2025-05-21 06:36:08 +01:00
Consolatis
9c47c579de CI: allow Debian to build the wlroots subproject 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