A fast, modern dual-panel file manager for Windows — fork of Open Salamander with Unicode, long paths, and ARM64 support.
Sally is an independent fork of Open Salamander, maintained by Elias Bachaalany. The original Open Salamander authors are not responsible for this project and do not provide support for it. Development is AI-assisted using Claude Code. See Origin for the full project history.
Unicode & Long Path Support
- Wide-primary Win32 API wrappers (
W-suffix) for all file operations CPathBufferreplaceschar[MAX_PATH]buffers — supports up to 32,767-character paths- 100+ unit and integration tests covering long paths, Unicode filenames, and edge cases
Modern Build System
- Complete CMake port — all 25+ plugins, trace server, translator, and shell extension
- Native x64, x86, and ARM64 targets; clang-cl cross-compilation support
- GitHub Actions CI/CD with automated releases
Architecture Improvements
IPrompterinterface decouples UI dialogs from file operation logicIWorkerObserverenables headless I/O testing without a GUI- WebView2 markdown viewer replaces the legacy IE WebBrowser control
- Plugin naming standardized:
ieviewerrenamed towebviewerto match its WebView2 implementation
Platform & Compatibility
- ARM64 native build for Windows on ARM
- Runs under Wine on Linux (
imageres.dlldependency made optional) - Consent-based loading of legacy Altap Salamander 4.0 plugins
Code Quality
- Czech-to-English comment translation across the entire codebase
- Modern C++ idioms:
std::wstring, RAII,std::unique_ptr - Fixed heap corruption bugs, buffer overflows, and Win32 API pitfalls
Pre-built binaries are available on the Releases page.
- Visual Studio 2022 with the Desktop development with C++ workload
- Windows 11 SDK (10.0.26100 or newer)
# Configure and build (x64 default)
cmake -S . -B build
cmake --build build --config RelWithDebInfo
# Populate output directory
cmake --build build --config RelWithDebInfo --target populateOutput: build/out/sally/<Config>_<Arch>/
| Preset | Description |
|---|---|
cmake --preset msvc |
Native MSVC x64 (default) |
cmake --preset msvc-arm64 |
Native MSVC ARM64 |
cmake --preset x64 |
clang-cl x64 cross-compile |
cmake --preset arm64 |
clang-cl ARM64 cross-compile |
ctest --test-dir build -C Debug --output-on-failureContributions are welcome! See the Developer Guide for repository structure and internals.
Sally is based on Open Salamander, open source software licensed under GPLv2. Individual components and libraries have separate but compatible licenses — see third_party.txt for details.
Altap Website | Features | Documentation | Community Forum | Upstream Repository | Wikipedia
