Skip to content

File Operations

goodbug edited this page Apr 13, 2026 · 1 revision

File Operations

Unifyl Basic provides a comprehensive set of file operations designed for efficiency and safety. This page covers every file operation in detail, including the operation queue, undo/redo system, and special handling for cloud and remote files.

Unifyl Dual Pane Interface


Table of Contents


Core Operations Overview

Operation Shortcut Alternative Description
Copy F5 Cmd+D Copy items to the opposite panel
Move F6 Cmd+Shift+D Move items to the opposite panel
Delete F8 Cmd+Delete Move items to the Trash
New Folder F7 Cmd+Shift+N Create a new directory
Rename Shift+Return -- Rename the cursor item
Open Cmd+O Return (on files) Open with default application
Edit F4 -- Open in default text editor
Compress Shift+F5 -- Create a ZIP archive
Extract Shift+F9 -- Extract an archive to a folder
Get Info Cmd+I -- Show detailed file information

All operations that modify files (copy, move, delete, rename) use the selectedOrCursorItems logic described at the bottom of this page.


Copy (F5)

Copy Workflow

  1. Select source files in the active panel (or position the cursor on a single file).
  2. Ensure the inactive panel is navigated to the desired destination directory.
  3. Press F5 (or Cmd+D).
  4. The Copy Confirmation Dialog appears showing:
    • List of files to be copied
    • Source path
    • Destination path
    • Total size
  5. Press Return or click Copy to proceed.

Copy Confirmation Dialog

The confirmation dialog provides:

Element Description
File list Names and sizes of all items being copied
Source path The directory from which files are being copied
Destination path The directory to which files will be copied (editable)
Total size Combined size of all items
Copy button Confirm and start the operation
Cancel button Abort without making any changes

Tip: You can edit the destination path directly in the confirmation dialog if you want to copy to a different location than the inactive panel's current directory.

Copy Behavior Details

  • Directories: When copying a directory, its entire contents are copied recursively, preserving the internal directory structure.
  • Symbolic links: Symlinks are copied as symlinks (the link itself, not the target), unless the target does not exist.
  • File attributes: POSIX permissions, creation date, and modification date are preserved on the copies.
  • Large files: Files larger than a configurable threshold trigger the progress indicator with speed and ETA display.
  • Same volume: Copies on the same volume are performed using FileManager.copyItem, which is optimized by the filesystem (APFS clone-on-write when possible).
  • Cross-volume: Cross-volume copies stream the data, showing real-time progress.

Move (F6)

Move Workflow

  1. Select source files in the active panel.
  2. Ensure the inactive panel shows the destination.
  3. Press F6 (or Cmd+Shift+D).
  4. Confirm in the Move Confirmation Dialog.

Move vs. Copy-then-Delete

  • Same volume: Move is implemented as a rename operation, which is nearly instantaneous regardless of file size (the data does not move on disk, only the directory entry changes).
  • Cross-volume: Move is implemented as copy-then-delete. The files are first copied to the destination volume, and only after successful copy is the source deleted.
  • Error handling: If a cross-volume move fails during the copy phase, the partially copied files are cleaned up and the source files are left untouched.

Warning: Moving files across volumes (e.g., from an internal SSD to an external drive) takes as long as copying because the data must physically transfer. The progress dialog will show for large cross-volume moves.


Delete (F8)

Delete Workflow

  1. Select files to delete (or position cursor on a single file).
  2. Press F8 (or Cmd+Delete).
  3. A confirmation dialog appears listing all files that will be deleted.
  4. Confirm to proceed.

Trash vs. Permanent Deletion

By default, Unifyl moves files to the macOS Trash (~/.Trash), not permanently deleting them:

  • Trashed files can be recovered from the Trash in Finder.
  • Trashed files can also be recovered using Unifyl's Undo (Cmd+Z) immediately after deletion.
  • The Trash must be emptied (in Finder) for files to be permanently removed from disk.

Note: Files on remote filesystems (FTP, SFTP, etc.) or volumes that do not support Trash may be permanently deleted. A warning appears in these cases.


New Folder (F7)

  1. Press F7 (or Cmd+Shift+N).
  2. A dialog prompts for the new folder name.
  3. Enter the desired name and press Return.
  4. The folder is created in the active panel's current directory.
  5. The cursor moves to the newly created folder.

If a folder with the same name already exists, an error message appears and the operation is cancelled.


Rename (Shift+Return)

Single File Rename

  1. Move the cursor to the file you want to rename.
  2. Press Shift+Return.
  3. The filename becomes editable inline.
  4. Edit the name (the extension is included in the editable text).
  5. Press Return to confirm the new name.
  6. Press Escape to cancel and keep the original name.

