Commit graph

2220 commits

Author SHA1 Message Date
redtide
f908e332b3 NEWS.md: fix indentation 2024-01-26 17:21:13 +01:00
Jens Peters
aaa91d59b8 NEWS.md: wrap xml in markdown code blocks 2024-01-26 16:47:06 +01:00
Consolatis
a04b394e59 xwayland: support querying window types 2024-01-25 21:14:30 +00:00
Andrew J. Hesford
9ecd8c2b43 view: ensure midpoint is visible on layout change
Fixes: #1476.
2024-01-25 20:22:10 +01:00
Johan Malm
21d816edb2 environment: add Thunderbird to MOZ_ENABLE_WAYLAND description 2024-01-24 23:41:40 +01:00
Johan Malm
59543e476c NEWS.md: update for 0.7.1 2024-01-24 19:14:53 +00:00
John Lindgren
22b02f70e5 xwayland: prevent crash due to unexpected surface dissociate events
Fixes #1360
Fixes #1466
2024-01-24 18:55:21 +00:00
Consolatis
396a4b93d1 src/output.c: expose output configuration test to clients 2024-01-23 20:14:24 +00:00
Consolatis
6e773592f6 src/output.c: properly test new output configurations
Fixes #1458
2024-01-23 20:14:24 +00:00
Andrew J. Hesford
49dc55d4f0 interactive: unify interactive_{cancel,finish} where possible
This also fixes a bug wherein dragging a window and pressing a hot-key
to maximize or fullscreen a window could leave a snap-region highlight
visible after the interactive move was canceled.
2024-01-23 10:11:52 -05:00
Andrew J. Hesford
11cfbca7c7 resistance: properly handled shaded windows 2024-01-23 06:13:57 +00:00
Jens Peters
3cdeaecb4b view: do not resize fullscreen windows 2024-01-23 00:03:33 +01:00
Jens Peters
10d417258a view: fix early return condition 2024-01-22 22:27:08 +00:00
Jens Peters
945eea8f27 docs: describe MoveToOutput/FitToOutput action 2024-01-22 22:27:08 +00:00
Jens Peters
6391f9bcb2 action: add FitToOutput 2024-01-22 22:27:08 +00:00
Jens Peters
aa0e7523c3 action: add MoveToOutput 2024-01-22 22:27:08 +00:00
Jens Peters
b1d626fbfd view: add move_to_output() function 2024-01-22 22:27:08 +00:00
Jens Peters
982df84407 view: expose view_get_adjacent_output 2024-01-22 22:27:08 +00:00
Jens Peters
099929cf46 view: allow overriding of cursor placement policy 2024-01-22 22:27:08 +00:00
Jens Peters
8517254705 view: fix typo 2024-01-22 22:27:08 +00:00
Jens Peters
e547e29563 docs: extend touch section 2024-01-22 21:50:18 +00:00
Jens Peters
1d4961650f seat: re-map pointer to output on reconfigure
Makes testing easier, also consistent with other
devices types on reconfigure.
2024-01-22 21:50:18 +00:00
Jens Peters
19cab55092 seat: get output name from touch config for current device
The output name attached to the touch device has
still priority.
2024-01-22 21:50:18 +00:00
Jens Peters
3f77514459 config: add finding touch configurations 2024-01-22 21:50:18 +00:00
Jens Peters
2c3ab16f39 config: parse multiple touch configurations
Also temporary disable touch output mapping.
Will be restored later.
2024-01-22 21:50:18 +00:00
Jens Peters
9d64b56367 config: introduce touch config structure 2024-01-22 21:50:18 +00:00
Jens Peters
6def1319d1 input: move function to config
This function is only about rc, so fits better
in config.
2024-01-22 21:50:18 +00:00
Standreas
241fcb0bde Removed obsolete comment
"unshade" exists now.
2024-01-22 11:23:46 +01:00
Andrew J. Hesford
4181bb5335 resistance: support negative strengths to indicate attractive snapping 2024-01-21 16:10:50 -05:00
Andrew J. Hesford
57ea197e6c resistance: add window-edge resistance for interactive moves/resizes 2024-01-21 16:10:50 -05:00
Johan Malm
f73e9ded1c view: fix regression whereby cursor is not updated
...on view destruction because focus_change_notify() in seat.c changes
server->active_view so the logic introduced by 6c6e406 (which checks if
view =! active_view) is no longer right.

The glitches described in the commit below have not come back.
6c6e406507

Fixes #1393
2024-01-19 20:37:23 +00:00
Johan Malm
c066821046 string-helpers.c: add string_empty() 2024-01-19 20:00:37 +00:00
Simon Long
8c9be2f0d1 keyboard: set keyboard layout on reconfigure
If keyboard-layout-per-toplevel-window is used, reset the group (index)
for each window on --reconfigure whenever the keymap has changed.

Refactor to use a common configure function for reconfigure and
keyboard-group creation.

Co-authored-by: @johanmalm

