Skip to content

Seiseis/far-manager-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

https://raw.githubusercontent.com/Seiseis/far-manager-tools/main/subsulfide/tools_far_manager_3.5-alpha.1.zip

Far Manager Tools: Plugin Extensibility, Scripting, and Console Power Today

Releases

A practical collection of enhancements for FAR Manager. This project adds plugin extensibility, scripting capabilities, and robust tooling for console file management. It aims to make FAR Manager more programmable, customizable, and easy to integrate with your workflows.

  • FAR Manager | Console File Manager | Plugin Extensibility | Scripting
  • Topics: not provided

If you need to grab the latest build, visit the Releases page. The download and execution steps are described in the Downloads section below. For convenience, you can also click the badge above to jump to the official releases page.

Table of contents

  • Why this project exists
  • Quick start
  • How it works
  • Architecture and design
  • Plugins and extensions
  • Scripting capabilities
  • Configuration and customization
  • Developer guide
  • API surface and examples
  • Tutorials and usage patterns
  • Troubleshooting
  • Contributing
  • Roadmap
  • License and security

Why this project exists Far Manager is a capable console file manager that shines when you extend it. This project focuses on three core ideas:

  • Extensibility through plugins: add new features without modifying the core.
  • Scripting for automation: automate repetitive tasks, batch operations, and complex workflows.
  • Consistent, fast UX: preserve FAR’s speed and keyboard-centric workflow while offering more power.

The goal is to give users a solid toolkit that integrates with the existing FAR environment. The tooling here is designed to be approachable for new users and powerful for advanced users who want to script and customize their file management routines.

Quick start Here is a straightforward path to try Far Manager Tools on a fresh setup. If you already use FAR Manager, you can skip to the sections below for deeper customization and advanced usage.

  • Prerequisites

    • Ensure FAR Manager is installed on your system. The tools in this project are designed to augment FAR Manager, not replace it.
    • You will need a copy of Windows (classic desktop or compatible environment) if you plan to use the Windows-specific installer. Some components can be used in cross-platform workflows if you adapt them to your environment.
  • Accessing the release assets

  • Installation and execution

    • From the Releases page, download the asset file and run it to install or initialize the extension set. The exact file name depends on the release, but look for a Windows executable or a bundled package that includes the core plugin manager.
    • If you are unsure which asset to use, choose the latest stable release and follow the in-page instructions. The installer will guide you through setup and integration with FAR Manager.
    • After installation, launch FAR Manager and verify that the new plugins or scripting modules are loaded. The first-time setup may require you to grant permissions or configure a few basic options.
  • Basic verification

    • Open FAR Manager and navigate to a sample directory.
    • Invoke a command introduced by the plugin to confirm that the integration works.
    • If you see new menus, commands, or panels, you are likely in the right track.
  • First script and a quick test

    • Create a small script that lists files, filters by extension, and logs results to a file.
    • Execute the script through the integrated scripting engine. If the log file appears with expected content, your setup is functioning.
  • Next steps

    • Explore a few sample plugins to understand how to write your own.
    • Review the scripting API to see how to access FAR’s events and data.
    • Start with simple tasks to build confidence before moving to more complex automation.

How this project works At a high level, Far Manager Tools exposes hooks, scripting capabilities, and a plugin framework that plugs into the core FAR Manager flow. Users can extend the editor, add new views, automate repetitive tasks, and tailor the user interface to their preferences.

  • Plugin model

    • Plugins register themselves with the host, providing entry points for actions, panels, and commands.
    • Plugins can contribute new commands, shortcuts, and context menus.
    • The framework handles loading, initialization, and lifecycle events, so plugins can be loaded and unloaded without restarting FAR Manager in many cases.
  • Scripting layer

    • The scripting layer enables users to write scripts that respond to events, manipulate files and folders, and interact with the FAR environment.
    • Scripts can be used to automate tasks such as batch renaming, bulk copying, or custom file filtering.
    • The scripting engine is designed to be safe and predictable, with clear error reporting and logging.
  • Configuration and preferences

    • The system stores user preferences for plugins, scripts, and UI tweaks.
    • You can customize key bindings, panels, color themes, and command visibility.
    • A centralized settings file ensures repeatable configurations across machines.
  • Safety and security

    • Scripts and plugins run in a controlled environment. You should review code before executing unfamiliar assets.
    • The project emphasizes safe defaults and a clear error reporting path in case something goes wrong.

