On this page

Customizing Control Bar Buttons

Overview

The Control Bar is divided into two sections:

  • Left (File-level): Integration with external applications and quick actions (e.g., "Open with...", "Reveal in File Explorer"). These are configurable in Settings - Controls.
  • Right (Preview-level): Viewport controls (e.g., rotate, mute, zoom).

This guide focuses on extending the Left section.

Adding Controls

In Settings - Controls, you can manage built-in buttons, create custom actions, or install control plugins.

1. Custom Actions

  1. Click + below the actions list and select the program or script to run.
  2. Configure the action details on the right panel:
    • Name: Display name shown in tooltips.
    • Executable: Path to the target executable (.exe).
    • Arguments: Command-line arguments. Use placeholders like "${input_file}" to pass file paths.
    • File Formats: Target file extensions (e.g., png, zip) or Special Tokens (e.g., ${type_folder}).
    • Close preview after successful launch: Close the preview once the external program starts successfully. Seer does not wait for the program to finish.

2. Control Plugins

Control plugins supply packaged actions. They are separate from custom actions, which use a program or script you already have.

Official Control Plugins

Official control plugin packages are available in the download center. Please visit Plugin Downloads - Controls to download the .zip packages. Downloaded archives can be imported directly in Settings > Controls without extracting.

Install the Download

  1. In Settings > Controls, click + below the list.
  2. Select the downloaded .zip directly, or select plugin.json from a complete extracted package.
  3. Review the imported action's formats and behavior in the details panel.
  4. Click Okay to save and use it. Cancel discards the import.

If a package provides a different capability, Seer takes you to the corresponding settings page.

Managing Actions

  • Reorder: Drag and drop items in the list to rearrange button order on the Control Bar.
  • Toggle: Select an action and change Enabled in its details, then save settings.
  • Customize Overrides: For installed plugins, you can customize the matched file formats and CLI arguments, or reset them to default anytime.
  • Built-in Buttons: Built-in actions (Open with Default Application, Reveal in File Explorer, Same-Type Navigation) can be toggled individually.

Placeholders and Special Tokens

1. Command-Line Placeholders

Seer provides built-in tokens that are dynamically resolved at runtime when launching external tools:

Placeholder Description Example
${input_file} Absolute path of the previewed file or folder. C:\Users\Username\Documents\file.zip
${7z} Absolute path to the bundled 7z.exe. Also accepted in the Executable field. C:\Program Files\Seer\plugins\7z.exe
${seer_exe} Absolute path to Seer.exe. C:\Program Files\Seer\Seer.exe
${seer_dir} Directory containing Seer.exe. C:\Program Files\Seer

If a path may contain spaces, wrap the placeholder in double quotes: "${input_file}".

Writing your own control plugin? See Plugin Development & Implementation for the full placeholder and matcher-token matrix, including which placeholders each plugin capability supports.

2. File Format Special Tokens

Use these tokens in the File Formats field to match non-standard file types or folders:

Token Description
${type_folder} Matches directories and folders.
${type_file} Matches all files (including files without an extension).
${type_all} Matches everything (both files and folders).
${type_pdf} Matches PDF documents.
${type_image} Matches picture files, classified like the built-in Image viewer.
${type_media} Matches audio/video files, classified like the built-in Media viewer.
${type_web} Matches web pages (HTML and Markdown), classified like the built-in HTML viewer.
${type_text} Matches text/code files, classified like the built-in Text viewer.
${type_none} Matches files that belong to none of the categories above (e.g. archives, executables).

Note: Tokens are case-insensitive and can be combined with file extensions using spaces or commas (e.g., png jpg ${type_folder}). The ${type_*} category tokens classify files by extension using the same tables as the built-in viewers — including your custom lists from Settings - Type — so a control action's scope always agrees with what Seer previews natively. Category tokens match files only; combine them with ${type_folder} if you also need folders.

3. Configuration Example: Extract Archive with 7-Zip

To add a button that extracts archives using the bundled 7-Zip:

  1. Executable: ${7z} (or browse to your own 7z.exe).
  2. Arguments: x "${input_file}" -r -y -o"C:\Output\Path\"
  3. File Formats: zip rar 7z tar gz

Parameter Breakdown: * x: Extract with full paths. * "${input_file}": Target archive file. * -r: Recurse into subdirectories. * -y: Assume Yes on all queries (overwrite). * -o"...": Output directory.