Commit graph

3630 commits

Author SHA1 Message Date
Jos Dehaes
fe6ea66b82 server: add pending auto-raise state + decl
Add two fields to struct server:

  struct view *pending_auto_raise_view;
  struct wl_event_source *pending_auto_raise_timer;

and forward-declare desktop_cancel_pending_auto_raise() in labwc.h.
The state is a single 'slot' (at most one view/timer pending) since
a new focus change supersedes any previous pending raise.

This commit just reserves the state and the public API; the
behaviour is implemented in the following commit.
2026-04-28 20:33:09 +01:00
Jos Dehaes
7b3f37725f rcxml: add raiseOnFocusDelay option
Add a new <focus><raiseOnFocusDelay> element accepting an integer in
milliseconds. The default of 0 preserves the current behavior (raise
immediately when raiseOnFocus is enabled).

The new field is carried as uint32_t raise_on_focus_delay_ms on
struct rcxml. This commit only adds the parser and default; the
actual delay logic follows in a subsequent commit.
2026-04-28 20:33:09 +01:00
Jos Dehaes
70e3173f99 build: add systemd-session feature option
Some checks are pending
labwc.github.io / notify (push) Waiting to run
Let distributors opt out of installing labwc-session.target at configure
time. Default is 'auto' (install if the systemd pkg-config file is
present), 'enabled' forces it on, 'disabled' skips it entirely.
2026-04-27 20:57:36 +01:00
Jos Dehaes
af277b09ed docs: document labwc-session.target integration
Describe the shipped labwc-session.target in labwc(1) SESSION MANAGEMENT
and add commented-out systemctl start/stop lines to the example
autostart and shutdown files. Users on systemd-based distros can
uncomment these to pull in graphical-session.target when labwc starts
and tear it down cleanly on exit, without labwc itself mandating any
specific init system.
2026-04-27 20:57:36 +01:00
Jos Dehaes
d8119cb354 build: ship labwc-session.target systemd user unit
Add a small systemd user target modelled on miracle-wm-session.target.
It binds to graphical-session.target and orders after
graphical-session-pre.target, so systemd user services declaring
WantedBy=graphical-session.target (panels, portals, notification
daemons, ...) start and stop in sync with a labwc session.

Installed into $systemduserunitdir when the systemd dependency is
available at configure time; on systems without systemd the install
is skipped and labwc's runtime activation of the target fails
gracefully.
2026-04-27 20:57:36 +01:00
diniamo
5c7bfe3c67 Add onbutton scrollMethod, scrollButton 2026-04-27 20:55:55 +01:00
tokyo4j
7d264c907f src/cycle/cycle.c: fix typo 2026-04-26 19:07:23 +09:00
elviosak
20540d76f9 fix docs typo
Some checks failed
labwc.github.io / notify (push) Has been cancelled
2026-04-24 21:27:46 +01:00
Jack Zeal
ad05ea5897 Fix doc indentation 2026-04-22 20:35:00 -07:00
Jack Zeal
1d80ee7a01 Update labwc-theme docs to cover new options 2026-04-20 22:02:10 -07:00
Thorbjørn Lindeijer
5f668a82ee interactive: allow resize on fully maximized views
Some checks failed
labwc.github.io / notify (push) Has been cancelled
Modifier+right-drag resize was silently ignored on fully maximized views
because of an early-return guard in interactive_begin(). The axis-specific
un-maximization logic introduced in #3043 already handles partial
maximization correctly; extend that to the VIEW_AXIS_BOTH case so both
axes are cleared while keeping the current geometry as the starting point
of the resize.

Move already permits dragging maximized views, so this also removes an
asymmetry between the move and resize paths.

Fixes: #3524
2026-04-19 13:37:13 +01:00
daniel
5c582bda09 config: migrate from amixer to pactl 2026-04-19 13:29:37 +01:00
Johan Malm
6df6a092ba NEWS.md: update notes for 0.9.7 2026-04-17 19:38:55 +01:00
Yannis Drougas
c5ea41e876 Add overrideInhibition to keyboard.keybind
Some checks failed
labwc.github.io / notify (push) Has been cancelled
2026-04-14 22:33:49 +01:00
yuiiio
4c7a9960a4 osd-thumbnail: fix failed to get client texture
Use wlr_client_buffer->texture directly instead of wlr_texture_from_buffer.
All buffers in content_tree are wlr_client_buffer.

wlr_texture_from_buffer calls client_buffer_begin_data_ptr_access which
fails when client_buffer->source == NULL (client released buffer early,
e.g. wl_shm foot-terminal).
2026-04-15 00:26:10 +09:00
Johan Malm
da37e97a45 Add action ToggleShowDesktop
Some checks are pending
labwc.github.io / notify (push) Waiting to run
2026-04-13 21:59:09 +01:00
Tobias Bengfort
8b32422b93 rcxml: allow to restrict privileged interfaces
Some checks failed
labwc.github.io / notify (push) Has been cancelled
2026-04-11 16:34:11 +02:00
Johan Malm
c8bb3381a4 Add key state OSD for debugging
Some checks are pending
labwc.github.io / notify (push) Waiting to run
Add action `DebugToggleKeyStateIndicator` to show in the top-left corner
the pressed, bound, pressed-sent keys as well as modifiers.

This should help fault find issues like #2771 and #3238

Based-on: #3262
Co-authored-by: @tokyo4j
2026-04-10 21:19:11 +01:00
Weblate
c4fd916fd3 Translation updates from weblate
Co-authored-by: ButterflyOfFire <butterflyoffire@protonmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/kab/
Translation: Labwc/labwc
2026-04-10 20:45:51 +01:00
Manuel Barrio Linares
3ec20044b5 server: add support for color-management-v1 and color-representation-manager-v1 2026-04-10 12:59:44 +02:00
daniel
afaed4af63
config: remove the underline from the XF86 keys
to match the actual key names in xkbcommon-keysyms.h
2026-04-08 10:37:35 +02:00
John Lindgren
90c38e2681 xdg: set initial position a hair earlier to fix window rules
Partially reverts: 3f223fe5b0
("xdg: unify initial positioning logic")
2026-04-07 20:05:00 +02:00
Jack Zeal
ecf7770704 Realign spacing for CI 2026-04-06 20:11:29 -07:00
Jack Zeal
b2803b8f4d Add highlight/shadow controls for beveled items 2026-04-06 20:09:51 -07:00
Jens Peters
a893b1ab50 input: fix tablet tool tilt motion
Tilt axis are not relative.
2026-04-06 22:10:10 +01:00
Jack Zeal
6dffb80d6a Add infrastructure to generatecustom highlight/lowlight 2026-04-06 09:59:40 -07:00
Jack Zeal
2591661005 Guard for possible null menu buffer
Guard for possible null menu buffer, attempt 2
2026-04-05 18:10:11 -07:00
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
Consolatis
c9b4da2ce2 osd-thumbnail: handle buffer allocation failure
Fixes: #3489
2026-04-02 22:10:30 +02: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
tranzystorekk
e45548077e CI: Void: use wlroots0.20-devel distro package 2026-04-01 17:37:26 +02:00