← XeFM crftwr/xefm on GitHub · craftware

Dual-Pane File Management

XeFM shows two directories side by side, which makes copying, moving, and comparing between them far quicker than in a single-pane manager. One pane is active (highlighted, with the cursor); the other is inactive. Press Tab to switch which is active.

Each pane keeps its own current directory, cursor position, selection, sort mode, filter, and history — they are fully independent.

Actions

Press F1 in XeFM for the keys these are on — the help is built from your own KEY_BINDINGS, so it is always the truth for your config.

Action What it does
switch_pane Switch active pane
focus_left / focus_right Focus that pane; unbound by default
sync_current_to_other Sync current pane’s directory to the other pane
sync_other_to_current Sync other pane’s directory to the current pane
copy_files Copy selected files to the other pane’s directory
move_files Move selected files to the other pane’s directory
compare_selection Compare files/directories between panes
adjust_pane_left Move the pane boundary left (left pane smaller)
adjust_pane_right Move the pane boundary right (left pane larger)

Copy/move always target the other pane, so the usual workflow is: point each pane at a directory, select in one, and act.

Workflow tips

These patterns are what the two panes are really for:

Pane size

Adjust the vertical boundary with [ (left pane smaller) and ] (left pane larger). The ratio is saved and restored on restart. Set the startup default in ~/.xefm/config.py:

DEFAULT_LEFT_PANE_RATIO = 0.5  # 50/50 (default); 0.6 = wider left, 0.4 = wider right

State persistence

XeFM remembers each pane’s current directory, cursor position, the pane ratio, and which pane was active between sessions, stored in ~/.xefm/state.json.

Command-line arguments

Set the starting directory for each pane when launching XeFM:

# Left pane only
python3 -m xefm --left /path/to/directory

# Right pane only
python3 -m xefm --right /path/to/directory

# Both panes
python3 -m xefm --left ~/documents --right ~/downloads