In desktop (GUI) mode, XeFM shows a native menu bar so you can drive the file
manager with the mouse in addition to the keyboard. The menus mirror XeFM’s
keyboard actions: every menu item runs the same action as its key binding, and
each item’s shortcut hint is generated from the live keymap — so if you
rebind a key in ~/.xefm/config.py, the menu updates to match.
NSMenu menu bar.The menu structure and shortcuts are the same in both.
Open the installed XeFM app from Launchpad or Spotlight — see the
Desktop Mode Guide.
(During XeFM development, python3 -m xefm --backend gui opens the same window
from a checkout.)
In terminal mode, the menu action opens the first menu (on the Windows
terminal, tapping Alt by itself works too, just like a desktop menu bar).
On the Windows terminal, Alt+letter opens a menu directly by the first
letter of its title: Alt+F for File, Alt+E Edit, Alt+G for Go,
Alt+S Select, Alt+V View, Alt+T Tools, Alt+H Help. (Other terminals don’t
deliver bare Alt or Alt+letter chords reliably — use the menu action and the
arrow keys there.)
While a menu is open:
menu key again, or a click elsewhere) closes the menu.The activation key is the menu action in ~/.xefm/config.py, so it can be
rebound like any other; if you bind
Alt-<letter> chords of your own, they win over the menu accelerator. In
desktop mode the OS menu bar handles keyboard access natively (Alt on
Windows).
XeFM has seven menus: File, Edit, Go, Select, View, Tools, and Help — in the terminal, each opens directly with Alt + its first letter on the Windows terminal.
Each item draws the key its action is actually bound to, so the tables below
name the action instead — press F1 for the keys, or just read them off the
menu.
| Item | Action |
|---|---|
| Open | open_item |
| View File | view_file |
| Edit File | edit_file |
| Details… | file_details |
| Open with Default App | open_with_os |
| Reveal in File Manager | reveal_in_os |
| New Folder… | create_directory (when nothing is selected) |
| New File… | create_file |
| Rename… | rename |
| Duplicate | (menu only) |
| Copy to Other Pane | copy_files |
| Move to Other Pane | move_files (when files are selected) |
| Delete… | delete_files |
| Create Archive… | create_archive |
| Extract Archive… | extract_archive |
| Quit | quit |
Everything that ends up on the clipboard.
| Item | Action |
|---|---|
| Copy Name(s) | copy_names |
| Copy Full Path(s) | copy_paths |
| Copy Log Selection | copy_log_selection |
| Copy All Logs | copy_log_all (ships unbound) |
The log items act on the log pane under the file panes: select log text with the mouse for the first, take the whole buffer with the second. See Logging.
| Item | Action |
|---|---|
| Parent Directory | go_parent |
| Go to Favorite… | favorites |
| Jump to Path… | jump_to_path |
| Drives… | drives |
| History… | history |
| Open List → From Clipboard | open_list_from_clipboard (ships unbound) — see File lists |
| Open List → From Command… | open_list_from_command (ships unbound) |
| Open List → From File | open_list_from_file (ships unbound) — also Open as List on a file’s right-click menu |
| Item | Action |
|---|---|
| Toggle Selection | toggle_select_down |
| Select to Cursor | select_range |
| Select All Items | select_all |
| Clear Selection | unselect_all |
| Compare and Select… | compare_selection |
| Compare Selected Files… | diff_files |
| Compare Directories… | diff_directories |
| Item | Action |
|---|---|
| Find… | isearch |
| Filter… | filter |
| Search Files… | find_files |
| Search Content… | find_in_files |
| Show Hidden Files | toggle_hidden |
| Reverse Sort | (menu only) |
| Sort By ▸ | (submenu: Name / Extension / Size / Date — also the quick_sort_* actions) |
| Theme ▸ | (submenu of installed themes) |
| Next Theme | toggle_color_scheme (ships unbound) |
| Switch Pane | switch_pane |
| Item | Action |
|---|---|
| External Programs… | programs |
| Subshell Here | subshell (desktop mode: in a terminal window) |
| Edit Configuration… | edit_config (ships unbound) |
| Reload Configuration | reload_config (ships unbound) |
| Item | Action |
|---|---|
| Keyboard Shortcuts… | help |
| Tip of the Day… | (menu only) |
| About XeFM | (menu only) |
Note:
create_directoryandmove_filesship on one key, which does whichever fits — a new folder when nothing is selected, a move when files are. That is a property of their bindings, and the menu reflects both.
Items enable and disable based on context. For example, Copy/Move/Delete and Create Archive require a selection; Rename, View, and Details require a focused item; Parent Directory is disabled at the filesystem root. Disabled items appear grayed out.
Each menu item shows the first key bound to its action, formatted for display —
single letters appear as-is, special keys are spelled out (Enter, Backspace,
Tab), and modifier combinations use Cmd-, Shift-, Alt- prefixes. Because
the hint is read live from the keymap,
rebinding an action in config automatically updates its menu shortcut — and the
hint follows the case it is drawn in, so “Open with Default App” reads
Cmd-Enter in the macOS app and Ctrl-O in a terminal.
You do not need to open a menu — pressing the shortcut runs the action directly. The menu is there for discovery and mouse-driven use.
Open File → New Folder… (or press M when nothing is selected), type the
name, and confirm.
Select files with Space, then File → Copy to Other Pane (or press C).
Open View → Theme ▸ and pick one, or press T to cycle to the next theme.
Make sure you are running XeFM in desktop mode. In terminal mode the menu is the strip along the top row.
The action isn’t available in the current context (e.g. Copy with no selection, or Parent Directory at the root). Adjust the selection or location and it enables.
Letter keys are case-sensitive, and the shortcut shown is whatever the action is
currently bound to in ~/.xefm/config.py. Check your key bindings if you’ve
customized them.