A rofi file browser using fd with real-time inotify caching and frecency-based history.
rofifdbashinotify-tools
cp rofi-fd-browser.sh ~/.config/rofi/scripts/
cp rofi-fd-daemon.sh ~/.config/rofi/scripts/
chmod +x ~/.config/rofi/scripts/rofi-fd-browser.sh
chmod +x ~/.config/rofi/scripts/rofi-fd-daemon.sh
mkdir -p ~/.config/systemd/user
cp rofi-fd-daemon.service ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now rofi-fd-daemon.serviceAdd to your hyprland.conf:
$fd_browser = $HOME/.config/rofi/scripts/rofi-fd-browser.sh
bind = $mainMod, F, exec, $fd_browserManage daemon:
systemctl --user status rofi-fd-daemon.service
systemctl --user restart rofi-fd-daemon.serviceEnvironment variables:
# Search path (default: $HOME)
export ROFI_FD_SEARCH_ROOT="$HOME"
# Rofi theme
export ROFI_FD_BROWSER_THEME="$HOME/.config/rofi/config.rasi"
# Prompt
export ROFI_FD_BROWSER_PROMPT=" "
# Display width (default: 80)
export ROFI_FD_DISPLAY_WIDTH=80
# Full rebuild interval in seconds (default: 3600)
export ROFI_FD_FULL_REBUILD_INTERVAL=3600
# Show refresh button (default: false)
export ROFI_FD_SHOW_REFRESH_BUTTON=false- Background daemon watches filesystem with inotify
- Cache updates in real-time as files change
- Tracks opened files and ranks by frecency (frequency + recency)
- Opens files with default application
Cache files are stored in $XDG_CACHE_HOME or ~/.cache.
Note: First launch may take some time depending on the number of files being indexed (usually fast). Don't worry, just wait for the initial cache to build.