List view metadata columns and drag-to-resize everywhere

- New optional list-view columns: Description, Size (now includes
  directories), Modified, Owner, Created (via statx birth time), Content
  (item/line count or image dimensions), Access (rwx)
- Drag-to-resize: list view column headers, sidebar sections (Bookmarks/
  Devices/Filetree), Preview/Tags split, and the sidebar/preview side
  panels themselves — all commit to Config on release, not per drag frame
- Column resizing mutates existing row cells live instead of rebuilding,
  with metadata cached per (file, mtime) — fixes lag in large folders
- Fix list view background click (rows were full ListTile width with no
  empty space to click); bookmark selected-background now covers the
  triple-dot menu too; batch rename/new-file dialogs pre-select their
  default text instead of just pre-filling it
- Toolbar scrolls instead of clipping when buttons don't fit; toolbar and
  breadcrumbs are independently toggleable
- Add a "Server" bookmark icon

Co-Authored-By: Claude Sonnet 5 <[email protected]>
This commit is contained in:
sarahandClaude Sonnet 5 committed 2026-09-26 17:22:55 +02:00
1 parent a5f5c5ca79
commit 31b6c554e6
6 files changed
+699 -89

No files matched your search

+7 -1
View File
@@ -18,9 +18,15 @@ _TrashMigrationMarker = ConfigDir / ".trash_bookmark_migrated"
IconChoices = [
"BOOKMARK_OUTLINE", "HOME_OUTLINED", "FOLDER_OUTLINED", "DESCRIPTION_OUTLINED",
"DOWNLOAD_OUTLINED", "IMAGE_OUTLINED", "MUSIC_NOTE_OUTLINED", "VIDEOCAM_OUTLINED",
"CODE_OUTLINED", "STAR_OUTLINE", "FAVORITE_OUTLINE", "WORK_OUTLINE",
"CODE_OUTLINED", "STAR_OUTLINE", "FAVORITE_OUTLINE", "WORK_OUTLINE", "DNS_OUTLINED",
]
# The dropdown label is normally derived from the icon name itself
# (Name.split("_")[0].title()) — DNS_OUTLINED is Material's stock "server
# rack" glyph, but "Dns" reads as nothing to most people, so it gets an
# explicit label instead.
IconLabelOverrides = {"DNS_OUTLINED": "Server"}
@dataclass
class Bookmark: