Skip to content

Conversation

@jeremypw
Copy link
Contributor

@jeremypw jeremypw commented Dec 7, 2025

Experimental full function filechooser portal based on Files widgets rather than Gtk.FileChooserDialog. intended to scope out any problems.

Involves creating more stripped down versions of the main Files widgets in libcore. Ultimately some DRYing can be achieved by basing the main widgets on them but during development they are kept separate hence the very large diff.
Also some changes can be split out and applied independently of this PR.

Reinstituted and extended the previous Portal tester.

Pushing for exposure, but may not merge until after Gtk4 port.

  • Entirely replace Gtk.FileChooserDialog with Files.FileChooserDialog using libcore widgets
  • Show filters, choices, read-only check
  • Show text entry in SAVE mode
  • Allow Copy, Rename (single), Bookmark (with shortcuts or via context menu)
  • Allow changing sort order via context menu)
  • Allow ListView <-> IconView switching
  • Persist filechooser sidebar-width, window-size
  • Persist filechooser location settings for each filechooser mode (open or save)
  • Persist filechooser zoom level for each viewmode
  • Honor app settings singleclick-select, show-hiddenfiles, show-remote-thumbnails, show-local-thumbnails, date-format
  • Honor system settings: clock-format, sort-directories-first (readonly)
  • Rubberband selection list view
  • Scroll zooming
  • Persist view mode
  • Keyboard zooming
  • Keyboard view mode selection
  • Implement creating and renaming new folder
  • Persist sidebar expander settings
  • Search
  • Preview?
  • Honor system setting: remember-recent-files?
  • Handle Recent location
  • Cleanup, DRY, and split up

Some things will not be implemented atm: AppMenu, ConnectionManager, Network view, DND, MillerColumn view

@jeremypw
Copy link
Contributor Author

Filechooser with Icon view:

Screenshot from 2025-12-16 16 26 31

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

3 participants