π Lightning-fast file search for your WSL environment, integrated seamlessly with Flow Launcher
Search and open files from your WSL home directory directly within Flow Launcher. Powered by the blazing-fast fd
command-line tool, this plugin brings WSL file discovery to your Windows desktop workflow.
- β‘ Ultra-Fast Search: Leverages
fd
for sub-second file discovery across your entire WSL home directory - π― Intelligent Results: Configurable result limits (5-50) to keep searches snappy and relevant
- ποΈ Seamless Integration: Open files directly in Windows Explorer with a single keystroke
- β¨οΈ Terminal Access: Right-click context menu to open containing folders in Windows Terminal with WSL
- βοΈ User-Friendly Settings: Configure maximum results, WSL distro (Ubuntu/Debian), and shell (zsh/bash) through Flow Launcher's built-in settings UI
- π Smart Filtering: Searches both filenames and directory names with fuzzy matching
Before installing this plugin, ensure you have the following components properly configured:
Component | Version | Purpose |
---|---|---|
Windows | 10 (Build 19041+) or 11 | Host operating system |
WSL 2 | Latest | Windows Subsystem for Linux |
Ubuntu/Debian | 20.04+ | WSL distribution (user-selectable) |
Flow Launcher | v1.20+ | Plugin host application |
fd | Latest | Fast file finder (installed in WSL) |
- Windows Terminal - Enhanced terminal experience for WSL integration
- Zsh or Bash - Modern shells (user-selectable; plugin works with both)
First, ensure WSL is properly installed and your preferred distribution (Ubuntu or Debian) is installed:
# Check WSL status
wsl --status
# List installed distributions
wsl --list --verbose
# Set Ubuntu as default (if needed)
wsl --set-default Ubuntu
Open your WSL Ubuntu terminal and install the fd
file finder:
# Update package lists
sudo apt update
# Install fd-find package
sudo apt install fd-find
# Create a symlink for easier access (Ubuntu names it 'fdfind')
mkdir -p ~/.local/bin
ln -sf "$(command -v fdfind)" ~/.local/bin/fd
# Add local bin to PATH
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
# OR if using zsh:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
# Reload shell configuration
source ~/.bashrc # or source ~/.zshrc
Verify fd installation:
# Test fd is working
fd --version
cd ~
fd "test" --type f --max-results 5
- Download Flow Launcher from https://www.flowlauncher.com/
- Install and run the application
- Complete the initial setup wizard
- Open Flow Launcher (
Alt + Space
) - Type
pm install wsl file search
- Select the plugin and press Enter to install
- Download the latest release from the GitHub releases page
- Extract the plugin files to:
%APPDATA%\FlowLauncher\Plugins\WSL File Search\
- Restart Flow Launcher
- Open Flow Launcher settings (
Alt + Space
, then typesettings
) - Navigate to Plugins β WSL File Search
- Configure your preferred Max Results (5, 10, 15, 20, 30, or 50)
- Select your WSL Distro (Ubuntu or Debian)
- Select your Shell (zsh or bash)
- Click Save
- Open Flow Launcher with
Alt + Space
- Type
wslf
followed by your search term - Example:
wslf config
to find configuration files
wslf docker # Find Docker-related files
wslf .env # Find environment files
wslf package.json # Find Node.js package files
wslf *.py # Find Python files
wslf src/ # Find directories named 'src'
Action | Shortcut | Description |
---|---|---|
Open in Explorer | Enter |
Opens the file/folder in Windows File Explorer |
Open in Terminal | Right Arrow + Enter |
Opens containing directory in Windows Terminal (WSL) |
Context Menu | Right Click or Ctrl + Enter |
Shows additional actions |
- Fuzzy Search:
wslf confg
will still findconfig.txt
- Path Search:
wslf home/user/docs
searches within specific paths - Extension Filter:
wslf .js
finds all JavaScript files - Directory Search:
wslf src/
specifically finds directories
Access plugin settings through Flow Launcher's settings panel:
Settings Location:
%APPDATA%\FlowLauncher\Settings\Plugins\WSL File Search\Settings.json
Available Options:
{
"max_results": "20",
"distro": "Ubuntu",
"shell": "zsh"
}
Setting | Type | Options | Default | Description |
---|---|---|---|---|
max_results |
string | "5", "10", "15", "20", "30", "50" | "5" | Maximum search results displayed |
distro |
string | "Ubuntu", "Debian" | "Ubuntu" | WSL distribution to use for search and terminal |
shell |
string | "zsh", "bash" | "zsh" | Shell to use in Windows Terminal context menu |
For power users, you can modify the search behavior by editing the plugin's main.py
file:
# Modify the fd command parameters
cmd = (
f"wsl bash -c \"command -v fd >/dev/null 2>&1 "
f"&& fd '{query}' ~ --type f --hidden --no-ignore | head -n {max_results}\""
)
Available fd flags:
--type f
- Files only--type d
- Directories only--hidden
- Include hidden files--no-ignore
- Ignore .gitignore rules--case-sensitive
- Case-sensitive search
Problem: Plugin returns no results despite files existing.
Solutions:
# Verify fd is installed and accessible
wsl bash -c "command -v fd"
# Test fd directly in WSL
wsl bash -c "fd 'test' ~"
# Check PATH includes ~/.local/bin
wsl bash -c "echo \$PATH"
Problem: Context menu "Open in Windows Terminal" fails.
Solutions:
- Install Windows Terminal from Microsoft Store
- Verify Ubuntu profile exists:
// In Windows Terminal settings.json { "guid": "{your-ubuntu-guid}", "name": "Ubuntu", "source": "Windows.Terminal.Wsl" }
Problem: Plugin isn't recognized after installation.
Solutions:
- Verify plugin files are in correct directory:
%APPDATA%\FlowLauncher\Plugins\WSL File Search\ βββ main.py βββ plugin.json βββ icon.png βββ Settings.json
- Restart Flow Launcher completely
- Check Flow Launcher logs for errors
Problem: Searches take too long to complete.
Solutions:
- Reduce
max_results
in settings - Use more specific search terms
- Ensure WSL 2 is being used (not WSL 1)
- Consider excluding large directories:
# Add to ~/.fdignore in WSL node_modules/ .git/ __pycache__/
To enable detailed logging:
- Edit
main.py
and add debug prints - Run Flow Launcher from command line to see output:
"%APPDATA%\FlowLauncher\app\FlowLauncher.exe"
If you encounter issues:
- Check the logs:
%APPDATA%\FlowLauncher\Logs\
- Verify prerequisites: Ensure all components are properly installed
- Test WSL directly: Run fd commands manually in WSL
- Report bugs: GitHub Issues
We welcome contributions! Here's how to get started:
-
Clone the repository:
git clone https://github.com/Sajxx/Flow.Launcher.Plugin.WSLSearch.git cd Flow.Launcher.Plugin.WSLSearch
-
Install development dependencies:
pip install flowlauncher
-
Link plugin for testing:
mklink /D "%APPDATA%\FlowLauncher\Plugins\WSL File Search Dev" "C:\path\to\your\clone"
- Follow PEP 8 for Python code
- Use descriptive variable names
- Add comments for complex logic
- Test on both WSL 1 and WSL 2
- Fork the repository
- Create a feature branch
- Make your changes with tests
- Submit a pull request
This project is licensed under the MIT License. See LICENSE file for details.
- Flow Launcher - Excellent launcher platform
- fd - Lightning-fast file finder
- Microsoft WSL Team - Making Linux on Windows seamless
- Contributors - Thanks to everyone who has contributed to this project
- Documentation: This README and inline code comments
- Issues: GitHub Issues Page
- Discussions: GitHub Discussions
- Flow Launcher Community: Flow Launcher Discord
Made with β€οΈ for the Flow Launcher and WSL communities