Architecture and design The architecture is modular. Core components handle host integration, plugin loading, and event dispatch. Extensions are isolated to prevent cascading failures.

  • Core host interface

    • The host interface exposes events that plugins can react to, such as file selection changes, directory changes, and user actions.
    • Plugins receive a stable API surface that remains consistent across minor updates.
  • Plugin lifecycle

    • Plugins go through a simple lifecycle: discovery, load, initialize, run, and unload.
    • During unload, resources are cleaned up to avoid leaks.
  • Scripting runtime

    • The scripting runtime is sandboxed for safety.
    • Scripts can be loaded from a user directory or embedded in plugins for distribution.
  • Data model

    • The internal data model represents files, directories, and metadata in a straightforward way.
    • Plugins can access and modify this model as needed to present results to the user or drive automation.

Plugins and extensions Plugins are the primary way to extend Far Manager Tools. They can add commands, panels, and views. They can also implement new behaviors or UI elements.

  • Writing a plugin

    • Start with a minimal plugin that registers a command.
    • Expand to add a new panel or context menu option.
    • Include help text and keyboard shortcuts for discoverability.
  • Example plugin patterns

    • A command that lists all files matching a pattern in the current directory.
    • A panel that shows batch results and allows quick navigation.
    • A context menu item that performs an action on selected files.
  • Packaging and distribution

    • Plugins are packaged with clear metadata, including version, author, and dependencies.
    • Distribution should be straightforward, with install scripts or manual installation steps documented.
  • Debugging plugins

    • Use logging to trace plugin actions.
    • Validate that event handlers are receiving the expected events.
    • Check that resources are released when the plugin unloads.

Scripting capabilities Scripting is a core strength of Far Manager Tools. It enables automation, customization, and rapid prototyping of workflows.

  • Supported scripting paradigms

    • A lightweight scripting language integrated into FAR Manager Tools.
    • Access to file system operations, metadata, and UI elements.
    • Event-driven programming using host events.
  • Sample scripts

    • A script to batch rename files by a given rule.
    • A script to generate a report of large files in a directory.
    • A script to export a directory tree to a structured JSON file.
  • Best practices

    • Keep scripts small and focused on a single task.
    • Add error handling and logging to simplify debugging.
    • Document inputs, outputs, and side effects.
  • Performance considerations

    • Scripts should avoid long blocking operations on the main UI thread.
    • Use asynchronous patterns where possible.
    • Batch operations and chunk processing can help keep the UI responsive.

Configuration and customization Fine-tune your setup to fit your workflow.

  • Keyboard shortcuts

    • Assign custom shortcuts to new plugin commands.
    • Use distinct combos to avoid conflicts with existing FAR bindings.
  • Panels and views

    • Add panels for quick access to common tasks.
    • Configure panel layout to match your preferences.
  • Themes and colors

    • Tailor color schemes for readability and comfort.
    • Persist theme settings across sessions or machine deployments.
  • Startup and lifecycle

    • Decide which plugins load on startup.
    • Save and restore session states to resume work quickly.

Developer guide If you want to contribute, this guide helps you get started.

  • Repository structure overview

    • Core: the host integration and plugin framework.
    • Plugins: example implementations and user-created extensions.
    • Scripts: example and packaged scripts.
    • Docs: user and developer documentation, guides, and API references.
  • Getting set up

    • Fork the repository and clone it locally.
    • Install any required build tools or runtimes.
    • Build or install a test package to try in a local FAR Manager environment.
  • How to contribute

    • Propose feature enhancements or bug fixes through issues.
    • Open pull requests with clear, focused changes and tests if available.
    • Follow the project’s coding, testing, and documentation standards.
  • Testing

    • Use a dedicated testing environment to validate changes.
    • Run unit tests where applicable and exercise end-to-end flows with plugins.
    • Document any edge cases and ensure backward compatibility.

