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
Ivan Molodetskikh
4073f9f522
closing_window: Remove starting_alpha/scale
2024-05-12 08:42:43 +04:00
Ivan Molodetskikh
641b44e006
Fix blocked-out surfaces on scaled outputs
2024-05-04 20:13:53 +04:00
Ivan Molodetskikh
314ad9d3e5
Fix rounded corners on blocked-out resizes
2024-05-04 11:54:52 +04:00
Ivan Molodetskikh
79093baeee
Extract rules out
2024-05-04 11:45:39 +04:00
Ivan Molodetskikh
7093385b4d
Update tile before taking unmap snapshot
2024-05-04 11:37:58 +04:00
Ivan Molodetskikh
3748f6cd6a
Fix border/focus ring options not applying right away
2024-05-04 11:11:01 +04:00
Ivan Molodetskikh
73cc0079d6
Split update_render_elements() from advance_animations()
...
advance_animations() is called from places like input, whereas
update_render_elements() is strictly for rendering.
2024-05-04 11:10:02 +04:00
Ivan Molodetskikh
69aeba2a4d
shader_element: Store and set location separately
2024-05-04 09:49:32 +04:00
Ivan Molodetskikh
74996a2416
Make BorderRenderElement scale-agnostic
2024-05-03 21:49:47 +04:00
Ivan Molodetskikh
8ab50f9d1c
shader_element: Store program type instead of shader
2024-05-03 21:23:32 +04:00
Ivan Molodetskikh
5c32031111
shader_element: Make shader optional
...
The element is long-lived, but the shader itself isn't.
2024-05-03 20:20:36 +04:00
Ivan Molodetskikh
2f42f8ac75
Damage window on corner radius changes
2024-05-02 14:27:53 +04:00
Ivan Molodetskikh
42cef79c69
Implement rounded window corners
2024-05-02 14:27:53 +04:00
Ivan Molodetskikh
d86df5025c
Add Tracy span to Tile::render_inner
2024-05-01 19:04:47 +04:00
Ivan Molodetskikh
9309b3be61
Split rendering between popups and window surface
2024-05-01 19:04:11 +04:00
Ivan Molodetskikh
c5be2dd549
Add Tracy span to Tile::render
2024-05-01 19:00:54 +04:00
Ivan Molodetskikh
365dbacae7
Move unmap snapshot from Mapped to Tile
2024-05-01 19:00:19 +04:00
Ivan Molodetskikh
f3ded0c2e6
Move shader get out of ResizeRenderElement::new
2024-04-29 14:27:38 +04:00
Ivan Molodetskikh
f43fa55526
Fix fullscreen backdrop rendering below focus ring
2024-04-28 06:48:48 +04:00
Ivan Molodetskikh
fd6c8c7790
Implement focus-ring window rule
2024-04-24 22:17:53 +04:00
Ivan Molodetskikh
3e598c565e
Implement border window rule
2024-04-24 22:01:26 +04:00
Ivan Molodetskikh
49f5402669
Implement window-resize custom-shader
2024-04-21 20:16:54 +04:00
Ivan Molodetskikh
2c8d1030ab
Separate tile X and Y movement animations
...
Helps with the jank caused by lack of transactions when consuming to the
left/right. Resize triggers a few frames later and restarts the
movement. Now it only restarts the vertical and not the horizontal
movement.
2024-04-19 12:44:24 +04:00
Ivan Molodetskikh
47f6c85f64
Preserve tile move config on animation restarts
...
This fixes a problem where consume-into-column would use resize
animation config instead of the window-movement config in most cases
(since a resize comes very shortly after the move starts).
A similar change to the column movement anim is more detrimental than
it's worth.
2024-04-18 00:30:12 +04:00
Ivan Molodetskikh
73e9ef5fe2
Resolve animation defaults during parsing
2024-04-17 14:06:32 +04:00
Ivan Molodetskikh
1b496ee21f
Clamp animated window size
2024-04-16 17:44:06 +04:00