Commit graph

1930 commits

Author SHA1 Message Date
Consolatis
598ab9bcff src/layers.c: delay popup unconstrain until after first commit
Fixes: #1372
2024-02-25 11:49:03 +00:00
Sachin Bhat
6fb06c54c2 config: support libinput sendEventsMode
This allows to enable / disable libinput devices.

Co-Authored-By: @Consolatis
2024-02-24 21:36:53 +01:00
Jens Peters
9456b50983 seat: fix configure condition for click method
Exclude none (zero) from the bitmask test , otherwise
the bitmask test is always true when click method is
configured to 'none' and as a result the configuration
will be skipped.
2024-02-24 20:39:54 +01:00
Consolatis
7adf5533f9 src/output.c: log when disabling adaptive_sync on a nested labwc 2024-02-22 23:40:03 +01:00
Consolatis
d69faffc4e src/output.c: notify clients about config errors
Preliminary fix for #1525.

Based on the protocol we should also revert all
previously correctly committed outputs. #1528
is doing just that but may cause regressions so
we need a short term solution and then deal with
potential issues in #1528 after the release.
2024-02-22 23:40:03 +01:00
Marvin Dostal
8be9c38460
Add click method libinput option (#1416)
<libinput>
  <device>
    <clickMethod>none|buttonAreas|clickfinger</clickMethod>
  </device>
</libinput>
2024-02-21 17:19:48 +00:00
Andrew J. Hesford
17bad48d87 edges: better ignore edges of windows not on same output as moving view 2024-02-14 22:08:31 -05:00
Consolatis
d3b0c69ec1 src/debug.c: detect more scene trees
Also
- resolve workspaces names and view app_id
- truncate everything
2024-02-14 21:25:41 +00:00
Consolatis
29a26d5ff7 edges: do not apply resistance to invisible edges 2024-02-14 21:20:45 +00:00
Consolatis
7500120670 src/ssd: ensure we crash properly when compiled without asserts 2024-02-10 19:22:12 +01:00
Consolatis
a5c6b2f83d Prevent 'unused variable' warnings when compiled without asserts 2024-02-10 19:22:12 +01:00
Consolatis
e9552fb661 src/seat.c: provide NULL fallback for output name
This fixes a warning when doing a release build.
2024-02-10 19:22:12 +01:00
Andrew J. Hesford
6c87254146 view: cancel interactive resize when shading 2024-02-08 17:33:23 +00:00
Johan Malm
8b9ea7b343
Merge pull request #1491 from Consolatis/feature/fix_invisible_resize_area
src/ssd: allow invisible resize area across outputs
2024-02-07 22:13:57 +00:00
Ph42oN
f7e811f2fa
output: allow changing adaptive sync state
Fixes: #1412
2024-02-07 22:17:17 +01:00
Andrew J. Hesford
2c4f7e86dc
Merge pull request #1508 from ahesford/follow_the_white_rabbit
Refinements to edge behavior
2024-02-07 15:44:42 -05:00
Andrew J. Hesford
8a0f1f9355 resistance: only resist "entry" into another window space 2024-02-06 11:26:42 -05:00
Consolatis
b013cbba3a src/ssd: allow invisible resize area across outputs
This uses the new `view->outputs` bitset to calculate the intersection
with *all* outputs the view is currently visible on.

This ensures that the invisible resize handle works across outputs
while still making sure that it won't leak into neighboring ones just
because it is positioned closely to an output edge (either manually,
maximized or snapped via SnapToEdge or SnapToRegion).

Co-Authored-By: @johanmalm

Fixes: #1486
Reported-By: @lurch
2024-02-06 17:24:21 +01:00
Consolatis
382068e452 src/view.c: store outputs the view is visible on 2024-02-06 17:23:45 +01:00
Consolatis
e480c57445 src/theme.c: minor code improvements 2024-02-06 16:47:05 +01:00
Consolatis
bfd9437fc4 src/theme.c: use rounded hover overlays
Fixes: #1504
2024-02-06 16:47:05 +01:00
Andrew J. Hesford
2262851237 edges: weaken traversal requirement for applying resistance 2024-02-06 10:41:15 -05:00
Andrew J. Hesford
c01bf3f319 resistance: prevent "snapping" when windows change direction near edges 2024-02-06 10:00:52 -05:00
Andrew J. Hesford
cf34e60240 edges: limit edge attraction and resistance...
...to edges actually encountered by motion during interactive moves and
resizes.

In addition, ignore edge resistance and attraction for minimized views.
2024-02-05 22:05:22 +00:00
Consolatis
e0c3635282 src/desktop.c: reduce OSD log spam on hover 2024-02-02 21:36:20 +00:00
Andrew J. Hesford
242b94bca9 view: respect rc.gap when moving to cursor
Fixes: #1494
2024-02-02 21:39:13 +01:00
Andrew J. Hesford
9693100e16 edges: only snap to neighbors on outputs containing the changing view 2024-02-01 21:05:20 +00:00
Andrew J. Hesford
b82d4783ea edges: simplify output edge validation 2024-02-01 21:05:20 +00:00
Andrew J. Hesford
01af000cd1 view: better honor usable areas when changing outputs...
...in view_move_to_edge. If a view is fully within the usable area of
its original output, it should be fully within the usable area (if
possible) on its new output.
2024-01-30 21:12:46 +00:00
Andrew J. Hesford
e7e6d29237 edges, resistance, snap: unified resistance and snapping engine 2024-01-30 15:02:17 -05:00
Andrew J. Hesford
1b0f1a4c4e placement: consider gaps when placing new windows 2024-01-30 13:35:33 -05:00
Andrew J. Hesford
3162bbb3c2 xdg: add snapping.notifyClient option to control tiling events 2024-01-30 07:30:07 -05:00
Andrew J. Hesford
9f51384b6a interactive: reset tiled state when dragging out of snapped position
This ensures that client-side decorations (and maybe other client
behaviors) behave intuitively during interative moves, but means that

    drag to snapped position -> drag to maximize -> un-maximize

will put the window back to its natural geometry (saved before the first
snap) rather than back to the snapped position. This is a change in
behavior, but a) simplifies the logic a bit, because the tiled state is
always in sync with the window geometry and b) in some sense is "more
correct", because the window has been "visually" un-tiled the minute the
window starts dragging.

Note that maximizing using an action (including the button) a window
that has been snapped and then un-maximizing the window will put the
window back to the snapped position, as it always has.
2024-01-30 07:30:07 -05:00
Andrew J. Hesford
c1a2dd3e27 view, xdg: notify clients when tiling windows 2024-01-30 07:30:07 -05:00
Andrew J. Hesford
bd5dcb3485 xdg: make sure wlroots always knows the correct client size 2024-01-29 15:56:25 -05: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
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
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