Flow.Launcher Documentation

Mag: Quick file search & app launcher for Windows with community-made plugins

RAW Doc

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

โš ๏ธ 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

text
winget install "Flow Launcher"

Scoop

text
scoop install Flow-Launcher

Chocolatey

text
choco install Flow-Launcher

When 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

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

  • English
  • ไธญๆ–‡
  • ไธญๆ–‡๏ผˆ็นไฝ“๏ผ‰
  • ะฃะบั€ะฐั—ะฝััŒะบะฐ
  • ะ ัƒััะบะธะน
  • Franรงais
  • ๆ—ฅๆœฌ่ชž
  • Dutch
  • Polski
  • Dansk
  • de, Deutsch
  • ko, ํ•œ๊ตญ์–ด
  • Srpski
  • ะกั€ะฟัะบะธ
  • Portuguรชs
  • Portuguรชs (Brasil)
  • Spanish
  • es-419, Spanish (Latin America)
  • Italiano
  • Norsk Bokmรฅl
  • Slovenฤina
  • Tรผrkรงe
  • ฤeลกtina
  • ุงู„ู„ุบุฉ ุงู„ุนุฑุจูŠุฉ
  • Tiแบฟng Viแป‡t
  • ืขื‘ืจื™ืช
  • Portable

    • Fully portable.
    • Type flow user data to 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 location to open your logs folder, they are saved along with your user settings folder.

    ๐ŸŽฎ 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)

    [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 pm install/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:

    1. System plugin
      Those plugins that action keyword is "*", those plugin doesn't need action keyword
    2. 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.

    Steps to add more information about your plugin

    1. 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 use cool-feature-plus as the slug. This will be used in the URL, e.g.,
      www.flowlauncher.com/plugins/cool-feature-plus or
      www.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.

    1. Create a new file in the src/data/plugins/YOUR_SLUG/ directory, call the file plugin.md and 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
      ---
    2. 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:

      markdown
      This 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:
    3. 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 file YYYY-MM-DD_blog-post-slug.md (the file must have its
      name in format YYYY-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.
    4. 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:

      bash
      npm install
      npm run dev

      This 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 the master branch and push
      it. You should see your action running on GitHub, and if you click on it, you should see two steps: build and
      deploy. Under deploy, there will be a link to the preview of your changes.

    5. 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.

    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.