Rename rules:

  • The filename cannot be empty.
  • The filename cannot contain / (path separator).
  • If a file with the new name already exists, an error appears.
  • Renaming preserves all file attributes, permissions, and timestamps.

Multi-Rename Tool

Press Opt+Cmd+R to open the Multi-Rename tool for batch renaming:

  • Search and Replace: Replace text patterns in filenames.
  • Numbering: Add sequential numbers (e.g., Photo_001.jpg, Photo_002.jpg).
  • EXIF-based: Rename using EXIF metadata (date taken, camera model).
  • AI Rename: Use AI to generate meaningful filenames based on file content (images, documents).
  • Presets: Save and load renaming presets for repeated use.
  • Preview: See the before/after filenames before applying.
  • Undo: All multi-rename operations can be undone with Cmd+Z.

Regex Rename

Available via the Tools menu or Command Palette, the Regex Rename tool allows renaming files using regular expressions:

  • Match pattern: A regex pattern to match against filenames.
  • Replace pattern: A replacement string with capture group references ($1, $2, etc.).
  • Preview: Live preview of the rename results before applying.

Batch Extension Change

Change file extensions for multiple files at once:

  • Select the files whose extensions you want to change.
  • Open the Batch Extension tool (via Command Palette or menu).
  • Enter the new extension.
  • Preview and confirm.

Open and Edit

Shortcut Action Description
Cmd+O Open Open the cursor/selected item with its default application
Return Open/Enter Open a file with default app, or enter a directory
F4 Edit Open the cursor item in the default text editor
Opt+Cmd+O Open in Opposite Panel Navigate the opposite panel to the item's directory

Open uses macOS's default application associations (the same app that would open if you double-clicked in Finder).

Edit specifically opens the file in a text editor, which is useful for quickly editing configuration files, scripts, or any text-based file regardless of its default association.


Compress and Extract

Compress to ZIP

  1. Select the files and/or folders you want to compress.
  2. Press Shift+F5 or use the File > Compress menu.
  3. A dialog appears where you can:
    • Set the archive name
    • Choose the archive format (ZIP is default)
    • Optionally set a password for encrypted archives
  4. Confirm to create the archive.

Supported archive creation formats:

  • ZIP (with optional AES-256 encryption)
  • 7-Zip
  • TAR, TAR.GZ, TAR.BZ2, TAR.XZ

Extract Archives

Shortcut Action
Shift+F9 Extract to a named folder
(unassigned) Extract here (into the current directory)

Supported extraction formats: ZIP, 7-Zip, TAR, GZ, BZ2, XZ, RAR, ZSTD.

Archive Browsing

Unifyl can browse archives as virtual folders:

  • Double-click (or press Return on) an archive file to enter it as if it were a directory.
  • Navigate through the archive's internal directory structure.
  • Copy files out of the archive to a real directory (drag or F5).
  • The path bar shows the archive path with the internal subpath.
  • Press Backspace to navigate up within the archive, or exit the archive entirely.

Supported browse formats: ZIP, 7-Zip, TAR, GZ, BZ2, XZ, RAR, ZSTD.

Note: Modifications inside archives (editing, renaming, deleting archive entries) require extracting, modifying, and re-archiving. Unifyl handles this transparently for supported formats.


Clipboard Operations

Copy Files to Clipboard

Press Cmd+C to copy selected/cursor files to the system clipboard. These files can then be pasted into Unifyl (another panel or tab) or into Finder.

Cut Files

Press Cmd+X to cut files. When pasted, the files are moved (not copied) to the destination.

Paste Files

Press Cmd+V to paste files from the clipboard into the active panel's current directory.

  • If the clipboard contains copied files, they are duplicated.
  • If the clipboard contains cut files, they are moved.

Clipboard History

Press Ctrl+H to open the Clipboard History panel, which shows recent clipboard entries. Click an entry to paste it.


Drag and Drop

Unifyl supports macOS-native drag and drop:

  • Within Unifyl: Drag files between panels, between tabs, or within a panel to move/copy them.
    • Default drag: Move (within the same volume) or Copy (across volumes).
    • Hold Opt while dropping: Force Copy.
    • Hold Cmd while dropping: Force Move.
  • From Finder to Unifyl: Drop files from Finder into a Unifyl panel to copy/move them.
  • From Unifyl to Finder: Drag files from Unifyl to a Finder window or Desktop.
  • From Unifyl to other apps: Drag files into any app that accepts file drops.

Drag and drop respects the same conflict resolution rules as keyboard-initiated operations.


Undo and Redo

Undoable Operations

Press Cmd+Z to undo the last file operation:

Operation Undo Action
Copy Delete the copies from the destination
Move Move the files back to their original location
Delete (Trash) Restore from Trash to original location
Rename Rename back to the original name
New Folder Delete the newly created folder

The undo history is maintained as a stack. You can undo multiple operations in sequence by pressing Cmd+Z repeatedly.

