Far Manager plugin: drag files out of the panel into any Windows drop target — Telegram, a browser upload box, Explorer, a chat window.
Hold the left mouse button on a panel item, move a few cells, drop it wherever you like. Ordinary clicks keep working as before.
Drag with the right button instead and it is up to the target what happens on the drop: Explorer offers its copy / move / shortcut menu, Telegram just takes the files. A right click still selects a file as before; sweeping over several files with the right button held now starts a drag instead of selecting them.
Works in the standard console (cmd.exe / conhost), in OpenConsole and in Windows Terminal.
Take the archive for your Far build from Releases and unpack the Burlak
folder into Far's Plugins directory:
Far Manager\Plugins\Burlak\Burlak.dll
Restart Far — plugins are read at startup.
cmake --preset release-x64
cmake --build --preset release-x64
pwsh -File scripts/build.ps1 -Arch x86
pwsh -File scripts/build.ps1 -Arch arm64
pwsh -File scripts/package.ps1 -Arch x64 # Burlak-<version>-x64.zip, as on ReleasesNeeds the Visual Studio 2022 Build Tools with the C++ workload; arm64 also needs the
MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools component. Far's headers ship in sdk/.
The debug and coverage presets use clang-cl and Ninja. Run the tests and both local gates with:
cmake --preset debug
cmake --build --preset debug
ctest --preset debug --output-on-failure
powershell -File scripts/coverage.ps1
powershell -File scripts/lint.ps1 -BuildDir build/debug `
-ReleaseDirs build/release-x64,build/release-x86,build/release-arm64Coverage accepts only 100% line and branch coverage for every executable file under src/.
Lint runs clang-format, clang-tidy, cppcheck, PSScriptAnalyzer and BinSkim.
MIT — see LICENSE.
sdk/ holds Far Manager's plugin headers (© 1996 Eugene Roshal, © 2000 Far Group), redistributed
under their own BSD-3-clause licence.
Thanks to karbazol/far-drag-n-drop-plugin, whose approach this borrows.