Implement directory watching / auto-refresh for file browser
- Dominant language
- C++
- Stars
- 10.4k
- Forks
- 1.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 7
Description
Under linux, there exists a tool called [inotify](https://en.wikipedia.org/wiki/Inotify) which allows an application to watch a directory and be notified whenever something about it changes (new file added/deleted, existing file modified, etc).
A natural way to use such a tool is to monitor all the open folders in the file browser and update the UI in real-time as the folders are modified, saving the user from having to manually refresh the directory view, or forgetting to.
inotify is linux only, but a quick search reveals these equivalent cross-platform tools (though I know little of their reputation/usability):
- [simplefilewatcher](https://code.google.com/p/simplefilewatcher/) (Win/Mac/Linux, poll-based, MIT license)
- [libfswatch](https://github.com/emcrisostomo/fswatch) (Win/Mac/Linux/FreeBSD, callback-based, GPLv3 license)
The latter option looks to be better all-around (more actively developed, doesn't require calling "update()" on a regular basis, and it supports slightly more backends), except for the less-permissive license, but LMMS is licensed under the GPL anyway ( :-1: ) so that's pretty much moot.
Contributor guide
No contributing guide indexed for this repository
Research direction
No files or tests are named. Start by locating the file browser and its existing manual refresh path, then research the cross-platform watcher options mentioned in the issue. Done means open folders update in real time when files are added, removed, or modified across the supported platforms.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100