There are other solutions like Angry Search, however, I like FSearch the most.
Please note that, Everything monitors file systems for all changes. Your search results will update in real-time to reflect any changes. Everything keeps NTFS indexes up to date with the NTFS USN Journal. This functionality (search results update in real-time to reflect any changes) needs Windows specific features that is missing in Linux. For more details please check here. Being said that, In FSearch, to update index (not real-time), press Ctrl+Shift+R. There is also a option to automatically update index every time you start FSearch.
Solution 2:
If you are into cli and scripting, I have a script that combine plocate (please note that it is neither locate nor mlocate) and rofi. It uses gnu parallel to improve performance. It opens the selected file in Nemo file browser. You can use this for educational purpose. If you want to use, you have to customize it to match your needs.
#!/usr/bin/env bash
shopt -s lastpipe
indexDirectory1() {
updatedb -l 0 --database-root /media/ismail/8TBRaid0 --prunepaths /media/ismail/8TBRaid0/_Backup --prunenames ".Trash-1000 lost+found .git objects" --output $HOME/plocate_8TBRaid0.db
}
indexDirectory2() {
updatedb -l 0 --database-root /media/ismail/SSDWorking/_Working --prunenames ".git" --output $HOME/plocate_SSDWorking_Working.db
}
export -f indexDirectory1
export -f indexDirectory2
parallel -j3 ::: indexDirectory1 indexDirectory2
indexDirectoryCombine1 () {
plocate -A --ignore-case --database $HOME/plocate_8TBRaid0.db \*
}
indexDirectoryCombine2() {
plocate -A --ignore-case --database $HOME/plocate_SSDWorking_Working.db \*
}
export -f indexDirectoryCombine1
export -f indexDirectoryCombine2
parallel --keep-order -j3 ::: indexDirectoryCombine1 indexDirectoryCombine2 | rofi -dmenu -i -theme-str 'window {fullscreen:true;}' | read select
if [ ${PIPESTATUS[1]} -eq 0 ]; then
nemo "$select"
fi
Solution 3:
You can also try File Browser mode of rofi. It renders icon which my script does not. However, it is not as customizable as my script. For example, i used --prunepaths, --prunenames and also used --database-root to add multiple folders. It was not possible earlier in rofi. Not sure about the current state. If it is possible now then please let me know in the comment section. I had a discussion with the author of rofi a while back. He was very helpful regarding these issues. You can find more about it here.
fzf. It's a lot quicker thanfindwhich I've been using blissfully ignorantly until now.