Commit graph

1938 commits

Author SHA1 Message Date
Jens Peters
dd91cd89ae input: log tablet dimensions 2024-01-01 22:11:33 +00:00
Johan Malm
fbd6e49f8f labwc-config(5): update libinput section 2024-01-01 22:04:21 +00:00
Johan Malm
af5d80a583 config: s/enum device_type/enum lab_libinput_device_type/ 2024-01-01 22:04:21 +00:00
Johan Malm
673c745cff config: prefix enums with LAB_LIBINPUT_DEVICE_ 2024-01-01 22:04:21 +00:00
Johan Malm
a7f8eef163 seat: refactor obtaining libinput category for device
No functional change intended.
2024-01-01 22:04:21 +00:00
Johan Malm
94cec51d9f config: use wl_list_append() for libinput categories
...to make it more intuitive.

Also, do not check for existance of name when type==DEFAULT because name
will only exist when type==NONE.
2024-01-01 22:04:21 +00:00
Johan Malm
a63f858f58 config: add missing return to save a few cycles 2024-01-01 22:04:21 +00:00
Johan Malm
84fcb99884 config: allow <libinput><device> without category attribute
...to define a 'default' profile because that is likely to be more
user-friendly.
2024-01-01 22:04:21 +00:00
Johan Malm
5337eda242 config: remove duplication in libinput-category parsing
Related-to: #1382
2024-01-01 22:04:21 +00:00
Tomi Ollila
aff673bee4 rc.xml.all: replace "" with "default" in libinput device category
As empty string there is not matched as how it was expected.
2024-01-01 16:14:29 +00:00
Andrew J. Hesford
b1c5e95c05 view: honor automatic placement when adjusting floating geometry
The view_adjust_floating_geometry function is called when un-maximizing
a window or changing the output layout to ensure that views are well
placed. Rather than always centering these views should they fall
offscren, use the automatic placement strategy if so configured.
2023-12-30 16:50:09 +00:00
Johan Malm
7f357a388b labwc-config(5): describe adaptive sync fullscreen option 2023-12-30 16:04:24 +00:00
Ph42oN
08045d7843 config: add adaptive sync fullscreen option 2023-12-30 15:46:35 +00:00
Jens Peters
21234a5763 config: fix signature formatting 2023-12-29 22:32:41 +00:00
Jens Peters
e61e4c4e75 input: add rotate transformation for tablet coordinates
Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
2023-12-29 22:32:41 +00:00
Jens Peters
23ecc32562 config: add tablet rotate configuration
Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
2023-12-29 22:32:41 +00:00
Jens Peters
20bba35570 input: rename drawing_tablet to tablet 2023-12-29 20:22:46 +00:00
Jens Peters
5a93aa3a78 input: use button mapping from configuration
Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
2023-12-29 20:22:46 +00:00
Jens Peters
567b81ea10 config: add tablet button mapping configuration
Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
2023-12-29 20:22:46 +00:00
Johan Malm
f0b72e3af7 ci: include scripts/find-banned.sh
...to search for functions which have been banned from our code base,
because they're too easy to misuse, and even if used correctly,
complicate audits, cause inconsistencies and/or make static analysis
harder.
2023-12-29 11:47:55 +01:00
Johan Malm
235e11f6c9 xbm: s/u32/argb32/ function name change 2023-12-29 11:46:16 +01:00
Jared Baur
6faee17d20 Add touchpad device type
It is nice to have finer granularity for device types to allow for
configurations such as using `naturalScroll` on touchpads, but not on
regular pointer devices such as mice.
2023-12-29 08:08:32 +00:00
Andrew J. Hesford
e3cd189769 feat: add "AutoPlace" action
The AutoPlace action will apply placement_find_best() to an active view,
moving it to a position on its output that will minimize overlap with
other views.
2023-12-28 22:09:44 +00:00
Johan Malm
4b6239ee0c osd: refactor to eliminate usage of g_strcmp0()
...to allow inclusion of ./scripts/find-banned in CI

No functional change intended.
2023-12-28 20:41:49 +01:00
Johan Malm
e77dddbc59 keyboard: fix virtual keyboard bug
Do no process virtual keyboard keycodes (just the keysyms).

Reproduce bug by issuing `wlrctl keyboard type xyz` and observe only 'x'
when 'xyz' was expected.

The 'y' and 'z' were matched in match_keybinding() in the keycode section and
returned keybinds for `XF86_AudioLowerVolume` and `XF86_AudioRaiseVolume`
respectively.

Fixes: #1367
2023-12-28 19:00:49 +01:00
Johan Malm
7c59351774 Revert "xdg: Fix visual glitch when resizing xfce4-terminal from left edge"
This reverts commit 31ec8f050c.

Commit c59aeb5 solves this in a different (hopefully more elegant) way.

Related-to: #1370
2023-12-28 10:22:23 +00:00
Andrew J. Hesford
c59aeb5673 xdg: sync pending when applying geometry
Applications may respond to pending resize requests either by ignoring
them or substituting alternative sizes (for example, when mpv constrains
resizes to keep its aspect ratio fixed). In these cases, view->pending
will fall out of sync with the actual view geometry. This will cause
problems when subsequent operations (e.g., MoveToEdge) use the pending
geometry to decide where to place the window.

