Simple and customizable Ulauncher extension that quickly searches and opens files/directories with your app of choice.
This project aims to provide a simple and highly customizable alternative to an existing Ulauncher file search extensions such as File Search, Fuzzy finder, Vscode project opener. It combines their features with some better customizability.
- Install Ulauncher.
- Install fzf
- Install fd
Note that for Ubuntu the binary is calledfdfind, so don't forget to add a link to fd by executing commandln -s $(which fdfind) ~/.local/bin/fd - Install the extension using Ulauncher extension manager:
- Open Ulauncher preferences (Gear icon).
- Go to Extensions tab.
- Click on "Add extension" button.
- Paste the following URL in the "Extension URL" field:
git@github.com:haddystuff/ulauncher-fast-open.git - Click "Add" button.
- (Optional) Configure the extension to your liking (see Configuration and Customization section).
- Open Ulauncher and type
fofollowed by a space. - Type your search query to find files or directories.
- Select the desired file or directory from the list.
- Press
Enterto open it with a command specified in configuration.
- Extension keyword - keyword to trigger the extension (default:
fo). - on Enter command - command to run when
Enteris pressed. Use%sas a placeholder for the selected file/directory path (default:code %s). - on Alt+Enter command - command to run when
Alt+Enteris pressed. Use%sas a placeholder for the selected file/directory path (default:xdg-open %s). - fd arguments - additional arguments to pass to
fdcommand. Flag --color never and the search pattern (.) are already included. (default:--type f --type d --follow --exclude .git). - fzf arguments - additional arguments to pass to
fzfcommand. Flag --filter is already included. (default: empty). - base_dir - base directory to start searching from. (default: ~).
- result_limit - maximum number of results to show (default: 15).
-
Search projects directory with depth of 2:
- fd arguments:
--type d -d 2 --follow --exclude .git - fzf arguments: ``
- on Enter command:
code %s - base_dir:
~/projects
- fd arguments:
-
Search only python files in home directory:
- fd arguments:
--type f -e py --follow --exclude .git - fzf arguments: ``
- on Enter command:
code %s - base_dir:
~
- fd arguments:
- uv
- Taskfile
-
Run init task that will install all the dependencies, set up pre-commit hooks and create a symlink in ulauncher extensions directory:
task init
-
Start the extension in Ulauncher in dev mode:
task start
-
Make changes to the code and see them reflected in Ulauncher immediately.
If you don't have Taskfile installed or prefer not to use it, you can run the commands from Taskfile.yaml manually.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Best regards to the authors of Ulauncher and these awesome Ulauncher extensions that inspired this project:
This project is licensed under the MIT License - see the LICENSE file for details.