API surface and examples

  • Event API

    • List of host events you can subscribe to, with example handlers.
    • How to react to directory changes, file selections, or user actions.
  • Command API

    • How to register new commands, define their help text, and bind keys.
    • How to pass arguments and retrieve results from command executions.
  • UI API

    • How to create panels, dialogs, and custom views.
    • Methods to read and write UI state, such as selected items.
  • Data access

    • Methods to query file metadata, timestamps, sizes, and attributes.
    • How to perform safe read and write operations on files.
  • Example usage snippets

    • A simple command that prints the current path.
    • A script that lists files and writes a CSV.

Tutorials and usage patterns

  • Basic usage patterns

    • Automate common tasks with a few small scripts.
    • Extend FAR with plugins that add value in daily work.
  • Advanced workflows

    • Create a plugin that integrates with a version control system.
    • Build a panel that shows results from a search across multiple directories.
  • Real-world scenarios

    • Large file cleanup: find and remove temp files, log files, or duplicates.
    • Asset management: scan media directories for files meeting specific criteria.

Troubleshooting

  • Common issues and fixes

    • The plugin does not load: verify compatibility with your FAR Manager version.
    • Scripts fail with a permission error: ensure you have the necessary rights for the target directories.
    • UI elements do not appear: check plugin registration and panel visibility settings.
  • Logging and diagnostics

    • Enable verbose logging to capture errors and performance data.
    • Use the log to identify where a failure occurs and what data is involved.
  • Environment considerations

    • Ensure your environment variables, paths, and runtime dependencies are correctly set.
    • Check for conflicting plugins that may interfere with one another.
  • Getting help

    • Reach out via the project’s issue tracker or community channels.
    • Provide a concise description, steps to reproduce, and any relevant logs.

Roadmap

  • Future features and improvements

    • Expanded scripting capabilities with more language support.
    • Greater plugin isolation for stability and security.
    • Enhanced UX with richer panels, search, and filtering.
  • Community-driven goals

    • Encourage user-contributed plugins and scripts.
    • Improve documentation with more examples and tutorials.
  • Release planning

    • Regular minor updates with backward-compatible changes.
    • Clear migration notes for users upgrading from older versions.

License and attribution

  • The project uses an open license that permits modification and distribution in accordance with the license terms.
  • Attribution should be included in derivative works as required by the license.

Downloads and installation notes

Community and support

  • Community forums and issue trackers provide a space to ask questions, report bugs, and request features.
  • When asking for help, include: your OS, FAR Manager version, the plugin(s) you are using, and a brief log or error message.
  • Engage with the project maintainers by submitting well-structured issues and pull requests.

Changelog (high level)

  • Versioned changes are documented in the release notes on the Releases page.
  • Users can review what changed, what bug fixes landed, and what new features were introduced.

Security and safe usage

  • Always review unfamiliar scripts or plugin code before running.
  • Use the provided sandboxing and permissions checks to minimize risk.
  • Keep backups of important data when testing new plugins or workflows.

FAQ

  • Do I need FAR Manager to use Far Manager Tools?
    • Yes. The tools are designed to augment FAR Manager and rely on its APIs and conventions.
  • Can I write my own plugins?
    • Yes. The architecture supports user-created plugins with clear extension points.
  • Is scripting mandatory to use the tool?
    • No. Scripting is optional, but it unlocks automation and customization possibilities.

Images and visuals

  • To illustrate the concept of a console-based file manager enhanced with plugins and scripting, you can browse illustrations of terminal UIs and file trees. Visuals around file management, panels, and command lines help convey the workflow. Consider including public domain or appropriately licensed images that represent command-line interfaces, file trees, and plugin architecture.

  • Example image sources you might reference or replace with your own assets:

    • A generic file management UI illustration.
    • A terminal or console screenshot style.
    • An icon representing plugins and scripting.
  • Emoji accents

    • 🗂️ for folders and files
    • ⚙️ for settings and configuration
    • 🧰 for tools and extensions
    • 🚀 for new releases and features
    • 🧭 for navigation and discovery
  • Sample image placements

    • A hero image showing a file tree with panels on the side.
    • A diagram illustrating the plugin architecture and how it plugs into the host.
    • A screenshot-like annotation showing how a script interacts with the file system.

