Documentation

Basic Information

Marta is a dual-pane file manager. Most of the time you work with two directory panes placed side-by-side. This allows you to do the basic file operations such as copying or moving files in a fast and efficient way, because you can see both source and target directories, and you can copy or move files directly, without copy-pasting it.

One of the panes is active; it means that you can move its cursor using the arrow keys and navigate through the directory tree. The other pane is inactive. You can switch the active/inactive panes using the Tab key.

The active pane is the source. When you run the Copy action, files from the source pane will be copied. The other pane is the target, it’s the place where the files will be copied to.

Marta is keyboard-centric: most of the operations are done using the keyboard. All key bindings can be configured. You can read how to configure the hotkeys in the Key bindings chapter.

Core Functionality

Directory Navigation

Use ↑ Up and ↓ Down to navigate the file list.
Press ↵ Return to open the file (or enter the directory) and ⌫ Backspace to return to the parent directory.

Of course, files can be also opened by double-clicking on them, as in Finder. And you can use the breadcrumbs above the file list to navigate to any of the parents of the current directory.

Quick Select

The Quick Select feature allows you to select files by typing its names. Just type the first letters of the name, and the first file whose name is matched will be selected automatically. Use ↑ Up and ↓ Down to navigate to other matched files. Press ⎋ Esc to cancel the Quick Select.

By default, names are matched by word boundaries, but you can also match against a regular expression or a substring. To match against a regexp, start your filter text with the / symbol. In the case of a substring, start it with \.

:penguin: You can change the default word-matching to the prefix-matching.
See behavior/quickSelect/matchOnlyPrefix.

Selection

Some actions, such as Copy, allow you to apply it to several files at once. You can select items using the ⇧ Shift and ⌃ Ctrl keys. The selected files are normally highlighted.

Press ⎋ Esc to remove the selection.

Actions

Operations in Marta are called actions. They can be bind to hotkeys or run from the Actions Panel (⌘⇧P or ⌘⇧A) or Action Bar.

Each action has its own range of applicability. Some of them, like Show favorites, can be run everywhere while another are available only in the particular context. For example, Edit file can be run only if some file is selected. If more than one action with the same hotkey is available, the list of available actions will be displayed.

Action Bar

Actions also can be accessed via the action bar that is shown below the panes.

The action bar is enabled by default. You can disable it by changing the behavior/actionBar/show value to false. Also, you can change the shown actions (setup/actionBar).

Tabs

Marta supports multiple pane tabs. Press ⌘T to open the new tab, ⌘W to close the tab (or close the window if only one tab is present).

:penguin: You can quickly switch between the tabs using ⌘1..⌘9 hotkeys.

Display Modes

Marta supports two display modes: table and multi-column (1, 2, 3 columns). Use the Display mode action to switch the mode for the current pane.


Using From Command Line

You can call Marta from the terminal:

marta . to open the current directory in Marta;
marta some ~/other to open two different directories (./some and /Users/<name>/other) side by side.

How to set up the Terminal integration:

  • Make sure you have installed Marta in the Applications folder.
  • Add a symbolic link called marta which links to the Marta launcher:
    ln -s /Applications/Marta.app/Contents/Resources/launcher /usr/local/bin/marta


File Operations

Open

Press ↵ Return to enter the directory, open a file or start an application.

If you want to select the application in which the file should be opened, use the ⌘↵ hotkey. A list of relevant applications will be opened below the file item. ⌘↵ can also be used for opening the application packages or bundles.

New File or Directory

Press F7 to create the new directory.
Press ⇧F7 to create an empty file.

Copy/Move

Press F5 to copy the selected files to the inactive (target) pane current directory.
Press F6 to move the files.

If no files are selected, the file under cursor will be copied/moved. If the directory already exists, you will be questioned if the existing directory should be replaced or merged.

Rename

Press ⇧F6 to rename the file or directory.

Delete

Press F8 to delete the file.

:warning: Files will be deleted permanently and you won’t be able to restore them. Please move the files to the Trash if you feel you may need to restore them later.

Press ⇧F8 to move the selected files/directories to the Trash.

:penguin: You can disable the confirmation dialog: behavior/actions/core.delete.confirm
for the Delete action and behavior/actions/behavior/actions/ for the Trash action.

Edit

Press F4 to edit the text file. Press ⇧F4 to open the current directory in the text editor.

:penguin: You can configure the text editor (environment/textEditor). Sublime Text is supported.

Preview

Press ⌘Y to show the Preview for the file or directory.

:penguin: You can show the directory size there. Also, you can share the file using the native macOS sharing.

Get Info

Press ⌘I to open the “Get info” window.


Advanced Operations

Embedded terminal

Marta has an embedded terminal called etty. The terminal window is shown below the status bar, each pane has its own pty session.

Press ⌘O to open the terminal. Then you can quickly switch between it and your file list by pressing the same hotkey. If you want to hide etty, press ⌘⌥O. It’s easy to remember: ⌘O changes focus, and ⌘⌥O toggles visibility.

:penguin: Even being hidden, the shell process is still running. Press ⌃D if the shell is not needed anymore.

You can configure the terminal theme, font and environment variables in conf.json. Refer to the default configuration file (Open default configuration action) to see all available options.

