a439069b0dc2ca0a5447c28b52b76f2a232cce18
The panel drove a Flickable by hand: two Repeaters in a Column, plus an ensureCursorVisible() that mapped each row into content coordinates and moved contentY itself. That is the machinery a ListView already has, and the hand-rolled version came with a 6px margin that scrolled the list whenever the mouse merely rested near the viewport edge. Flatten the remembered and discovered groups into one model whose entries carry the section they came from, and let the view keep the current row visible. Section headers are computed per index the way the network panel does it. The cursor keeps working in section-relative terms, so activation, forget, hover, and the hero toggle are untouched. Positioning has to be deferred a turn: called straight out of onCurrentIndexChanged it silently does nothing, because the model is rebuilt every time discovery reports and the swap resets the view out from under the call. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Omarchy
Omarchy is a beautiful, modern & opinionated Linux distribution by DHH.
Read more at omarchy.org.
License
Omarchy is released under the MIT License.
Languages
Shell
57.3%
QML
31.2%
JavaScript
4.1%
Python
2.9%
Go Template
2.5%
Other
2%