← XeFM crftwr/xefm on GitHub · craftware

Navigation Dialogs

XeFM’s directory navigation dialogs all share one searchable-list picker: a scrollable list you filter by typing, with the same keys for moving through it and choosing an entry. Four keys open four flavors of that picker:

Key Dialog What it lists
J Favorites Your configured favorite directories
Shift-J Jump Directories found by scanning from the current directory
H History Directories you have already visited in this pane
D Drives Storage locations and volumes (and S3 buckets, if available)

Whichever one you open, pressing Enter navigates the current pane to the selected location.

Shared controls

Every navigation dialog uses the same list-picker controls:

Favorites (J)

Press J to open a searchable list of your favorite directories and jump to any of them instantly. Only directories that actually exist are shown.

Default favorites

XeFM ships with these defaults: Home, Documents, Downloads, Desktop, Projects, Root (/), Temp (/tmp), and Config (~/.config).

Each entry is shown with its resolved path, e.g.:

Home (/Users/username)
Projects (/Users/username/Projects)
Web Server (/var/www)

Customizing your favorites

Edit FAVORITE_DIRECTORIES in your ~/.xefm/config.py. Each entry needs a name (what to call it) and a path (where it is; ~ expands to your home directory):

class Config:
    FAVORITE_DIRECTORIES = [
        {'name': 'Home', 'path': '~'},
        {'name': 'Work Projects', 'path': '~/work'},
        {'name': 'Scripts', 'path': '~/bin'},
        {'name': 'Web Server', 'path': '/var/www'},
        # Add your own here
    ]

To use a different key, rebind the favorites action in KEY_BINDINGS, e.g. 'favorites': ['f'].

Jump dialog (Shift-J)

Press Shift-J to search your filesystem for directories and jump to a match. This is ideal for reaching a deeply nested directory without navigating the tree by hand.

Type to filter as results stream in. You can match a plain directory name (projects), a path fragment (work/src), or a hidden directory (.config).

Tips for large or network filesystems: narrow the search by starting from a more specific directory before opening the dialog (navigate into ~/Documents first rather than scanning all of ~). Permission-denied directories are skipped automatically. If an expected directory does not appear, it may be beyond the internal scan cap — start from a closer parent, or use Favorites for known locations.

History (H)

Press H to open a searchable list of directories you have already visited in the current pane, and jump back to any of them. Each pane keeps its own history.

The number of remembered entries is set by MAX_HISTORY_ENTRIES in ~/.xefm/config.py (default 100).

Drives dialog (D)

Press D to open a searchable list of storage locations and jump to one.

Local locations

Common local filesystem locations are detected automatically, including Home (~), Root (/), the directory XeFM was started from, and Desktop, Documents, and Downloads when they exist.

Visual indicators:

S3 buckets

When boto3 is installed and AWS credentials are configured, the drives dialog also lists every S3 bucket your credentials can reach. Select a bucket and press Enter to browse it in the current pane like any other filesystem.

To enable S3 listing, configure AWS credentials with any of: AWS CLI (aws configure), the AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY environment variables, or an ~/.aws/credentials file.

If buckets do not appear, check that credentials work (aws s3 ls), network connectivity, and your IAM permissions for ListBuckets. A “No credentials configured” message points at the step above.

Choosing between them

See Also