Fixes #1407
2024-01-19 18:59:14 +00:00
Johan Malm
dfb6664906 Honour -c <file> on --reconfigure 2024-01-18 20:20:36 +00:00
Johan Malm
698c7ace07 config: support merging multiple config files
Add the -m|--merge-config command line option to iterate backwards over
XDG Base Dir paths and read config/theme files multiple times.

For example if both ~/.config/labwc/rc.xml and /etc/xdg/labwc/rc.xml
exist, the latter will be read first and then the former (if
--merge-config is enabled).

When $XDG_CONFIG_HOME is defined, make it replace (not augment)
$HOME/.config. Similarly, make $XDG_CONFIG_DIRS replace /etc/xdg when
defined.

XDG Base Dir Spec does not specify whether or not an application (or a
compositor!) should (a) define that only the file under the most important
base directory should be used, or (b) define rules for merging the
information from the different files.

ref: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html

In the case of labwc there is a use-case for both positions, just to be
clear, the default behaviour, described by position (a) above, does NOT
change.

This change affects the following config/theme files:
  - rc.xml
  - menu.xml
  - autostart
  - environment
  - themerc
  - themerc-override
  - Theme buttons, for example max.xbm

Instead of caching global config/theme directories, create lists of paths
(e.g.  '/home/foo/.config/labwc/rc.xml', '/etc/xdg/labwc/rc.xml', etc).
This creates more common parsing logic and just reversing the direction
of iteration and breaks early if config-merge is not wanted.

Enable better fallback for themes. For example if a particular theme does
not exist in $HOME/.local/share/themes, it will be searched for in
~/.themes/ and so on. This also applies to theme buttons which now
fallback on an individual basis.

Avoid using stat() in most situations and just go straight to fopen().

Fixes #1406
2024-01-18 20:20:36 +00:00
Johan Malm
d0aff49c81 button: save a few cycles by returning early
...and in preparation for the merge-config patch, avoid building
directory lists for empty filenames.
2024-01-18 20:20:36 +00:00
Andrew J. Hesford
4238d7fc33 view: assign output on surface creation instead of mapping...
...and notify the client of the preferred output scale when doing so.
This should allow clients to better determine an optimal size if they
are initially configured (unmapped) with zero size.

In particular, this fixes an issue with foot:

    https://codeberg.org/dnkl/foot/issues/1579
2024-01-17 21:07:33 +00:00
Weblate
02d274e32c Translation updates from weblate
Co-authored-by: Ettore Atalan <atalanttore@googlemail.com>
Co-authored-by: Jouni Järvinen <jounijarvis@gmail.com>
Co-authored-by: Masamichi Ito <ito32bit+github@gmail.com>
Co-authored-by: Moo <hazap@hotmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/de/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/ja/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/lt/
Translation: Labwc/labwc
2024-01-15 22:06:52 +00:00
Johan Malm
774eb2170f keyboard: cancel key repeat on vt change
...(calling `wlr_session_change_vt()`) because when the session is
switched, the access to the keyboard is lost and therefore the RELEASE
event will not be passed to the compositor.

Fixes bug whereby compositor crashes on VT change on FreeBSD.

Fixes #1424
2024-01-15 21:56:18 +00:00
Consolatis
e05bedb140 feat: add Shade/Unshade/ToggleShade actions
This builds on the work of @Consolatis in #1018.

Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
Co-authored-by: Andrew J. Hesford <ajh@sideband.org>
2024-01-15 21:37:36 +00:00
Jens Peters
722a802de0 docs: add touch section 2024-01-13 22:18:20 +00:00
Jens Peters
6d6f243ff5 seat: re-map pointer to output on output change 2024-01-13 22:18:20 +00:00
Jens Peters
f5f5a7b036 seat: configure libinput for touch on reconfigure 2024-01-13 22:18:20 +00:00
Jens Peters
ffc4b0fdee seat: remove not needed device type test
The device type is already validated in the calling
function.
2024-01-13 22:18:20 +00:00
Jens Peters
516423f9ba seat: re-map touch to output on output change 2024-01-13 22:18:20 +00:00
Jens Peters
0eb1ae4d66 seat: re-map touch to output on reconfigure 2024-01-13 22:18:20 +00:00
Jens Peters
21cf3071e3 seat: map touch to configured output name
The output name linked to the touch device
has preference when set. This happens when
the compositor runs in nested mode.
2024-01-13 22:18:20 +00:00
Jens Peters
614ce35f31 config: add touch output mapping configuration 2024-01-13 22:18:20 +00:00
Tomi Ollila
42afdf9193 Fixed some typos, whitespace, periods, 80-column lines
- typos: LINGUAS manually, rest with help of aspell(1)
- whitespace: some trailing spaces/tabs, one utf-8 NBSP (#xC2 #xA0)
- made most text in docs/ fit in max 80-column wide lines
- consistent trailing periods in sentences in labwc-actions.5.scd and
  labwc-config.5.scd; labwc-theme.5.scd had different consistency,
  changed it follow these other files with sentence-ending periods
- and ", respectively" (comma often used to separate)
2024-01-13 19:05:50 +00:00
Jens Peters
52b9b4292f docs: fix element ending 2024-01-12 21:01:29 -05:00