Ivan Molodetskikh
d0e98d6e73
layout/tile: Remove unused function
...
As far as I can tell, it was unused even when it was first added.
2025-09-17 22:04:23 +03:00
Ivan Molodetskikh
0b500334f9
layout/tile: Extract two variables
2025-09-17 22:04:23 +03:00
Ivan Molodetskikh
5b26f58285
Fix typos
2025-08-27 15:01:56 +03:00
yrkv
af30cc8df6
niri-ipc: Add window positions and sizes ( #1265 )
...
* Add window sizes and positions to the IPC
* basic fixes
* report window_loc instead of window pos
* clean ups
* make scrolling indices 1-based
* add printing to niri msg windows
* don't include render offset in floating tile pos
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-08-16 11:42:08 +03:00
Ivan Molodetskikh
e3101ced70
layout: Offset Y animations for non-animated resizes
2025-08-14 15:58:59 +03:00
Ivan Molodetskikh
c98537a2b0
Implement baba-is-float for layers
2025-05-12 09:10:59 +03:00
Duncan Overbruck
398bc78ea0
add urgent border color and gradient
2025-05-10 12:14:41 -07:00
Ivan Molodetskikh
7e253d2687
layout: Don't pass scale to render unnecessarily
...
These parts of the layout already know their scale.
2025-04-17 11:31:34 +03:00
Ivan Molodetskikh
6a80ec4704
layout/tile: Don't take fullscreen into account in min/max size
...
They are used strictly for non-fullscreen size computation.
2025-03-17 22:31:19 -07:00
Ivan Molodetskikh
926e63a5f3
Refactor request_fullscreen() to be an argument on request_size()
2025-03-17 22:31:19 -07:00
Ivan Molodetskikh
b351f6ff22
Keep track of RenderElementStates in offscreens
...
This both avoids sending frame callbacks to surfaces invisible on the offscreen
(fixing Firefox with subsurface compositing in the process), and fixes
searching for split popups during the resize animation.
2025-03-10 07:59:14 +03:00
Ivan Molodetskikh
88614c08fe
Make interactively moved window semitransparent
2025-03-10 07:59:14 +03:00
Ivan Molodetskikh
4f5c8e745b
Offscreen semitransparent tiles
...
Now that offscreen does damage tracking, we can reasonably do this. Note this
only affects full-tile opacity, not window opacity.
2025-03-10 07:59:14 +03:00
Ivan Molodetskikh
f30413a744
layout/tile: Use animated tile size for open anim geo
...
This is the right value to use as the texture will also match the animated
size.
2025-03-10 07:59:14 +03:00
Ivan Molodetskikh
3b8ce12316
tile: Use OffscreenBuffer for resize anims
...
OffscreenBuffer knows how to avoid recreating the texture every frame.
2025-03-10 07:59:14 +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
6942ecc13a
Implement clicking on tab to switch
2025-02-10 07:29:33 -08:00
Ivan Molodetskikh
02eccf7762
layout: Fix/add animations around tabbed columns
2025-02-10 07:29:33 -08:00
Ivan Molodetskikh
a451f75917
Implement tab indicators
2025-02-10 07:29:33 -08:00
Ivan Molodetskikh
55e2ea0c3b
layout: Extract tile.hit(), HitType::hit_tile()
2025-02-10 07:29:33 -08:00
Ivan Molodetskikh
9fc749f3d4
layout/tile: Rename variable
2025-02-10 07:29:33 -08:00
Ivan Molodetskikh
4f05a74aa8
Add alpha parameter to shaders
...
Lets us add extra opacity.
2025-02-10 07:29:33 -08:00
Ivan Molodetskikh
a10705fb20
Add toggle-window-rule-opacity action
2025-01-23 11:13:55 +03:00
Ivan Molodetskikh
c892f04c96
tile: Rename update() to update_render_elements()
2025-01-21 11:31:30 +03:00
Ivan Molodetskikh
8182484572
Remove Vec from Shadow::render()
2025-01-18 17:43:58 +03:00
Ivan Molodetskikh
bd559a2660
Implement window shadows
2025-01-17 23:10:01 +03:00
Ivan Molodetskikh
99ba295082
Remove obsolete comment
2025-01-15 15:18:11 +03:00
Ivan Molodetskikh
a2f9d132a0
Migrate to new Rectangle functions
2025-01-04 11:22:56 +03:00
Ivan Molodetskikh
793e92e9d6
Add default-floating-position relative-to property
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
3c2e1554c6
Add default-floating-position window rule
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
28b78a563b
layout: Pass and store view_size on a Tile
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
1710bb78df
floating: Implement toggle-width/height actions
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
3e13fc3e70
floating: Change from getters to pub(super)
...
These fields are just data storage. They won't have any logic in
getters/setters.
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
88116b9fb1
Preserve tile when moving across monitors
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
53e1c58cc5
Remember floating window position
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
f4f2a1f6de
floating: Remember and restore window size
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
f38acfe988
layout: Remember whether to unfullscreen back into floating
2024-12-30 20:12:37 +03:00
Ivan Molodetskikh
396089ef0e
layout: Extract Tile::verify_invariants()
2024-12-07 19:38:48 +03:00
Ivan Molodetskikh
4c22c3285d
Refactor animation timing to use lazy clocks
2024-11-25 04:07:59 -08:00
Ivan Molodetskikh
93cee2994a
Refactor animations to take explicit current time
2024-11-25 04:07:59 -08:00
Ivan Molodetskikh
fce5d66878
Follow window corner radius in insert hint
2024-11-02 10:53:55 +03:00
Rasmus Eneman
e887ee93a3
Implement interactive window move
2024-10-27 23:07:39 -07:00
Ivan Molodetskikh
ab7d81aae0
layout: Reduce field visibility
...
The outside code isn't supposed to mess with the fields.
2024-10-10 09:24:20 +03:00
Ivan Molodetskikh
7bfdf87bf0
Implement resize transactions
2024-08-22 15:19:11 +03:00
Ivan Molodetskikh
618fa08aa5
Update Smithay (apply state in post commit)
2024-08-22 14:15:04 +03:00
Ivan Molodetskikh
3ace97660f
Implement gradient color interpolation option ( #548 )
...
* Added the better color averaging code (tested & functional)
* rustfmt
* Make Color f32 0..1, clarify premul/unpremul
* Fix imports and test name
* Premultiply gradient colors matching CSS
* Fix indentation
* fixup
* Add gradient image
---------
Co-authored-by: K's Thinkpad <K.T.Kraft@protonmail.com >
2024-07-16 07:22:03 +00:00
Ivan Molodetskikh
66202992c9
Fix blurry rounded corners on high scales
2024-06-18 14:01:34 +03:00
Ivan Molodetskikh
1dae45c58d
Refactor layout to fractional-logical
...
Lets borders, gaps, and everything else stay pixel-perfect even with
fractional scale. Allows setting fractional border widths, gaps,
struts.
See the new wiki .md for more details.
2024-06-18 14:01:28 +03:00
Ivan Molodetskikh
5335ef454b
Implement custom shader for window-open
2024-05-15 19:38:29 +04:00
Ivan Molodetskikh
5f40221051
Refactor column and tile offsets, fix a few issues
2024-05-14 15:35:43 +04:00