Repository navigation
CLI Batching & Quick‐List Workspaces
Flux provides a command‑line interface for scripting, pipeline automation, multi‑folder workspaces, and bulk icon customisation.
| Argument | Description |
|---|---|
[PATH] |
Opens Flux at the given path. If PATH is an archive file (.zip, .7z, etc.), Flux enters virtual archive browsing. |
-h, --help
|
Print help and exit. |
-v, --version
|
Print version and exit. |
--menu-editor |
Launch the context‑menu editor standalone. |
--file-properties PATH |
Open a file‑properties dialog for PATH. |
--set-icon TARGET IMAGE |
Apply a custom icon image to TARGET (file or directory). |
--set-icons-stdin |
Read TARGET IMAGE pairs from standard input (tab or whitespace separated) and apply in bulk. |
--reset-icon TARGET |
Remove custom icon from TARGET, restore default. |
--reset-icons-stdin |
Read TARGET paths from standard input (one per line) and reset all custom icons. |
--quick-list PATH... |
Open Flux with Quick‑List pre‑populated with PATHs. |
--quick-list-stdin |
Read newline‑delimited folder paths from stdin and load them into the Quick‑List (empty lines and lines starting with # are ignored). |
The following arguments are designed for headless bulk operations:
-
--set-icons-stdin– reads a stream ofTARGETIMAGEpairs and applies each override in a single run. -
--reset-icons-stdin– reads a list ofTARGETpaths and removes all custom icon overrides for them. -
--quick-list-stdin– reads a list of directory paths and opens Flux with all of them loaded into the Quick‑List panel.
Generate a list of top‑level directories in your home folder and open them as a triage workspace:
find ~ -maxdepth 1 -type d | flux-fm --quick-list-stdin
Create a desktop entry that opens a set of frequently used project directories:
[Desktop Entry]
Type=Application
Name=Flux: Active Code Reviews
Exec=flux-fm --quick-list /home/user/Projects/core /home/user/Projects/api
Icon=applications-development
Categories=Utility;FileTools;
Apply custom folder icons from a manifest file (TSV):
cat project-icons.tsv | flux-fm --set-icons-stdin
The manifest contains one TARGET IMAGE pair per line, separated by a tab or whitespace.
Reset all custom icons for a list of obsolete project folders:
cat archived-projects.txt | flux-fm --reset-icons-stdin
Create a new project directory and assign a custom icon in a single command:
mkdir -p ~/Projects/new-service
flux-fm --set-icon ~/Projects/new-service ~/.local/share/icons/rust-badge.png
Inspect metadata of a file without opening the main window:
flux-fm --file-properties /path/to/document.pdf
Directly open a compressed archive as a virtual folder:
flux-fm ~/Downloads/archive.zip
Combined with the shell, this opens the current directory in a new Flux instance:
flux-fm .
Flux's Quick List (exclusive_list) is a lightweight alternative to maintaining multiple fully active directory views.
-
Low overhead – inactive entries are stored as
PathBufvalues in memory. - Single active render tree – only the currently selected folder view creates UI widgets and file‑monitoring resources.
-
Ephemeral workspaces – lists supplied through
--quick-list-stdincan be generated dynamically, requiring no persistent configuration.
This design keeps large triage queues inexpensive compared with maintaining multiple simultaneously active views.
Startup argument handling separates input‑stream processing from the process's global stdin behaviour through a generic BufRead implementation.
The resolve_startup_action_with_reader function accepts an injected reader, allowing production code and tests to use the same parsing logic without depending directly on an open process‑level stdin:
pub fn resolve_startup_action_with_reader<R: BufRead>(
args: &[String],
home_dir: PathBuf,
reader: R,
) -> StartupAction
In tests, an in‑memory reader such as std::io::Cursor can be supplied, avoiding blocking on an unclosed or unavailable stdin stream while keeping the argument‑processing logic deterministic and testable.
The CLI capabilities provide three complementary automation paths:
- Quick List loading – for dynamically assembling lightweight multi‑folder triage workspaces.
- Batch icon operations – for applying or removing custom visual metadata across large numbers of files and directories.
- Headless utilities – for standalone property inspection, archive browsing, and menu editing.
Together, these features make Flux easy to integrate into shell pipelines, project‑generation workflows, desktop launchers, and administrative automation.