Undo Behavior

  • Undo is session-scoped: The undo history is cleared when you quit Unifyl.
  • Trash restoration: Undo of a delete operation restores the file from macOS Trash to its original path.
  • Conflict on undo: If a file with the original name now exists at the undo destination, a conflict dialog appears.
  • Cross-volume undo: Undoing a cross-volume move performs another cross-volume transfer (the data must physically transfer back).

Tip: The undo system records the complete state of each operation, including source paths, destination paths, and original filenames. This makes it reliable even for complex batch operations.


Operation Queue

Queue Behavior

When you initiate a file operation (copy, move, delete), it is added to the operation queue:

  • Operations run one at a time by default (sequential queue).
  • The active operation shows a progress bar with speed and estimated time remaining.
  • Queued operations wait until the current operation completes.
  • You can continue browsing and selecting files while operations run in the background.

Pause and Resume

During an active operation:

  • Click Pause in the progress dialog to pause the current operation.
  • Click Resume to continue from where it left off.
  • Click Cancel to abort the operation entirely.

Pausing does not lose progress -- the operation resumes exactly where it stopped.

Progress Monitoring

The progress display shows:

Information Description
Current file The name of the file currently being processed
Progress bar Visual percentage completion
Files processed e.g., "145 of 1,203 files"
Size processed e.g., "2.3 GB of 8.1 GB"
Speed Current transfer speed (e.g., "125 MB/s")
Estimated time Time remaining estimate

Conflict Resolution

When a file already exists at the destination during a copy or move operation, the Conflict Resolution dialog appears:

Option Description
Overwrite Replace the existing file with the new one
Overwrite All Replace all existing files without further prompts
Skip Skip this file and continue with the rest
Skip All Skip all conflicting files
Rename Keep both files by renaming the new one (appending a number)
Compare Open a side-by-side comparison of the existing and new file

The conflict dialog shows file details (size, date) for both the source and existing file to help you decide.


File Permissions

Access via File > File Permissions or the Command Palette:

  • View and edit POSIX file permissions (owner, group, others).
  • Set read, write, execute flags individually.
  • View the numeric permission value (e.g., 0644).
  • Apply permissions recursively to directory contents.

Get Info

Press Cmd+I to open the Get Info panel for the cursor item:

  • File name and full path
  • File size (on disk)
  • Creation date, modification date, last access date
  • File type and UTI (Uniform Type Identifier)
  • POSIX permissions
  • Owner and group
  • Extended attributes
  • macOS tags

Cloud and Remote File Handling

When working with files on remote connections (FTP, SFTP, WebDAV, cloud storage):

  • Copy/Move operations transfer data over the network. Progress shows network speed.
  • Delete operations may be permanent (no Trash on remote filesystems). A warning appears.
  • Rename operations are performed server-side when possible (instant).
  • Large file transfers are streamed with chunked transfer, supporting pause/resume where the protocol allows.

For iCloud Drive and other macOS-integrated cloud storage:

  • Files may exist in a cloud-only state (not downloaded locally).
  • Unifyl shows download progress for cloud-only files when accessed.
  • A cloud icon indicator appears next to files that are not downloaded.

selectedOrCursorItems Logic

This is the fundamental pattern used by all file operations in Unifyl:

When a file operation is triggered:
  1. Check if any items are SELECTED (explicitly marked).
  2. If yes -> operate on ALL selected items.
  3. If no  -> operate on the CURSOR item (the single highlighted row).

This means:

  • For a single file: Just move the cursor to it and press the operation key. No need to explicitly select it.
  • For multiple files: Select them first (using Insert, Space, Shift+Up/Down, or Cmd+A), then press the operation key.
  • The .. (parent directory) entry is always excluded from operations, even if the cursor is on it.

Important: If you have files selected and you want to operate on a different single file, either deselect everything first (Cmd+A twice) or select only the desired file.

This pattern applies to: Copy (F5), Move (F6), Delete (F8), Compress (Shift+F5), Open (Cmd+O), Edit (F4), Get Info (Cmd+I), and all other file-targeting operations.

๐Ÿ‡ฌ๐Ÿ‡ง English ยท ๐Ÿ‡ฐ๐Ÿ‡ท ํ•œ๊ตญ์–ด (Korean)


๐Ÿ‡ฌ๐Ÿ‡ง Getting Started

Core Features

Cloud / Remote

AI

Tools

Customization

Other


๐Ÿ‡ฐ๐Ÿ‡ท ์‹œ์ž‘ํ•˜๊ธฐ

ํ•ต์‹ฌ ๊ธฐ๋Šฅ

ํด๋ผ์šฐ๋“œ / ์›๊ฒฉ

AI

๋„๊ตฌ

์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆ

๊ธฐํƒ€

Clone this wiki locally