How can I search for files in Unity?
I found the unity-place-python sample code and used that to create a lens to search your filesystem. It's currently kinda unstable, but you can search for files and you usually get results.
Unity FileSearch Lens
You can access the lens in the Unity Launcher. You can see it here where I'm searching for "lecture".
The magnifying glass in the bottom left corner is the FileSearch Lens. (The icon changes based on your icon theme.) The lens shows files and folders in two separate sections.
You can add it to your main dash (Ubuntu button) by setting ShowGlobal=true
in /usr/share/unity/places/filesearch.place
. Unfortunately, Unity doesn't currently have a way to customize what lenses are in the Dash.
The files and folders sections are combined in the dash under the heading "File Search".
Config
When filesearch-lens first runs, it will create a config file ~/.filesearch.cfg
. You can customize the directories to search, how deep to search, and what folders to ignore.
For example, here's my config:
[search]
#dirs = a comma separated list of folders to search
dirs = ~/data
#depth = how deep from / to search
depth = 5
[ignore]
#pattern = python-style regex for directories to ignore
pattern = ^\.|^bin$|^lib$|^apps$|^settings$|^eclipse$
I want it to search ~/data and two directories below it and to ignore all dotfiles and some other specific folders. (Note: No, it's not smart enough to not search the same folders if you give it nested folders like ~/,~/code
, so don't do that.)
If you change the config file, you need to restart the daemon to reload it:
killall unity-filesearch-daemon
Install
I packaged it so you can download it from my ppa.
sudo add-apt-repository ppa:pydave/unity-lenses
sudo apt-get update
sudo apt-get install unity-place-filesearch
Then you need to reset unity before the lens will be noticed:
setsid unity
Experimental Features
If you give it a path, it usually shows the path as one of the results (so you can open folders like you could in gnome-do).
One of the features I'm still trying to get working properly is the ability to type a path, a space, and then a search word to search in the path. Most of the time it works, but sometimes it fails to find anything (probably because the search is taking forever).
So far the best (but unsatisfactory) method I've found is:
- Invoke dash. Type
search
and Enter to launch "Search for files..."- I can simplify this step by adding a command keybinding for
gnome-search-tool
in CompizConfig.
- I can simplify this step by adding a command keybinding for
- Type my query.
- Select the folder I want to search in.
- Hit Find.
But navigating this interface requires many Tabs and selecting a folder is tedious since generally the folder I want is not in my bookmarks.