Expand description
File dialogs and in-UI file browser for dear-imgui-rs.
Note on UTF-8/CJK: Dear ImGui’s default font does not include CJK glyphs.
If you need Chinese/Japanese/Korean or emoji, load a font that contains
those glyphs (e.g., Noto Sans SC) into the font atlas during initialization.
For best quality, enable the freetype feature and follow the pattern in
examples/style_and_fonts.rs to add fonts and ranges (e.g., Simplified
Chinese common glyphs).
Two backends:
- Native (via
rfd) for OS dialogs (desktop) and Web File Picker (wasm) - ImGui (pure-UI) browser that works everywhere and is fully themeable
Structs§
- Confirm
Gate - Per-frame gate for whether the dialog is allowed to confirm.
- Custom
Pane Ctx - Context passed to a
CustomPanewhile rendering. - Decoded
Rgba Image - Decoded thumbnail image in RGBA8 format.
- Dialog
Id - Opaque identifier for an in-UI file browser dialog instance.
- Dialog
Manager - Manager for multiple in-UI file browser dialogs (IGFD-style open/display separation).
- DirSnapshot
- Snapshot of one directory listing refresh.
- EntryId
- Stable identifier for a directory entry within dialog snapshots.
- File
Clipboard - In-dialog clipboard for file operations (copy/cut/paste).
- File
Dialog - Builder for launching file dialogs
- File
Dialog Core - Core state machine for the ImGui-embedded file dialog.
- File
Dialog State - Combined state for the in-UI file dialog.
- File
Dialog UiState - UI-only state for hosting a
FileDialogCorein Dear ImGui. - File
Filter - File filter (e.g., “Images” -> [“png”, “jpg”]).
- File
List Column Weight Overrides - Optional per-column width overrides for list view.
- File
List Columns Config - Column visibility configuration for list view.
- File
List Columns Deserialize Error - Error returned by
FileListColumnsConfig::deserialize_compact. - File
Meta - Rich metadata attached to a filesystem entry.
- File
Style - A style applied to an entry in the file list.
- File
Style Callback - Callback handle for dynamic style resolution.
- File
Style Registry - Registry of file styles applied in the in-UI file browser.
- FsEntry
- Directory entry returned by
FileSystem::read_dir. - FsMetadata
- Minimal file metadata used by the in-UI file browser.
- Modal
Host Config - Configuration for hosting the file browser in an ImGui modal popup.
- Modifiers
- Keyboard/mouse modifier keys used by selection/navigation logic.
- Place
- A single place entry shown in the left “Places” pane.
- Place
Group - A group of places (e.g. “System”, “Bookmarks”).
- Places
- Storage for user-defined and code-defined places.
- Places
Deserialize Error - Error returned by
Places::deserialize_compact. - Places
Merge Options - Options for merging places.
- Places
Serialize Options - Options for serializing places.
- Save
Policy - SaveFile mode policy knobs.
- Scan
Batch - One batch emitted by the scan pipeline.
- Scan
Request - Immutable scan request descriptor.
- Selection
- Selection result containing one or more paths
- StdFile
System - Default filesystem implementation using
std::fs. - Style
Rule - A single style rule (matcher + style).
- Thumbnail
Backend - Convenience wrapper passed to
ThumbnailCache::maintain. - Thumbnail
Cache - An in-memory thumbnail request queue + LRU cache.
- Thumbnail
Cache Config - Configuration for
ThumbnailCache. - Thumbnail
Request - A thumbnail request produced by
ThumbnailCache. - Toolbar
Config - Configuration for the dialog top toolbar (“chrome”).
- Toolbar
Icons - Optional toolbar icons (host-provided glyphs, typically from an icon font).
- Validation
Buttons Config - Configuration for the validation button row (Ok/Cancel).
- Window
Host Config - Configuration for hosting the file browser in an ImGui window.
Enums§
- Backend
- Backend preference
- Click
Action - Click behavior for directory rows
- Clipboard
Op - Clipboard operation kind used by the in-UI file browser.
- Core
Event - Input event for driving the dialog core without direct UI coupling.
- Core
Event Outcome - Side effect emitted after applying a
CoreEvent. - Custom
Pane Dock - Dock position for the custom pane.
- Dialog
Mode - Dialog mode
- Entry
Kind - Kind of filesystem entry for styling.
- Extension
Policy - Extension handling policy for SaveFile mode.
- File
Dialog Error - Errors returned by file dialogs and in-UI browser
- File
List Data Column - Data column identifier for list view (excluding optional preview thumbnail column).
- File
List View Mode - View mode for the file list region.
- Header
Style - Header layout style.
- Layout
Style - Layout style for the in-UI file browser
- Path
BarStyle - Path bar style (text input vs breadcrumb composer).
- Place
Origin - Place entry origin.
- Scan
Batch Kind - Payload kind for
ScanBatch. - Scan
Hook Action - Decision returned by a scan hook for one filesystem entry.
- Scan
Policy - Directory scan strategy.
- Scan
Status - Current scan status for the dialog core.
- SortBy
- Sort keys for file list
- Sort
Mode - String comparison mode used for sorting.
- Style
Matcher - Matcher for a style rule.
- Toolbar
Density - Density preset for the dialog top toolbar (“chrome”).
- Toolbar
Icon Mode - How to render toolbar buttons when optional icons are provided.
- Validation
Buttons Align - Alignment of the validation button row (Ok/Cancel).
- Validation
Buttons Order - Button ordering for the validation row (Ok/Cancel).
Traits§
- Custom
Pane - IGFD-style custom pane that can draw extra UI and optionally block confirmation.
- File
Dialog Ext - Extend Ui with a file browser entry point
- File
System - File system abstraction (IGFD
IFileSystem-like). - Thumbnail
Provider - Thumbnail decoder/provider.
- Thumbnail
Renderer - Thumbnail renderer interface (upload/destroy).