Commit graph

3591 commits

Author SHA1 Message Date
st0rm-shad0w
81666b458d
Merge 0985a44982 into f4b9bdab65 2026-06-10 11:40:39 +09:00
Johan Malm
f4b9bdab65 NEWS.md: add notes on wlroots-0.20 2026-06-08 23:19:27 +02:00
Consolatis
78227f1724 CI: Debian Testing temporary labwc removal due to wlroots transition 2026-06-08 20:28:51 +02:00
Johan Malm
579e532908 xdg-shell: protect against SIGABRT when TTY switching
Ensure we have got sensible toplevel width/height before trying to set
size on configure.

This protects against an edge case experienced when TTY switching between
labwc and Xfce running on XOrg on another TTY. It is not yet clear what
causes this, but hitting wlroots assert() is not great, so let's protect
against it.

Written-by: @Tamaranch

Fixes: #3608
2026-06-04 20:05:06 +01:00
Johan Malm
d5b5b765c7 build: bump version to 0.20.0
Some checks failed
labwc.github.io / notify (push) Has been cancelled
2026-05-25 20:21:25 +01:00
Johan Malm
37434e3ea5 NEWS.md: minor fix s/labwc/wlroots/ 2026-05-25 20:17:11 +01:00
Johan Malm
52487547ca NEWS.md: update notes for 0.20.0 2026-05-25 20:07:41 +01:00
Johan Malm
7e74b82874 NEWS.md: move wlroots-0.19 notes
...to the 0.9.x section
2026-05-25 20:07:41 +01:00
Johan Malm
151acae28a Add default keybind super-d for ToggleShowDesktop 2026-05-25 20:22:59 +02:00
stormshadow
0985a44982 ipc: add focus, focus next, focus prev commands 2026-05-22 01:55:44 +05:30
stormshadow
8063daef52 labmsg: use LABWC_VERSION instead of hardcoded version string 2026-05-21 19:03:11 +05:30
stormshadow
5e09725c01 docs: add labmsg(1) man page for IPC client 2026-05-21 19:03:11 +05:30
stormshadow
523fa92a09 ipc: add sscanf return checks and clean up formatting 2026-05-21 19:03:11 +05:30
stormshadow
fa8d198082 ipc: remove forward slash escaping in JSON output 2026-05-21 19:03:11 +05:30
stormshadow
c675da04aa rcxml: track first loaded config file for IPC 2026-05-21 19:03:11 +05:30
Consolatis
0076c528b7 Add ipc_event_window_geometry() helper
This allows creating events based on different labwc internal geometries.
Also use ipc internal geometry for clients and not just deduplication.
2026-05-21 19:03:10 +05:30
Consolatis
1d40640188 Move initialization of view_query->link to ipc.c 2026-05-21 19:03:10 +05:30
Consolatis
784cf42e4c Revert unrelated changes to labwc.h 2026-05-21 19:03:10 +05:30
Consolatis
8b1b59249d move ipc_clients list to ipc.c 2026-05-21 19:03:10 +05:30
stormshadow
6e14cd29f1 ipc: move identifier field after app_id in get_tree output 2026-05-21 19:03:10 +05:30
stormshadow
a28c4ce8e4 ipc: emit resize events during interactive resize 2026-05-21 19:03:10 +05:30
stormshadow
8328c05041 Add swaymsg-compatible IPC interface with labmsg client 2026-05-21 19:03:10 +05:30
Consolatis
bce14a5ad7 toplevel-capture: partial initial implementation
Missing:
- xwayland child windows
- xwayland unmanaged windows, e.g. popups / menus / ...
- xdg child window positioning
- xdg subsurfaces (test-case: mate-terminal settings listboxes)
- xdg popup positioning
2026-05-20 17:49:06 +01:00
Weblate
d5eb227c77 Translation updates from weblate
Some checks failed
labwc.github.io / notify (push) Has been cancelled
Co-authored-by: Demian <Demian@gmx.co.uk>
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/de/
Translation: Labwc/labwc
2026-05-18 21:19:21 +01:00
Tomi Ollila
80ff89c640 Typo/style fixes in docs and code comments
Codespell(1)-pointed typos in files listed by `git ls-files`
(sans checkpatch.pl and possibly some others). Removed some
extra spaces. Added a few missing trailing periods.
`Default is ...`.  Added spaces in ' />' where missing
(sans e.g. wayland protocol and t/* files).
Fit some lines in docs/*.scd to 80 colums.

Used git grep commands (to find similar cases):
$ git grep -n '\S/>'
$ git grep -nF '.  '
$ git grep -n '[^\t*'\'',{#]\t'
$ git grep -ni 'default '

No functional change. No change in *.[ch] line numbers.
2026-05-18 19:55:05 +01:00
massi
4af693a7fd window-title: cleaner string replace
Some checks failed
labwc.github.io / notify (push) Has been cancelled
2026-05-16 14:36:51 +01:00
massi
cd7be59d5f window-title: rewording, renaming, lint fixes 2026-05-16 14:36:51 +01:00
massi
0a9bd41df0 window-title: add documentation 2026-05-16 14:36:51 +01:00
massi
df6dde131f window-title: implement window-title command line argument
When -t or --window-title is supplied, its required argument is treated as a
format string where `%o` is replaced by the `wlr-output`'s `name` when we set
the window title.

This uses glib to split and join the format string because our own
`string-helpers` library only has `str_join`. Otherwise using `string-helpers`
would have been preferred.
2026-05-16 14:36:51 +01:00
massi
7a53f294a8 output.c: use env var LABWC_TITLE to set nested labwc window title
Introduces an environment variable LABWC_TITLE, which, when set, will
be used to set the title of a nested instance of labwc.
2026-05-16 14:36:51 +01:00
Tomi Ollila
8473ea4b72 main: update --version string 2026-05-13 14:47:08 +02:00
stormshadow
4b61a8a879 fix(labnag): add missing --exclusive-zone to getopt options 2026-05-11 21:03:15 +01:00
Johan Malm
bc287686ea NEWS.md: interim update 2026-05-11 21:01:55 +01:00
Standreas
477b3b1ddb Fix typo in labwc-config.5.scd
Some checks failed
labwc.github.io / notify (push) Has been cancelled
2026-05-09 13:09:29 +01:00
Consolatis
e1fdbb0611 CI: also run CI on docs changes 2026-05-08 21:02:10 +02:00
Consolatis
90b87cb882 docs/labwc-config: fix HDR comment syntax error
Fixes 'Expected ``` and a newline to begin literal block'
2026-05-08 21:02:10 +02:00
Alex Chernika
e2f3c03287
src/menu: slight clean up of menu accelerators
Slight clean up of the accelerator implementation, including use of glib for utf8-parsing
2026-05-08 20:35:40 +02:00
Consolatis
d86b2cfd0d docs: mention Vulkan requirement for HDR config 2026-05-08 19:21:51 +01:00
Christopher Snowhill
38f80d7167 Document the new HDR option
Some checks failed
labwc.github.io / notify (push) Has been cancelled
v2: Remove note which is no longer applicable.
2026-05-07 15:21:34 +02:00
Christopher Snowhill
c1b11c7821 chase wlroots: Add support for HDR10 output
v2: Switch XRGB to XBGR
v3: Rewrite HDR mode checking and setting
v4: Restructure HDR support detection
v5: Fix code style
v6: Fix old style function declaration
v7: This function should be declared static
v8: This helper function can accept a const struct on input
v9: Rebase now that 0.20 is merged
v10: Rewrite with multiple color format attempts
v11: Add in the parts that accidentally got left in my
     original color-management-v1 patch
v12: Add missing function prototype
v13: Apply suggested changes
v14: Changed HDR application setup in new output
v15: Rewrite configure_new_output to use lab_wlr_scene_output_commit
v16: Fixed application of HDR on external mode or output config change
v17: Fixed it for real this time instead of crashing
v18: Moved the effective resolution collection, plus one style change.
2026-05-07 15:21:34 +02:00
Consolatis
2189b2be1e main: include wlroots version in --version string 2026-05-07 06:24:30 +01:00
Consolatis
2480a23b19 common/macros: change WLR_VERSION macro to runtime evaluation 2026-05-07 06:24:30 +01:00
Johan Malm
0f5e4f8dd0 cycle.c: put common code in get_cycle_app_id 2026-05-07 04:42:11 +02:00
Johan Malm
949e9ffe42 cycle.c: put common code in get_view_criteria() 2026-05-07 04:42:11 +02:00
Tomi Ollila
ff2f243eb1 NEWS.md: typo and style fixes with help of perl(1) and codespell(1)
Some checks failed
labwc.github.io / notify (push) Has been cancelled
$ perl -pi.bak -e 's,\S\K/>, />,' NEWS.md
$ codespell [-i3] -L DoubleClick,inter-operability NEWS.md
2026-05-05 20:43:12 +01:00
Johan Malm
f42e1895d4 buf.c: fix -fanalyze warning
../src/common/buf.c:61:28: error: write to string literal [-Werror=analyzer-write-to-string-literal]
   61 |                         *p = '\0';
      |                         ~~~^~~~~~
2026-05-05 20:31:47 +02:00
Alex Chernika
3632c6703a menu: implement menu accelerators
Menu accelerators are one-letter mnemonics to quickly select/exec
items from the current menu. For each menu item, the accelerator is
defined as the first character of the item label, converted to
lowercase. A different accelerator can be explicitly defined in
menu.xml with the special '_' character before the target letter.

- Add a field `accelerator` to the `menuitem` struct
- Implement `menu_item_select_by_accelerator()`

Example:
The accelerator for an item with the label "e_macs" is 'm'.
2026-05-05 19:16:59 +01:00
Alex Chernika
07a0a4e59b scaled-buffer: introduce scaled_font_buffer_update_markup()
This function behaves identically to `scaled_font_buffer_update()`
but allows setting the text as pango markup, supporting further
customization like underscores.
2026-05-05 19:16:59 +01:00
Weblate
0caefa6a9e Translation updates from weblate
Co-authored-by: Tobias Si <dragoslav123@protonmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/sr_Latn/
Translation: Labwc/labwc
2026-05-05 19:10:24 +01:00
tokyo4j
0ff9af4ae0 src/img/img-xpm.c: fix unused variable warning
This fixes a warning in gcc16 below:

../src/img/img-xpm.c: In function ‘xpm_load_to_surface’:
../src/img/img-xpm.c:354:33: warning: variable ‘xcnt’ set but not used [-Wunused-but-set-variable=]
  354 |                 for (int n = 0, xcnt = 0; n < wbytes; n += cpp, xcnt++) {
      |                                 ^~~~
2026-05-04 06:21:58 +01:00