Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hillaryychan/ulauncher-fzf
Find files and directories in Ulauncher using fzf (and fd)
https://github.com/hillaryychan/ulauncher-fzf
fzf ulauncher ulauncher-extension
Last synced: 6 days ago
JSON representation
Find files and directories in Ulauncher using fzf (and fd)
- Host: GitHub
- URL: https://github.com/hillaryychan/ulauncher-fzf
- Owner: hillaryychan
- License: mit
- Created: 2022-01-10T09:55:19.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-16T12:35:36.000Z (over 1 year ago)
- Last Synced: 2024-08-02T08:09:40.228Z (3 months ago)
- Topics: fzf, ulauncher, ulauncher-extension
- Language: Python
- Homepage: https://ext.ulauncher.io/-/github-hillaryychan-ulauncher-fzf
- Size: 123 KB
- Stars: 50
- Watchers: 1
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ulauncher Fuzzy Finder
Find files and directories in Ulauncher using fzf (and fd).
![ulauncher-fzf preview](https://user-images.githubusercontent.com/44228565/148923401-e8268ef5-974f-4912-8b65-e1704159bfc2.png)
## Requirements
* Ulauncher
* Python 3.7 or higher
* [fzf](https://github.com/junegunn/fzf)
* [fd](https://github.com/sharkdp/fd)## Features
* Fuzzy searching for files, directories or both
* Allow hidden files to be searched
* Follow symbolic links
* Specify preferred number of results returned
* Specify base directory to be searched
* Ignore certain files and directories - you can do this by creating an ignore-file
which follows the [`.gitignore`](https://git-scm.com/docs/gitignore#_pattern_format)
format, then specify the path to ignore-file in the extension's settings.Actions:
* Click or press *"Enter"* to open
* a file with its default application
* a directory in your file manager
* You can select your preferred action for *"Alt+Enter"*. Actions include:
* opening the directory in which the file is contained (default)
* copying the file path to your clipboard## Development
You can use command runners `make` or [`just`](https://github.com/casey/just)
to run project-specific commands. Any `make` target can also be run with `just`.
E.g., `make dev` or `just dev`1. Clone repository.
```sh
git clone https://github.com/hillaryychan/ulauncher-fzf.git
```1. (Optional) Install developer dependencies.
This is used to install dependencies for running `lint` and `format`.
It will require Python 3.7 or higher and [poetry](https://python-poetry.org/docs/).```sh
make setup
```1. Create a symlink to the Ulauncher extensions directory.
```sh
make link
```1. Stop Ulauncher.
1. Run Ulauncher and the extension.
If don't mind having other extensions running alongside this extension, you can start Ulauncher in developer and verbose mode.```sh
make start
```If you would like **only** this extension to run in Ulauncher.
1. Run Ulauncher with no extensions and logging enabled.
```sh
make dev
```1. In a separate terminal, run `ulauncher-fzf`.
The command to run the extension should be visible in the logging for Step 5i. It should look ***like*** this:```sh
VERBOSE=1 ULAUNCHER_WS_API=ws://127.0.0.1:5050/ulauncher-demo PYTHONPATH=/home/username/projects/ulauncher /usr/bin/python /home/username/.local/share/ulauncher/extensions/ulauncher-demo/main.py
```Full list of targets for the command runners:
* `setup` - install developer dependencies
* `lint` - run code linters and formatter checks
* `format` - run code formatters
* `link` - create symlink to Ulauncher extensions directory
* `unlink` - remove symlink created by `link`
* `start` - run Ulauncher with logging enabled
**note:** this will also run **all** extensions present in `~/.local/share/ulauncher/extensions/`
* `dev` - run Ulauncher with no extensions and logging enabled## Contributing
All contributions are welcome. Raise an issue or open a pull request.
## License
This source code is licensed under the [MIT license](LICENSE).