aboutsummaryrefslogtreecommitdiff
path: root/src/layout
AgeCommit message (Collapse)Author
2025-03-10Keep track of RenderElementStates in offscreensIvan Molodetskikh
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-10Make interactively moved window semitransparentIvan Molodetskikh
2025-03-10Offscreen semitransparent tilesIvan Molodetskikh
Now that offscreen does damage tracking, we can reasonably do this. Note this only affects full-tile opacity, not window opacity.
2025-03-10layout/tile: Use animated tile size for open anim geoIvan Molodetskikh
This is the right value to use as the texture will also match the animated size.
2025-03-10tile: Use OffscreenBuffer for resize animsIvan Molodetskikh
OffscreenBuffer knows how to avoid recreating the texture every frame.
2025-03-10offscreen: Track and return damageIvan Molodetskikh
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-10Cache texture in OpenAnimationIvan Molodetskikh
Don't recreate it unless the size changes. This lays the groundwork for also tracking damage in the future.
2025-03-01Added top, left, bottom and right floating windows alignement (#1169)Martino Ferrari
* 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-02-27layout/monitor: Remove unused functionIvan Molodetskikh
2025-02-27layout/monitor: Remove redundant passthrough functionsIvan Molodetskikh
2025-02-18Don't snap after DnD scroll if view position didn't changeIvan Molodetskikh
Otherwise, any DnD breaks temporarily centered columns.
2025-02-17Take tab indicators into account in expand-column-to-available-widthIvan Molodetskikh
2025-02-17Use toggle_full_width() for expand-column-to-available-width edge caseIvan Molodetskikh
2025-02-17Fix expand-column-to-available-width for always-centerIvan Molodetskikh
2025-02-17Implement expand-column-to-available-widthIvan Molodetskikh
2025-02-16Make DnD edge view scroll configurableIvan Molodetskikh
2025-02-16Add a small delay to DnD view scrollingIvan Molodetskikh
2025-02-16layout: Remove unused methodIvan Molodetskikh
2025-02-15Implement scrolling the view during DnDIvan Molodetskikh
DnD is external to the layout, so we just inform it when one is ongoing.
2025-02-15Implement scrolling the view during interactive moveIvan Molodetskikh
2025-02-15Hook up are_transitions_ongoing() for floating and tilesIvan Molodetskikh
Don't spoil it
2025-02-15layout: Check move output in are_animations_ongoing()Ivan Molodetskikh
2025-02-13Add missing period to doc commentrustN00b
2025-02-12tab indicator: Add corner-radius settingIvan Molodetskikh
2025-02-10tab indicator: Animate openingIvan Molodetskikh
2025-02-10tab indicator: Dim colors when column is inactiveIvan Molodetskikh
2025-02-10Implement clicking on tab to switchIvan Molodetskikh
2025-02-10scrolling: Extract tab_indicator_area()Ivan Molodetskikh
2025-02-10tab indicator: Extract tab_rects()Ivan Molodetskikh
2025-02-10tab indicator: Use full column heightIvan Molodetskikh
2025-02-10tab indicator: Fix gradient area computationIvan Molodetskikh
The gradient area should be relative to each tab's geometry. In most cases these geometries will all match, but not when some tabs have a different size, for example when they have a fixed size.
2025-02-10layout: Fix/add animations around tabbed columnsIvan Molodetskikh
2025-02-10Make send_frame() a function on MappedIvan Molodetskikh
We'll add some extra logic there.
2025-02-10tab indicator: Add gaps-between-tabsIvan Molodetskikh
2025-02-10tab indicator: Implement place-within-column settingIvan Molodetskikh
2025-02-10tab indicator: Add position settingIvan Molodetskikh
2025-02-10tab indicator: Add hide-when-single-tabIvan Molodetskikh
2025-02-10Implement tab indicatorsIvan Molodetskikh
2025-02-10Add default-column-display window ruleIvan Molodetskikh
2025-02-10Add set-column-display actionIvan Molodetskikh
2025-02-10Move ColumnDisplay to niri-ipcIvan Molodetskikh
2025-02-10Allow tabbed columns to go fullscreenIvan Molodetskikh
2025-02-10Implement tabbed column display modeIvan Molodetskikh
2025-02-10layout: Extract tile.hit(), HitType::hit_tile()Ivan Molodetskikh
2025-02-10Account for border in contents_under()Ivan Molodetskikh
Fixes pointer clicks going through window borders to a layer surface below, also fixes window not getting activated in all cases from a border click.
2025-02-10layout: Fix variable namesIvan Molodetskikh
2025-02-10layout/tile: Rename variableIvan Molodetskikh
2025-02-10layout/scrolling: Extract activate_idx()Ivan Molodetskikh
2025-02-10Add alpha parameter to shadersIvan Molodetskikh
Lets us add extra opacity.
2025-02-07layout/scrolling: Extract variableIvan Molodetskikh