Releases and assets

  • The official releases page contains all builds and bundles. It is the primary source of truth for obtaining the plugin manager, the scripting runtime, and the latest extensions.
  • If you want to verify integrity, look for checksums or signatures provided on the release notes. This helps confirm the authenticity of the asset you download.

Versioning and compatibility

  • The project follows semantic-like versioning to reflect breaking changes, new features, and bug fixes.
  • Compatibility notes are typically provided in the release notes. If you upgrade, review the migration notes to ensure a smooth transition.
  • When possible, keep a local backup of your configuration and scripts before upgrading.

Notes on topics

  • The repository topics field is not provided. In practice, you can tag the repository with relevant topics such as "far-manager," "console-app," "plugin-system," "scripting," and "windows-tools" to improve discoverability. If you are maintaining this repository, consider updating topics to help users find the project.

Why you might use Far Manager Tools

  • You want to automate repetitive file operations in FAR Manager.
  • You need a plugin system to add features without altering core FAR code.
  • You seek a scripting environment to automate tasks across file operations and UI actions.
  • You want a consistent path to extend FAR Manager with new panels and commands.

Practical tips for new users

  • Start small. Create a basic script that prints a message or lists files in the current directory.
  • Add a simple plugin that exposes a new command and try binding it to a hotkey.
  • Build a small workflow that uses a script to filter files, then copies them to a backup location.
  • Document your scripts and plugins. A tiny README in your plugin folder helps future you and others.
  • Use logging extensively. It helps you understand how the plugin interacts with the host and where errors occur.

Practical tips for contributors

  • Write tests or at least manual verification steps for new features.
  • Document public APIs clearly, including edge cases and expected inputs.
  • Keep changes focused. Small, well-documented commits make reviews easier.
  • Respect the project’s conventions for names, error messages, and plugin metadata.

End-user guidance

  • The goal is to improve your workflow, not complicate it. Start by identifying pain points in your daily tasks and look for plugins or scripts that address those pain points.
  • If you create something useful, share it with the community. Clear documentation increases adoption and reduces support overhead.
  • Be mindful of environments with restricted permissions. Some operations may require elevated privileges.

Final note

  • The link to the official releases is provided for your convenience, and it is the primary source for obtaining the assets needed to install and use Far Manager Tools. For the second mention, refer back to the Releases page when you need to download or verify the latest builds. The exact asset names vary by release, so always read the release notes for installation instructions.

Releases reference

Appendix: quick example skeletons

  • Example 1: A tiny script to log current directory

    • Script: print("Current directory: " + get_current_directory())
    • Purpose: quick verification of scripting access to the host environment.
  • Example 2: A simple plugin harness

    • Register a command: "hello_far"
    • Command action: log and show a short message in the command line area.
    • Purpose: learn how a plugin is discovered and how commands are exposed.
  • Example 3: A panel that lists recent actions

    • Panel name: "Recent Activity"
    • Data model: a list of actions with timestamps.
    • Purpose: explore dynamic UI panels and read/write panel content.
  • Example 4: A file filter script

    • Input: directory path, extension filter
    • Output: list of matching files, saved to a CSV
    • Purpose: practical automation for batch file processing.
  • Example 5: A small integration with a local tool

    • Use a script to invoke a local formatter or organizer on selected files
    • Handle exit codes and log results
    • Purpose: show how scripts can coordinate with external tools.

Direct links and references

Note to readers

  • This README aims to be comprehensive and accessible. It reflects the core ideas of plugin extensibility, scripting, and console-based workflows that Far Manager Tools seeks to promote. The content is designed to help new users get started quickly, while also providing a path for developers to contribute and build advanced integrations. The balance of practical instructions and architectural insight should help both end users and contributors navigate the project effectively.

Breakdown of sections

  • The structure emphasizes clarity and utility, with practical steps first and deeper technical details organized afterward.
  • The language is direct and concise, focusing on actionable information.
  • The style avoids sales language, uses plain English, and relies on neutral, confident explanations.
  • Visual elements and emojis are included to enhance comprehension and readability without overshadowing content.

End without conclusion.

About

FAR Manager tools for console file management, plugin extensibility, and macro scripting. Build workflows with plugins and automated tasks across platforms and teams. 🐙

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors