]>
git.mdlowis.com Git - proto/labwc.git/log
Jens Peters [Fri, 6 Jun 2025 05:05:47 +0000 (07:05 +0200)]
input: do not bind motion mode to tablet
Instead, always derive it from the current tool. This prevents any
mismatches when working with multiple tools.
Jens Peters [Wed, 4 Jun 2025 20:23:38 +0000 (22:23 +0200)]
input: add tool_v2 NULL check
Should be quite unusual, but tool_v2 can be NULL.
Jens Peters [Sun, 1 Jun 2025 21:09:52 +0000 (23:09 +0200)]
config: support tablet tool mouse buttons
Those are regular mouse buttons, but attached
to a tablet tool (which looks like a mouse).
Jens Peters [Sun, 1 Jun 2025 21:41:29 +0000 (23:41 +0200)]
config: formatting to improve readability
may [Fri, 6 Jun 2025 21:08:53 +0000 (23:08 +0200)]
libinput: implement threeFingerDrag feature
tokyo4j [Sat, 7 Jun 2025 10:27:05 +0000 (19:27 +0900)]
libinput: support <dragLock>sticky<dragLock> and enable it by default
It is recommended by libinput:
https://lists.freedesktop.org/archives/wayland-devel/2024-November/043860.html
tokyo4j [Sat, 7 Jun 2025 07:34:40 +0000 (16:34 +0900)]
scaled-icon-buffer: don't render twice in scaled_icon_buffer_set_view()
tokyo4j [Sat, 7 Jun 2025 07:28:08 +0000 (16:28 +0900)]
view: simplify freeing of view->icon
Consolatis [Fri, 6 Jun 2025 23:51:56 +0000 (01:51 +0200)]
view.c: free icon name on view destroy
Consolatis [Sat, 7 Jun 2025 02:26:35 +0000 (04:26 +0200)]
Ensure the view signals are initialized early
This prevents a crash observed by the scaled-icon-buffer listening
to the `view->events.set_icons` signal before it is initialized.
For this to happen, the application needs to use the kde decoration
protocol and set it on the xdg_surface before creating the xdg_toplevel.
Fixes: #2798
Johan Malm [Fri, 6 Jun 2025 21:30:40 +0000 (22:30 +0100)]
labwc-config(5): add example to unset mousebind
tokyo4j [Fri, 6 Jun 2025 19:09:27 +0000 (04:09 +0900)]
scaled-icon-buffer: fix window icons not loaded after Reconfigure
This patch fixes the issue that window icons become the fallback
one after Reconfigure, by setting scaled_icon_buffer->view_app_id (and
other properties) in scaled_icon_buffer_set_view().
The reason why the window icons were displayed before Reconfigure is that
applications usually enable decorations and then set app_id which fires
handle_view_set_icon().
tokyo4j [Fri, 30 May 2025 11:58:48 +0000 (20:58 +0900)]
Support xdg-toplevel-icon protocol
This patch also changes the semantics of scaled_icon_buffer: rather than
calling scaled_icon_buffer_set_app_id() every time an app_id is set, we
can now call scaled_icon_buffer_set_view() just once so that multiple
scaled_icon_buffers bound to a window are automatically updated when an
app_id is set or new icon is set via xdg-toplevel-icon-v1.
tokyo4j [Fri, 30 May 2025 11:58:15 +0000 (20:58 +0900)]
buffer: add buffer_create_from_wlr_buffer()
tokyo4j [Fri, 30 May 2025 11:55:31 +0000 (20:55 +0900)]
buffer: add buffer_resize()
tokyo4j [Fri, 23 May 2025 23:31:08 +0000 (08:31 +0900)]
view: add destroy signal
DreamMaoMao [Fri, 6 Jun 2025 00:10:18 +0000 (08:10 +0800)]
feat: add left-occupied and right-occupied to workspaces_find
DreamMaoMao [Thu, 5 Jun 2025 11:33:12 +0000 (19:33 +0800)]
view.c: add new NO_OMNIPRESENT criteria
dd [Thu, 5 Jun 2025 20:46:58 +0000 (04:46 +0800)]
ssd: add configurable drop-shadows for tiled windows
John Lindgren [Wed, 4 Jun 2025 18:35:00 +0000 (14:35 -0400)]
xdg: add missing tracking of configure serials
In some cases, we would schedule a configure event but not record that
we had done so, leaving view->pending_configure_serial incorrect. This
caused incorrect handling of in-flight commits that had not yet taken
the new configure into account, such as assuming that the client had
ignored the configured size and incorrectly resetting view->pending.
Fixes: #2774
Johan Malm [Mon, 2 Jun 2025 20:25:52 +0000 (21:25 +0100)]
labwc-config(5): describe environment file comment syntax
Johan Malm [Tue, 10 Oct 2023 20:51:58 +0000 (21:51 +0100)]
layers: arrange layers on destroy
...rather than unmap because that is the approach of sway and it also
avoids wshowkeys crashing.
Fixes: #1153
Consolatis [Sun, 1 Jun 2025 21:27:01 +0000 (23:27 +0200)]
CI: wlroots package for Arch has been renamed
tokyo4j [Thu, 29 May 2025 02:14:39 +0000 (11:14 +0900)]
docs: update documentations for osd fields
tokyo4j [Wed, 28 May 2025 19:50:51 +0000 (04:50 +0900)]
osd: always show output name with <field content="output">
Before this patch, output names were not shown if there's only one output.
tokyo4j [Wed, 28 May 2025 19:47:41 +0000 (04:47 +0900)]
osd: always show title with <field content="title">
Before this patch, titles were not shown if they are identical to the
identifiers.
Consolatis [Tue, 27 May 2025 12:19:21 +0000 (14:19 +0200)]
Add scroll method libinput option
<libinput>
<device>
<scrollMethod>none|twofinger|edge</scrollMethod>
</device>
</libinput>
Fixes: #2766
Consolatis [Tue, 27 May 2025 16:55:00 +0000 (18:55 +0200)]
src/layers.c: send fractional scale before map
tokyo4j [Tue, 27 May 2025 07:11:49 +0000 (16:11 +0900)]
Rename some handler functions to be more consistent
tokyo4j [Tue, 27 May 2025 07:11:15 +0000 (16:11 +0900)]
xdg-popup: use CONNECT_SIGNAL() macro
Weblate [Sun, 25 May 2025 21:26:43 +0000 (23:26 +0200)]
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
zeusgoose [Sat, 24 May 2025 15:44:39 +0000 (10:44 -0500)]
documentation: s/view/window/
Johan Malm [Fri, 23 May 2025 20:38:32 +0000 (21:38 +0100)]
NEWS.md: minor fix to make github markdown render correctly
tokyo4j [Fri, 23 May 2025 05:11:57 +0000 (14:11 +0900)]
CONTRIBUTING.md: document use of braces in switch statements
tokyo4j [Fri, 23 May 2025 04:09:15 +0000 (13:09 +0900)]
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.
Consolatis [Fri, 23 May 2025 11:27:06 +0000 (13:27 +0200)]
server.c: add missing privileged protocols
Consolatis [Fri, 23 May 2025 11:26:23 +0000 (13:26 +0200)]
Protocols: use upstream wayland-protocols for ext-workspace-v1.xml
tokyo4j [Thu, 22 May 2025 06:42:41 +0000 (15:42 +0900)]
common/img/img-xbm: avoid using global variables
John Lindgren [Wed, 21 May 2025 15:43:50 +0000 (11:43 -0400)]
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
John Lindgren [Thu, 22 May 2025 14:53:58 +0000 (10:53 -0400)]
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.
alex-huff [Thu, 22 May 2025 20:22:05 +0000 (15:22 -0500)]
layer-shell: only configure initialized layer surfaces
Fixes #2736
Johan Malm [Thu, 22 May 2025 21:25:27 +0000 (22:25 +0100)]
wlroots.wrap: use branch not tag
Make revision= track the 0.19 branch rather than a specific tag.
zeusgoose [Thu, 22 May 2025 15:39:39 +0000 (15:39 +0000)]
drm_syncobj check backend support for timelines
ref: https://github.com/swaywm/sway/commit/
17e2e52c6d1bf4bfebde8f6b2869702aacc3750a
zeusgoose [Wed, 21 May 2025 23:19:39 +0000 (23:19 +0000)]
drm_syncobj_v1
ref: https://github.com/swaywm/sway/commit/
05e895c4638293a6bfe594ff0cae4eaab63b740e
Andri Yngvason [Sun, 8 Dec 2024 20:52:57 +0000 (20:52 +0000)]
Enable ext-image-copy-capture-v1
John Lindgren [Wed, 14 Feb 2024 03:25:20 +0000 (22:25 -0500)]
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.
John Lindgren [Sat, 20 Jul 2024 15:25:10 +0000 (11:25 -0400)]
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
tokyo4j [Wed, 21 May 2025 12:15:38 +0000 (21:15 +0900)]
config: reorder if-statements for aesthetics
tokyo4j [Wed, 21 May 2025 11:51:13 +0000 (20:51 +0900)]
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.
tokyo4j [Wed, 21 May 2025 11:43:17 +0000 (20:43 +0900)]
common/box: drop box_contains()
Johan Malm [Tue, 20 May 2025 20:15:45 +0000 (21:15 +0100)]
docs/autostart: add example for delayed start
Johan Malm [Wed, 21 May 2025 05:33:02 +0000 (06:33 +0100)]
labwc-actions(5): add example for ShowMenu with wtype
Related-to: #2726
Consolatis [Sat, 8 Feb 2025 16:13:40 +0000 (17:13 +0100)]
Update to wlroots 0.19.0 release
John Lindgren [Sun, 2 Feb 2025 21:02:47 +0000 (16:02 -0500)]
chase wlroots: remove #include <wlr/types/wlr_matrix.h>
Ref:
9b55737cf512ae5132b10633b83e099d46fa259f
("Make wlr_matrix private API")
Consolatis [Tue, 15 Apr 2025 04:40:40 +0000 (06:40 +0200)]
chase wlroots: add wlr_buffer_finish() to buffer destroy handler
Ref:
7963ba6a0deb5b696050d914ac395bca9c4c06b2
("buffer: introduce wlr_buffer_finish()")
Consolatis [Wed, 27 Nov 2024 03:27:21 +0000 (04:27 +0100)]
chase wlroots: new presentation_time version MR 4858
Ref:
4c74a8843a08a39d6278de4a26759d93155feb2c
("presentation-time: bump protocol version to v2")
Consolatis [Wed, 27 Nov 2024 03:48:45 +0000 (04:48 +0100)]
chase wlroots: use WLR_PRIVATE (MR 4842)
Ref:
6006023a377868187f73d2e0922bbe952072684f
("Use WLR_PRIVATE for private fields")
tokyo4j [Fri, 25 Apr 2025 09:35:05 +0000 (18:35 +0900)]
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.
Consolatis [Wed, 27 Nov 2024 03:51:25 +0000 (04:51 +0100)]
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")
Consolatis [Wed, 27 Nov 2024 03:14:08 +0000 (04:14 +0100)]
chase wlroots: wlr_xdg_surface_get_geometry remove MR 4788
Ref:
5c98d1a04a1439bf40c6e516086cfaff2d67f135
("xdg-surface: fix window geometry handling")
tokyo4j [Mon, 19 May 2025 06:03:41 +0000 (15:03 +0900)]
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.
Consolatis [Wed, 27 Nov 2024 02:53:28 +0000 (03:53 +0100)]
chase wlroots: xwayland separate maximized axis MR 4670
Ref:
ceb4fcedca30d323a05836b0872bfe773a047ccc
("xwm: expose individual axis for _set_maximized()")
Consolatis [Wed, 27 Nov 2024 02:41:58 +0000 (03:41 +0100)]
chase wlroots: _wants_focus and input_model renames MR 2434
Ref:
d3b7e040af46ab03114d5a40e9ed0c7c6aff15be
("wlr_xwayland_surface: fix prefix of two functions")
Consolatis [Wed, 27 Nov 2024 02:35:45 +0000 (03:35 +0100)]
chase wlroots: wlr_surface_accepts args MR 2434
Ref:
5ecbd23c1d44119cb32b345782d50c9664853109
("wlr_surface: fix argument order consistency")
John Lindgren [Sun, 2 Feb 2025 19:22:24 +0000 (14:22 -0500)]
chase wlroots: pin to first 0.19.0-dev commit
Ref:
b10516e1e8352f3140d68fa580b0ed32e13c2d58
("build: bump version to 0.19.0-dev")
Consolatis [Sat, 17 May 2025 18:37:32 +0000 (20:37 +0200)]
CI: Void: use wlroots0.19-devel distro package
Consolatis [Sat, 17 May 2025 18:32:10 +0000 (20:32 +0200)]
CI: allow Debian to build the wlroots subproject
tokyo4j [Sat, 17 May 2025 15:07:48 +0000 (00:07 +0900)]
scaled-scene-buffer: guard against negative sizes
tokyo4j [Sun, 4 May 2025 14:40:25 +0000 (23:40 +0900)]
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.
tokyo4j [Sun, 4 May 2025 13:33:12 +0000 (22:33 +0900)]
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.
tokyo4j [Mon, 14 Apr 2025 11:55:45 +0000 (20:55 +0900)]
osd: guard against negative sizes
This fixes the broken look of osd with very small width like:
osd.window-switcher.width: 1
tokyo4j [Sat, 3 May 2025 10:57:49 +0000 (19:57 +0900)]
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
Consolatis [Wed, 27 Nov 2024 06:39:30 +0000 (07:39 +0100)]
xwayland.c: support both axis for client side maximize requests
Orfeas [Thu, 15 May 2025 21:30:24 +0000 (00:30 +0300)]
keyboard.c: don't broadcast modifiers from virtual keyboards
Fixes: #2723
Consolatis [Fri, 9 May 2025 13:51:31 +0000 (15:51 +0200)]
CI: verify early exit on missing fonts
tokyo4j [Thu, 8 May 2025 10:28:15 +0000 (19:28 +0900)]
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.
tokyo4j [Sat, 3 May 2025 15:57:54 +0000 (00:57 +0900)]
ssd-shadow: flip top-right/bottom-left corner instead of rotating
This simplifies corner_scale_crop().
Jens Peters [Fri, 25 Apr 2025 12:37:06 +0000 (14:37 +0200)]
docs: document scroll wheel emulation actions
Jens Peters [Fri, 25 Apr 2025 12:21:30 +0000 (14:21 +0200)]
cursor: add scroll emulation for cursor motion
Jens Peters [Mon, 21 Apr 2025 16:18:21 +0000 (18:18 +0200)]
cursor: introduce cursor_emulate_axis()
Jens Peters [Wed, 16 Apr 2025 17:16:06 +0000 (19:16 +0200)]
action: add scroll-wheel-emulation actions
tokyo4j [Sat, 3 May 2025 11:58:39 +0000 (20:58 +0900)]
rcxml: validate total osd field width
Before this patch, window switcher fields could overflow if the sum of
<windowSwitcher><fields><field width=""> exceeds 100%.
Jens Peters [Fri, 2 May 2025 12:19:08 +0000 (14:19 +0200)]
cursor: relocate cursor_emulate functions
Jens Peters [Wed, 16 Apr 2025 16:25:43 +0000 (18:25 +0200)]
cursor: remove unused parameter
This makes msec() also unused.
Jens Peters [Tue, 15 Apr 2025 19:43:00 +0000 (21:43 +0200)]
cursor: use CONNECT_SIGNAL macro
Rename functions accordingly.
Johan Malm [Fri, 2 May 2025 15:01:34 +0000 (16:01 +0100)]
build: bump version to 0.8.4
Johan Malm [Tue, 15 Apr 2025 19:16:25 +0000 (20:16 +0100)]
NEWS.md: update notes for 0.8.4
Weblate [Fri, 2 May 2025 13:26:02 +0000 (15:26 +0200)]
Translation updates from weblate
Co-authored-by: Syahmin Sukhairi <kuimax@yahoo.com>
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/id/
Translation: Labwc/labwc
Weblate [Wed, 30 Apr 2025 08:01:24 +0000 (10:01 +0200)]
Translation updates from weblate
Co-authored-by: knm100 <ckdeneon@163.com>
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/zh_CN/
Translation: Labwc/labwc
Simon Long [Tue, 29 Apr 2025 08:18:17 +0000 (09:18 +0100)]
Parse touch configs in reverse order to enable overriding
Also reverse searching of default configs
Johan Malm [Wed, 23 Apr 2025 19:03:14 +0000 (20:03 +0100)]
font: use PangoStyle enum
Johan Malm [Wed, 23 Apr 2025 19:01:26 +0000 (20:01 +0100)]
font: use PangoWeight enum
No change in functionality.
Suggested-by: @spl237
John Lindgren [Wed, 23 Apr 2025 16:03:20 +0000 (12:03 -0400)]
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
Consolatis [Wed, 23 Apr 2025 16:12:59 +0000 (18:12 +0200)]
docs: list all supported font weights
Simon Long [Wed, 23 Apr 2025 16:03:02 +0000 (17:03 +0100)]
Add support for all Pango font weight options
tokyo4j [Tue, 22 Apr 2025 19:27:19 +0000 (04:27 +0900)]
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.
Johan Malm [Fri, 18 Apr 2025 13:39:46 +0000 (14:39 +0100)]
labwc-config(5): add mousebind direction example
Helped-by: @Consolatis
Related-to: #2677
Tomi Ollila [Thu, 17 Apr 2025 19:54:15 +0000 (22:54 +0300)]
docs: rc.xml.all: Fix reference to labwc-config manpage. Unwefify.
There is no "labwc" manpage in section 5 (man 5 labwc may fail or
show e.g. labwc-action manpage).
Replaced one 'we' with passive form, to match the common style in docs/.
tokyo4j [Mon, 14 Apr 2025 09:57:36 +0000 (18:57 +0900)]
menu: refactor handle_menu_element() (part 2)
I believe !current_menu is equivalent to
is_toplevel_static_menu_definition().
Johan Malm [Wed, 16 Apr 2025 19:21:22 +0000 (20:21 +0100)]
labwc-menu(5): fix incorrect statement on label attribute