1. Project Overview & Quickstart (Flow-Launcher/Flow.Launcher)
File: README.md
[Official Channels](#-official-channels) โข [Getting Started](#-getting-started) โข [Features](#-features) โข [Plugins](#-plugins) โข [Hotkeys](#%EF%B8%8F-hotkeys) โข [Sponsors](#sponsors) โข [Questions/Suggestions](#-questionssuggestions) โข [Development](#development) โข [Docs](https://flowlauncher.com/docs)
๐ฃ Official Channels
- Website: https://flowlauncher.com
- GitHub Organization: https://github.com/Flow-Launcher
- Discord: https://discord.gg/AvgAQgh
- Reddit: https://www.reddit.com/r/FlowLauncher/
โ ๏ธ Only trust official channels for downloads and announcements, and be careful of similar-looking domains.
For installation, use the official methods listed below.
๐ Getting Started
Installation
Windows 10+ Installer or Portable Version
Winget
winget install "Flow Launcher"Scoop
scoop install Flow-LauncherChocolatey
choco install Flow-LauncherWhen installing for the first time Windows may raise an issue about security due to code not being signed, if you downloaded from this repo then you are good to continue the set up.
Or download the early access version.
๐ Features
Applications & Files
Search for apps, files or file contents.
Supports Everything and Windows Index.
Supports search using environment variable paths.
Web Searches & URLs
Browser Bookmarks
System Commands
- Provides system related commands. shutdown, lock, settings, etc.
- System command list
Calculator
- Do mathematical calculations and copy the result to clipboard.
Shell Command
- Run batch and PowerShell commands as Administrator or a different user.
- Ctrl+Shift+Enter to Run as Administrator.
Explorer
- Save file or folder locations for quick access.
Windows & Control Panel Settings
- Search for Windows & Control Panel settings.
Dialog Jump
- Search for a file/folder and quickly jump to its path in the Open/Save As dialog window.
- Use Alt+G to quickly jump the Open/Save As dialog window path to the path of the active file manager.
Drag & Drop
- Drag a file/folder to File Explorer, or even Discord.
- Copy/move behavior can be changed via Ctrl or Shift, and the operation is displayed on the mouse cursor.
Priority
- Prioritize the order of each plugin's results.
Preview Panel
- Use F1 to show or hide previews
- Results can preview media files as large images, show an icon and description, or use markdown with code highlighting.
- Show previews by default via Settings (Always Preview).
- Use Ctrl++/- and Ctrl+[/] to adjust search window width and height quickly if the preview area is too narrow.
Customizations
Window size adjustment, animation, and sound
Color Scheme (aka Dark Mode)
There are various themes and you also can make your own.
Date & Time Display In Search Window
- Display date and time in search window.
๐ฌ Languages
- Supports languages from Chinese to Italian and more.
- Supports Pinyin (ๆผ้ณ) search.
- Crowdin support for language translations.
Supported languages
Portable
- Fully portable.
- Type
flow user datato open your saved user settings folder. They are located at:- If using roaming:
%APPDATA%\FlowLauncher - If using portable, by default:
%localappdata%\FlowLauncher\app-<VersionOfYourFlowLauncher>\UserData - Type
open log locationto open your logs folder, they are saved along with your user settings folder.
- If using roaming:
๐ฎ Game Mode
- Pause hotkey activation when you are playing games.
- When in search window use Ctrl+F12 to toggle on/off.
- Type
Toggle Game Mode
๐ฆ Plugins
- Support wide range of plugins. Visit here for our plugin portfolio.
- Publish your own plugin to Flow! Create plugins in:
[SpotifyPremium](https://github.com/fow5040/Flow.Launcher.Plugin.SpotifyPremium)
[Steam Search](https://github.com/Garulf/Steam-Search)
[Clipboard+](https://github.com/Jack251970/Flow.Launcher.Plugin.ClipboardPlus)
[Home Assistant Commander](https://github.com/Garulf/HA-Commander)
[Colors](https://github.com/Flow-Launcher/Flow.Launcher.Plugin.Color)
[GitHub](https://github.com/JohnTheGr8/Flow.Plugin.Github)
[Window Walker](https://github.com/taooceros/Flow.Plugin.WindowWalker)
......and more!
๐ Plugin Store
You can view the full plugin list or quickly install a plugin via the Plugin Store menu inside Settings
or type
pminstall/uninstall/update+ the plugin name in the search window,
โจ๏ธ Hotkeys
| Hotkey | Description |
|---|---|
| Alt+Space | Open search window (default and configurable) |
| Enter | Execute |
| Ctrl+Enter | Open containing folder |
| Ctrl+Shift+Enter | Run as admin |
| โ/โ, Shift+Tab/Tab | Previous / Next result |
| โ/โ | Back to result / Open Context Menu |
| Ctrl+O , Shift+Enter | Open Context Menu |
| Ctrl+Tab | Autocomplete |
| F1 | Toggle previews |
| Esc | Back to results / hide search window |
| Ctrl+C | Copy folder / file |
| Ctrl+Shift+C | Copy folder / file path |
| Ctrl+I | Open Flow's settings |
| Ctrl+R | Run the current query again (refresh results) |
| F5 | Reload all plugin data |
| Ctrl+F12 | Toggle Game Mode when in search window |
| Ctrl++,- | Adjust maximum results shown |
| Ctrl+[,] | Adjust search window width |
| Ctrl+H | Open search history |
| Ctrl+Backspace | Back to previous directory |
| PageUp/PageDown | Previous / Next Page |
System Command List
| Command | Description |
|---|---|
| Shutdown | Shutdown computer |
| Restart | Restart computer |
| Restart With Advanced Boot Options | Restart the computer with Advanced Boot option for safe and debugging modes |
| Log Off/Sign Out | Log off |
| Lock | Lock computer |
| Sleep | Put computer to sleep |
| Hibernate | Hibernate computer |
| Empty Recycle Bin | Empty recycle bin |
| Open Recycle Bin | Open recycle bin |
| Exit | Close Flow Launcher |
| Save Settings | Save all Flow Launcher settings |
| Restart Flow Launcher | Restart Flow Launcher |
| Settings | Tweak this app |
| Reload Plugin Data | Refreshes plugin data with new content |
| Check For Update | Check for new Flow Launcher update |
| Open Log Location | Open Flow Launcher's log location |
| Index Option | Open Windows Search Index window |
| Flow Launcher Tips | Visit Flow Launcher's documentation for more help and usage tips |
| Flow Launcher UserData Folder | Open the location where Flow Launcher's settings are stored |
| Toggle Game Mode | Toggle Game Mode |
| Set Flow Launcher Theme | Set the Flow Launcher Theme |
๐โโ๏ธ Tips
Sponsors
Mentions
โ Questions/Suggestions
Yes please, let us know in the Q&A section. Join our community on Discord!
Development
Localization
Our project localization is based on Crowdin. If you would like to change them, please go to https://crowdin.com/project/flow-launcher.
WPF UI Library
Our UI library is using iNKORE.UI.WPF.Modern.
New Changes
All changes to Flow are captured via pull requests. Some new changes may have been merged but are still pending release. This means that while a change may not exist in the current release, it may have been accepted and merged into the dev branch and is available as a pre-release download. It is therefore a good idea to search through the open and closed pull requests before you start to make changes to ensure the change you intend to make is not already done.
Each of the pull requests will be marked with a milestone indicating the planned release version for the change.
Contributing
Contributions are very welcome, in addition to the main project (C#) there are also documentation (md), website (html/css) and others that can be contributed to. If you are unsure of a change you want to make, let us know in the Discussions, otherwise feel free to submit a pull request.
You will find the main goals of Flow placed under the Projects board, so feel free to contribute on that. If you would like to make small incremental changes, feel free to do so as well.
Get in touch if you would like to join the Flow-Launcher Team and help build this great tool.
Developing/Debugging
Flow Launcher's target framework is .Net 9
Install Visual Studio 2022 (v17.12+)
Install .Net 9 SDK
- via Visual Studio installer
- via winget
winget install Microsoft.DotNet.SDK.9 - Manually from here
File: Flow.Launcher.Core/Plugin/README.md
There are two kinds of plugins:
- System plugin
Those plugins that action keyword is "*", those plugin doesn't need action keyword - User Plugin
Those plugins that contains customized action keyword
File: Flow.Launcher.Core/README.md
What does Flow.Launcher.Core do?
- Handle Query
- Define Flow.Launcher exceptions
- Manage Plugins (including system plugin and user plugin)
- Manage Themes
- Manage i18n
- Manage Update and version
File: Flow.Launcher.Plugin/README.md
Reference this package to develop a plugin for Flow Launcher.
Useful links:
File: Plugins/Flow.Launcher.Plugin.WindowsSettings/README.md
Flow.Launcher.Plugin.WindowsSettings
Ported from PowerToys WindowsSettings plugin
File: Plugins/Flow.Launcher.Plugin.ProcessKiller/Readme.md
Process Killer Plugin
A Flow-Launcher plugin that allows you to kill running processes.
Based on Wox.Plugin.ProcessKiller, originally created by cxfksword and improved by theClueless.
2. Official Technical Reference & Guides (Flow-Launcher/flow-launcher.github.io)
Flow Launcher website
This repository contains the source code for the Flow Launcher website. It also contains the extended plugin store.
What is Flow Launcher?
Flow Launcher is a free, open-source productivity tool for Windows that helps you access your files and applications
quickly, run system commands, do mathematical calculations, and more. Learn
more on the website
or in the GitHub repository.
Adding plugin data
Why add plugin data to the website?
You can completely ignore the website, and your plugin will still be visible there and in the plugin store inside Flow
Launcher. However, adding more data to the website can help users learn more about your plugin, see images and videos of
it in action, and read blog posts about it. This can help users decide whether to install your plugin and can help you
communicate updates and new features to your users. If you don't want to add more data to the website, that's completely
fine, the website will still display the following information about your plugin:
- Icon
- Name
- Author
- Description
- Version
- Programming language
- Latest release date
- Source code link
Prerequisites
- Your plugin must be approved and added to the
Flow.Launcher.PluginsManifest repository. - Use .png or .jpg for images. Videos should be YouTube links only.
- You need to fork this repository. After that, you will either:
- Clone the fork to your computer and work with it locally using any text editor or IDE of your choice, such as
Notepad++, Visual Studio Code, or JetBrains IDEs, - Or you can edit the files directly on GitHub. If you choose to edit the files directly on GitHub, you can skip the
steps that involve cloning the repository and running the website locally.
- Clone the fork to your computer and work with it locally using any text editor or IDE of your choice, such as
Steps to add more information about your plugin
- Think of a "slug," a unique readable string based on the name of your plugin. This will be used in the URL. If your
plugin is called "Cool Feature+," you might usecool-feature-plusas the slug. This will be used in the URL, e.g.,www.flowlauncher.com/plugins/cool-feature-plusorwww.flowlauncher.com/plugins/cool-feature-plus/blog/exciting-new-update. The slug will also be used as the name of
the directory your plugin's files are stored in in this repository.
[!NOTE]
We might have pre-created the folder and the file for you in order to add tags for your plugin. If you'd like to
change it, feel free to rename the folder, the file, and the slug field in the file.
Create a new file in the
src/data/plugins/YOUR_SLUG/directory, call the fileplugin.mdand fill it with the
following information:markdown--- # This should match the ID in the plugin manifest id: 7fbfd61f-0b9c-480d-93e8-59e3451bbbdf # Replace this with the ID of your plugin # Optional array of videos to display on your plugin's page. Only YouTube links are # supported. Videos are always displayed before images. videos: - https://www.youtube.com/watch?v=VIDEO_ID - https://www.youtube.com/watch?v=ANOTHER_VIDEO_ID # Optional array of images to display on your plugin's page. Images should be stored near # YOUR_SLUG.md, for example, in src/data/plugins/YOUR_SLUG/images/ images: # The path to the images is relative. If it's in the same directory as the .md file, # you don't need to specify a path, just the file name. If it's in a subdirectory, # you need to specify the path. - image1.png - images/image2.png # Optional array of tags to display on your plugin's page. These should be relevant to your # plugin. Allowed values are: AI, Automation, Browser Tools, Calculators & Converters, Date & Time, # Development Tools, Dictionaries, Documentation, Examples, File Management, Gaming, Multimedia, Networking, # Notes, Productivity, Programming, Search, System, Text Tools, Translation, Social Media, Utilities tags: - Automation - Programming ---Add a new line after this block. Now you can write a description of your plugin using Markdown. You can also display
images here using Markdown syntax. For example:markdownThis plugin adds a variety of very cool features. Let's take a look at them! ## Feature 1 This feature is super cool. It does cool things. Here's a screenshot: ## Feature 2 This feature is even cooler. It does even cooler things. Here's another screenshot:If you'd like to write more about the plugin, you can utilize the blogging functionality. Create a new file in the
src/data/plugins/YOUR_SLUG/blog/directory, call the fileYYYY-MM-DD_blog-post-slug.md(the file must have its
name in formatYYYY-MM-DD_blog-post-slug.md) and fill it with the following information:markdown--- # This should be a unique readable string. It will be used in the URL, # e.g., `/plugins/my-cool-plugin/blog/my-blog-post` slug: my-blog-post # The title of your blog post title: Your Blog Post Title # A short summary of your blog post summary: A short summary of your blog post # The date of your blog post in ISO 8601 format. A few examples: # 2024-12-30T12:55:34Z # 2024-12-30T12:55:34+06:00 date: YYYY-MM-DDTHH:mm:ssZ # Replace this with the date of your blog post # The author of your blog post author: John Doe --- # Your blog post content goes here This is a blog post about my plugin. It's very cool.Optional. If you'd like to test your changes before making a pull request, you can run the website locally. To do
this, you'll need to have Node.js v22 or newer installed. Once you have Node.js installed, you can run the following
commands in the root directory of this repository:bashnpm install npm run devThis will start a local development server that you can access at
http://localhost:4321.Alternatively, if you don't want to run it locally but still want to see how your changes will look, you can use the
GitHub Actions workflow to build the website and preview it. To do this, go to your fork's Actions tab on GitHub and
press "I understand my workflows, go ahead and enable them", then commit your changes to themasterbranch and push
it. You should see your action running on GitHub, and if you click on it, you should see two steps:buildanddeploy. Underdeploy, there will be a link to the preview of your changes.Once you're happy with your changes, commit them and open a pull request. A maintainer will review your changes and
merge them if everything looks good. Your changes should be live on the website shortly after they are merged.
Licensing Notice
This project is licensed under the MIT License. However, it includes Font Awesome Free icons, which are subject to their
own license.
- Font Awesome Free License: https://fontawesome.com/license/free
The Font Awesome Free icons used in this project are provided under the Creative Commons Attribution 4.0 International
(CC BY 4.0) license. See the link above for details.