A cross-platform Pascal library for monitoring file system changes using native OS APIs on Windows, macOS, and Linux.
DirectoryWatcher is a Pascal library that monitors file system changes in directories across Windows, macOS, and Linux platforms. It provides a unified API that abstracts the underlying OS-specific file watching mechanisms, allowing developers to track file additions, modifications, and deletions in real-time.
Delphi and Free Pascal developers who need to monitor file system changes in cross-platform applications, particularly those building file synchronization tools, build systems, or applications that react to file modifications.
Developers choose DirectoryWatcher because it provides a consistent, platform-agnostic interface for file monitoring while leveraging the most efficient native APIs for each operating system, eliminating the need to write platform-specific code.
Watch changes in directories
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages platform-specific mechanisms like ReadDirectoryChangesW on Windows, ensuring high performance and reliability for file monitoring without reinventing the wheel.
Uses TDirectoryWatcherBuilder for a clean, readable configuration interface, making watcher setup straightforward and maintainable in code.
Supports monitoring entire directory trees with the Recursively option, which is essential for applications tracking changes in nested folders.
Built to run watching operations in separate threads, allowing non-blocking file monitoring that keeps applications responsive.
Only covers three event types (added, removed, modified), lacking support for moves, renames, or other file system changes, which limits complex use cases.
Restricted to Delphi and Free Pascal, making it unsuitable for projects using modern languages or requiring integration with broader toolchains.
The README provides minimal examples with no advanced guides on error handling, configuration tweaks, or troubleshooting, hindering adoption.