The session’s current directory is two-way synchronized with the pane’s directory. You can disable this behavior in conf.json. Note that the current directory won’t be changed for the nested shells, including ssh sessions. This is intentional.

DirStat

DirStat allows you to find large files or directories in a particular place.

Run “DirStat: Analyse directory structure” action, and Marta will calculate the size of each directory including its subdirectories. Note that it if you enter some directory for which an occupied space is already calculated, you do not need to run the action one more time.


Favorites

Show Favorites

Press ⌥2 to show the favorites menu.

Pinned Items

Pinned items are displayed on the top of the favorites menu. Pinned items are typically system or user-local directories such as “Downloads” or “Desktop”. You can edit the pinned items (setup/pinnedPlaces). Each item has the mandatory path and the optional name parameters.

Below there is a list of path identifiers which are treated specially. All other property values are parsed as an absolute path.

System Path Identifiers
user.home user.downloads
user.desktop user.applications
user.pictures user.music
user.documents user.library
user.movies user.public
system.applications system.library

:penguin: You can disable Pinned items (behavior/actions/core.favorites.showPinnedPlaces) displaying if you want.

Add to Favorites

Press ⇧F3 to add the current directory to favorites.

Edit Favorites

Run the Edit favorites action using the Actions panel. If you use the action regularly, it may be convenient to bind it (core.edit.favorites) to some hotkey.

Edit favorites action opens the favorites.json configuration file. It’s format:

[
  {
    "path" : "/Volumes",
    "name": "System Volumes"
  },
  ...
]

The name can be omitted. In that case, the directory name becomes the item name.

:penguin: Favorite item with the %separator% path adds a separator.


Other Actions

Volumes

Press ⌥1 to open the Volumes menu.

Recent Directories

Press ⌥3 to open the Recent directories menu.

:penguin: You can clean the list by running the Clean recent directories action.

Hierarchy

Press ⌥0 to open the Hierarchy menu. This is the “keyboard version” of the breadcrumbs panel.

Go to Path

Press ⌘G to open the Go to path window.

:penguin: Go to path supports completion. Press Tab to show the completion menu.

Copy the Path

Press F12 to copy the absolute path of the current directory.
Press ⌘F12 to copy the absolute path(s) of the selected files.

Toggle Hidden Files

Press ⌃H to show/hide the hidden files.

Open the Terminal

Press F11 to open the terminal in the current directory.

:penguin: You can configure the default terminal application (environment/terminal). iTerm is supported :)

Locate in Finder

Run the Locate in Finder action from the Actions panel. You can also bind the action to some hotkey using its identifier (core.locate.in.finder).


Configuring Marta

Configuration Files

Marta has several places from the configuration is loaded from. The main files are conf.json, state.json and favorites.json, placed inside the ~/Library/Application Support/org.yanex.marta directory.

Configuration files
conf.json The main configuration file. File manager behavior, key bindings, and theme settings are configured here. The file is typically modified by a user (Marta doesn't change it, only create if it doesn't exist).
state.json The file for storing Marta internal state (window location, column settings, etc.). It is modified by Marta and overrides the values in the `conf.json` file. You typically don't need to modify this file.
favorites.json Stores the favorites list. If you want to change or delete some favorites item, just edit this file. You can open the file by running the *Edit favorites* action.

In case if the value is not defined both in conf.json and state.json, the default value from the bundled conf.json file is used. You can open the bundled conf.json using the Open default configuration action.

:warning: Do not edit the bundled file, it will be overwritten on Marta update.

Besides the files described below, each plugin may also have its own conf.json. They have the lowest priority: both of conf.json and state.json override values from the plugin configuration files.

:warning: If you edit conf.json using TextEdit, be sure to have Smart Quotes substitution disabled (EditSubstitutionsSmart Quotes should be unchecked).

Key Bindings

Key bindings can be configured (keyBindings).

Bindings are specified using the action identifiers. You can specify several bindings for each action, or specify the same hotkeys for several actions.

:penguin: You can unblock letter-only key bindings if you deactivate the behavior/quickSelect/activateOnAnyCharacter preference. Note that you will need to press / each time you use the Quick Select feature.

Themes

The current theme can be changed in conf.json (behavior/theme).
There are four bundled themes: Dark, Classic, Commander and Sakura.

Themes
Kon
Dark
Classic
Commander
Sakura

The custom themes may be stored in plugins or inside the ~/Library/Application Support/org.yanex.marta/Themes directory.

Fonts

All Marta fonts (except fonts in dialogs) can be configured (fonts).

The value is a two-element array (e.g. ["Helvetica Neue", 13]). The fist element is the font name (including postfixes such as Bold or Italic), the second is the text size.

Use the “Default” font family (e.g. “Default Regular” or “Default Light”) to apply the default macOS font.

Columns

You can change the displayed columns using the “Edit columns” action. The value example: extension:50,size,added:100, when extension, size and added are column types, and the optional number on the right is the column width.

Available column identifiers:

Column type Meaning
size File size
created “Created at” date
modified “Modified at” date
added “Added at” date
extension File extension
label Color label (if present)

Dialogs

By default, Marta uses the native macOS sheet dialogs. If you hate the sheet opening animation, you can switch to ordinary window dialogs. Just change the behavior/sheetDialogs value to false.