Ivan Molodetskikh
880386e563
render_helpers/resize: Fix logic to allow for partially-filled texture
...
"texture geo" defines offset and src size, rather than the full texture size.
2025-03-10 07:59:14 +03:00
Ivan Molodetskikh
266c6c3878
offscreen: Don't recreate if size decreased
2025-03-10 07:59:14 +03:00
Ivan Molodetskikh
7b033aa7c6
offscreen: Track and return damage
...
This is the second part of the damage equation: now the offscreen element
itself reports correct damage, so partial redraws to the texture don't cause
full redraws of the texture element itself.
2025-03-10 07:59:14 +03:00
Ivan Molodetskikh
efd8372b20
offscreen: Take damage into account when rendering
...
Does not yet signal the damage outside, but does skip rerendering if there was
no damage.
2025-03-10 07:59:14 +03:00
Ivan Molodetskikh
74a30be10b
Cache texture in OpenAnimation
...
Don't recreate it unless the size changes. This lays the groundwork for also
tracking damage in the future.
2025-03-10 07:59:14 +03:00
Ivan Molodetskikh
1c521e4831
Update Smithay (Framebuffer type)
2025-03-10 07:59:14 +03:00
Jon Heinritz
eda43b2b93
doc: fix wrongly formatted link that rustdoc kept complaining about
2025-03-09 04:24:24 -07:00
Ivan Molodetskikh
9f205d465c
mapped: Omit popups from animation snapshot
...
It's used only for resizes, and those render popups on top.
2025-03-02 10:01:52 +03:00
Alex David
d6e736aaf0
Allow disabling tap-and-drag ( #1107 )
...
* Allow disabling tap-and-drag
Similar to https://github.com/YaLTeR/niri/pull/1088 , this adds a new
touchpad `drag` configuration option that configures tap-and-drag
behavior.
Currently tap-and-drag is always enabled when the `tap` setting is
enabled, but other compositors allow setting this separately.
* Update wiki/Configuration:-Input.md
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-03-02 10:01:34 +03:00
Martino Ferrari
36b28d9b96
Added top, left, bottom and right floating windows alignement ( #1169 )
...
* feat: added top, left, bottom, right alignement options
* feat: implemented extra alignement
* feat: added example
* doc: updated documentation with extra alignements
* doc: moved example in wiki and typo correction
* fix: relative position should be positive and not negative
* fixes
---------
Co-authored-by: Martino Ferrari <martinogiordano.ferrari@iter.org >
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-03-01 17:46:27 +00:00
Ivan Molodetskikh
70dcd229cf
Extract encompassing_geo()
2025-02-27 10:38:36 +03:00
Ivan Molodetskikh
26fe4a489a
render_helpers: Use upscale(-1)
2025-02-27 09:54:26 +03:00
Ivan Molodetskikh
2363cf48e7
layout/monitor: Remove unused function
2025-02-27 08:21:05 +03:00
Ivan Molodetskikh
848294c09b
layout/monitor: Remove redundant passthrough functions
2025-02-27 08:21:05 +03:00
Ivan Molodetskikh
693d935538
Add honor-xdg-activation-with-invalid-serial debug flag
2025-02-26 19:33:58 +03:00
bbb651 🇮🇱
16405b9b2b
Implement niri msg pick-window
...
* feat: `niri msg pick-window`
* fixes
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-02-26 15:22:27 +03:00
Ivan Molodetskikh
4719cc6d59
cursor: Extract get_render_cursor_named()
2025-02-26 15:10:18 +03:00
nnyyxxxx
1bdded7a44
feat(input): add off option to touch device
2025-02-26 03:32:21 -08:00
Ivan Molodetskikh
5b6b5536fd
Also check pointer for activation token validity
...
This actually doesn't matter in most cases currently, because it more or less
checks for *anything* to have a keyboard focus, so if you have some focused
window while clicking on a mako notification, that already qualifies.
Signed-off-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-02-24 22:34:30 +03:00
Ivan Molodetskikh
dca187de37
Don't snap after DnD scroll if view position didn't change
...
Otherwise, any DnD breaks temporarily centered columns.
2025-02-18 19:06:40 +03:00
Ivan Molodetskikh
fe660a253b
Don't activate window when pressing the Mod+MMB view gesture
...
Avoid unnecessary movement.
2025-02-18 19:06:40 +03:00
Ivan Molodetskikh
44c9797844
Take tab indicators into account in expand-column-to-available-width
2025-02-17 22:36:30 +03:00
Ivan Molodetskikh
652d2923bb
Use toggle_full_width() for expand-column-to-available-width edge case
2025-02-17 21:57:35 +03:00
Ivan Molodetskikh
85349ce475
Fix expand-column-to-available-width for always-center
2025-02-17 21:48:00 +03:00
Ivan Molodetskikh
92cc2b89f7
Implement expand-column-to-available-width
2025-02-17 21:30:23 +03:00
Ivan Molodetskikh
d27d6a504d
Make idle notify lazy
2025-02-17 09:09:59 +03:00
Ivan Molodetskikh
ec5144feca
Make pointer inactivity timer reset lazy
2025-02-17 09:04:07 +03:00
Ivan Molodetskikh
108e88e211
Enable fancy miette errors for the main binary
...
Seems there's not much dependency/binary size impact now, compared to when I
first made the KDL config.
2025-02-16 19:37:37 +03:00
Ivan Molodetskikh
a693f64c41
Add blank line
2025-02-16 10:26:59 +03:00
Ivan Molodetskikh
f2b1fc66f2
Make DnD edge view scroll configurable
2025-02-16 10:18:00 +03:00
Ivan Molodetskikh
c6e98d5a96
Add a small delay to DnD view scrolling
2025-02-16 10:18:00 +03:00
Ivan Molodetskikh
d077350ae4
layout: Remove unused method
2025-02-16 10:18:00 +03:00
Ivan Molodetskikh
ca1500ae90
Implement scrolling the view during DnD
...
DnD is external to the layout, so we just inform it when one is ongoing.
2025-02-15 13:28:57 +03:00
Ivan Molodetskikh
d7f3ca00c7
Implement scrolling the view during interactive move
2025-02-15 13:28:57 +03:00
Ivan Molodetskikh
fd8140e091
Hook up are_transitions_ongoing() for floating and tiles
...
Don't spoil it
2025-02-15 13:28:57 +03:00
Ivan Molodetskikh
d94fbe9895
layout: Check move output in are_animations_ongoing()
2025-02-15 13:28:57 +03:00
Ivan Molodetskikh
7816f20e6a
Implement ext-data-control
2025-02-14 09:03:20 +03:00
Ivan Molodetskikh
0d3610416c
Update Smithay (idle-notify 2)
2025-02-14 09:03:20 +03:00
Ivan Chinenov
9e794f358b
feat: support for setting tablet calibration matrix; this allows for rotating tablet inputs ( #1122 )
...
* feat: support for setting tablet calibration matrix
* Change default matrix
2025-02-14 05:15:45 +00:00
rustN00b
4c98b87486
Add missing period to doc comment
2025-02-13 10:39:25 +03:00
Ivan Molodetskikh
a605e7f622
Implement custom hotkey overlay titles
2025-02-13 10:30:33 +03:00
Ivan Molodetskikh
513488f6b8
hotkey overlay: Add pretty for space
2025-02-13 10:30:33 +03:00
Ivan Molodetskikh
43ea4a172a
hotkey overlay: Put Ctrl and Shift before Alt
...
They are commonly written this way.
2025-02-13 10:30:33 +03:00
Ivan Molodetskikh
d47b59879a
animation/spring: Add a check for from = to in duration()
...
The overdamped code below was dividing by zero in this case and triggering a
panic.
2025-02-13 08:47:23 +03:00
Ivan Molodetskikh
ef80bcc834
Parse the config on the file watcher thread
...
It takes a while, so let's not block the main thread.
2025-02-12 20:56:32 +03:00
Ivan Molodetskikh
eb8bd3894a
watcher: Allow running a processing function on the thread
2025-02-12 20:56:32 +03:00
Ivan Molodetskikh
7e552333a9
tab indicator: Add corner-radius setting
2025-02-12 07:59:46 +03:00
Ivan Molodetskikh
7b18ff8870
input: Intercept Enter key when confirming the exit dialog
2025-02-11 13:22:11 +03:00
Ivan Molodetskikh
29b7a41692
Implement is-window-cast-target window rule matcher
2025-02-11 10:31:12 +03:00
Ivan Molodetskikh
20769b4c2f
tab indicator: Animate opening
2025-02-10 07:29:33 -08:00