To fix this, reset view->pending to be equal view->current when either:

1. The requested size change has been commited, to the scene graph, and
   no subsequent changes are pending; or

2. The requested size change has been ignored by the client.
2023-12-28 10:13:52 +00:00
Andrew J. Hesford
7c91f36c13 .gitignore: ignore vim swap files 2023-12-28 10:13:52 +00:00
Jens Peters
605f9e9181 seat: initialize tablet tool or pad
Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
2023-12-27 11:09:26 +00:00
Jens Peters
2b96799a05 input: add drawing tablet setup and event listeners
Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
2023-12-27 11:09:26 +00:00
Jens Peters
58e9724007 input: add cursor move and button emulation
Co-authored-by: Consolatis <35009135+Consolatis@users.noreply.github.com>
2023-12-27 11:09:26 +00:00
kyak
d2d469133f
osd: support full app_id in window switcher (#1309)
Support showing full application
identifier or the trimmed variant in window switcher OSD.

Regression notice: For anyone using ‘identifier’ in window-switcher field configuration, change it to ‘trimmed_identifier’.
2023-12-27 10:55:49 +00:00
Weblate
ccd4ab943e Translation updates from weblate
Co-authored-by: A S Alam <amanpreet.alam@gmail.com>
Co-authored-by: Ihor Hordiichuk <igor_ck@outlook.com>
Co-authored-by: Priit Jõerüüt <lxqtwlate@joeruut.com>
Co-authored-by: Sabri Ünal <libreajans@gmail.com>
Co-authored-by: Weblate <noreply@weblate.org>
Co-authored-by: kmephistoh <kanhaosmile@gmail.com>
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/et/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/pa/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/tr/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/uk/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/zh_CN/
Translation: Labwc/labwc
2023-12-26 21:04:17 +00:00
Andrew J. Hesford
52aafcc054 feat: automatic window placement
With automatic placement, new top-level windows will be placed to
minimize overlap with other windows already on screen.
2023-12-26 19:20:06 +00:00
Andrew J. Hesford
ef62d47ad1 feat: under-cursor window placement
With under-cursor placement, new top-level windows will be centered
under the cursor rather than centered on the active view.
2023-12-26 19:20:06 +00:00
Standreas
ce3c5ab958 Removed characters slipped in 2023-12-24 10:08:35 +00:00
Standreas
96dc3c82a9 Fixed menu link 2023-12-24 10:08:35 +00:00
Standreas
e7a66ba3c6 Added translation information 2023-12-24 10:08:35 +00:00
kyak
ffe4b815d8 Update Russian translation 2023-12-23 09:36:03 +01:00
kyak
266690091f Remove headers not being used directly
Fix clangd warnings regarding headers not being used directly.
2023-12-22 20:19:39 +00:00
Jens Peters
6c287969d3 NEWS.md: Fix typo 2023-12-22 20:05:06 +00:00
Johan Malm
eb41fb1e0b build: bump version to 0.7.0 2023-12-22 17:03:32 +00:00
Johan Malm
5d53ab0675 NEWS.md: update notes for 0.7.0 2023-12-22 16:59:37 +00:00
Weblate
6be5983af9 Translation updates from weblate
Co-authored-by: Heimen Stoffels <vistausss@fastmail.com>
Co-authored-by: Jan Rolski <wbcwknvstb@proton.me>
Co-authored-by: Roberalz <lumintnian@outlook.com>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/es/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/eu/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/gl/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/nl/
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/pl/
Translation: Labwc/labwc
2023-12-22 16:58:42 +00:00
Jens Peters
44c79c4963 xwayland: Prevents usage of invalid data pointer
There are situations where the data pointer of a parent is NULL.
Checking for NULL first fixes e.g. a segmentation fault in CLion
when opening the settings window from a popup menu.

See also https://github.com/labwc/labwc/issues/1351#issuecomment-1867475324
2023-12-22 11:24:49 +01:00
daniel
1e807ce654 Add Portuguese translation 2023-12-21 22:29:21 +00:00
Weblate
f5f00ee9bd Translation updates from weblate
Co-authored-by: Standreas <standreas@riseup.net>
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/it/
Translation: Labwc/labwc
2023-12-21 22:28:50 +00:00
Weblate
9ea6104fce Translation updates from weblate
Co-authored-by: Standreas <standreas@riseup.net>
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.lxqt-project.org/projects/labwc/labwc/
Translation: Labwc/labwc
2023-12-21 18:08:02 +00:00
John Lindgren
a3f880716f xwayland: fix issue with panel getting stuck offscreen
For unknown reasons, XWayland surfaces that are completely offscreen
seem not to generate commit events. In rare cases, this can prevent an
offscreen window from moving onscreen (since we wait for a commit event
that never occurs). As a workaround, move offscreen surfaces
immediately.

This fixes an issue that I can reproduce by having qmpanel displayed on
a (larger) external monitor, then undocking the laptop so that qmpanel
requests a simultaneous move+resize to the (smaller) laptop display.
2023-12-21 06:01:46 +00:00
Johan Malm
3101b0c5b1 menu: move ToggleOmnipresent to workspaces
...and rename it to "Always on Visible Workspace"

Issue: #1316
2023-12-21 02:47:44 +01:00