https://github.com/kafuexe/slickflow
FlowLuancher Extention that enables users to add commands and aliases similar to slickrun
https://github.com/kafuexe/slickflow
csharp flowlauncher flowlauncher-plugin luancher macros productivity slickrun
Last synced: about 2 months ago
JSON representation
FlowLuancher Extention that enables users to add commands and aliases similar to slickrun
- Host: GitHub
- URL: https://github.com/kafuexe/slickflow
- Owner: kafuexe
- License: mit
- Created: 2025-10-31T21:50:21.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2026-05-23T18:55:17.000Z (about 2 months ago)
- Last Synced: 2026-05-23T20:25:05.992Z (about 2 months ago)
- Topics: csharp, flowlauncher, flowlauncher-plugin, luancher, macros, productivity, slickrun
- Language: C#
- Homepage:
- Size: 290 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Flow.Launcher.Plugin.SlickFlow
A lightweight productivity plugin for [Flow Launcher](https://github.com/Flow-Launcher/Flow.Launcher) that lets you create, manage, and launch **custom shortcuts and aliases** for applications, scripts, or files — all from the Flow search bar.
---
## 🚀 Features
- 🧠 **Instant search** for custom aliases and app names
- ⚙️ **Run executables** with arguments and optional admin privileges
- 🏷️ **Add, remove, update aliases** directly from Flow
- 🖼️ **Custom icons** per item (local file or URL)
- 🔗 **Meta items** — one alias that chains and launches several others
- 🧩 **Parameterized items** — `<>` placeholders with a guided prompt UX
- 🪟 **Window mode** control (normal / minimized / maximized) and working directory
---
## Commands
> Every command that targets an existing item accepts **either an alias or the item's numeric `id`**.
#### ➕ Add a new item
```bash
add [args...] [runas]
```
- Multiple aliases separated by `|`
- `` can be an executable, a path, or an `http(s)://` URL
- Optional `args` are forwarded to the process
- Optional trailing `runas = 1` runs the item as Administrator
#### 🏷️ Add aliases to an existing item
```bash
alias
```
Adds one or more new aliases to an item that already exists. Duplicates are ignored. Use this when you want a second/third name for an item without re-creating it.
#### 🗑️ Remove a single alias
```bash
remove
```
Deletes the specified alias from its associated item. If the item only has one alias left, use `delete` instead — `remove` refuses to leave an item nameless.
#### ❌ Delete an entire item
```bash
delete
```
Removes the item and **all** aliases associated with it.
#### ✏️ Update item properties
```bash
update [ ...]
```
Updates one or more properties on an existing item. You can pass several `property value` pairs in a single command.
Supported properties:
| Property | Description |
| --------------------- | -------------------------------------------------------------------- |
| `args` / `arguments` | Command-line arguments passed to the process |
| `runas` | `1` = run as Administrator, `0` = normal |
| `startmode` | Window state: `0` = Normal, `1` = Minimized, `2` = Maximized |
| `subtitle` | Subtitle text shown under the item in Flow results |
| `workingdir` / `workdir` | Working directory for the launched process |
> To change the target file/URL itself, `delete` and re-`add` the item (the file path is not editable via `update`).
#### 🖼️ Set a custom icon
```bash
seticon
```
Assigns a custom icon to the item. The source can be a local file (e.g. `C:\icons\my.png`) or a URL — the plugin downloads and caches it locally.
---
## 🔗 Meta items (alias chains)
A **meta item** is an item whose "file" is a list of other aliases wrapped in `@` markers. Launching a meta item executes every alias in the chain (depth-first), so a single keyword can fire off a whole workspace.
Syntax:
```bash
add @@@@@@
```
Example — one alias that opens your editor, terminal, and browser tab:
```bash
add work @code@@term@@docs@
```
Meta items can reference other meta items; the chain is cycle-safe (re-entering an ancestor throws cleanly) and unresolved aliases are reported instead of silently skipped.
---
## 🧩 Parameterized items (placeholders)
Embed placeholders inside `FileName` or `arguments` to be prompted for values when launching.
Syntax:
```
<>
<>
<>
<>
```
- `name` — the parameter name (required, cannot contain `< > = |`)
- `default` — optional default value
- `hint` — optional hint shown beside the prompt
When you launch a parameterized item, SlickFlow enters **prompt mode**: it rewrites the Flow search bar to a guided template and walks you through each placeholder. Press `Enter` to advance to the next one; press `Enter` on the last placeholder to launch.
Prompt-mode query format (you don't type this by hand — SlickFlow builds it for you):
```
| filled1=value1 | filled2=value2 | currentName: your input here
```
Examples:
```bash
# A parameterized URL — prompts for "query"
add g "https://google.com/search?q=<>"
# Defaults: "port" defaults to 8080 unless overridden
add serve "python -m http.server <>"
# Combine with meta items — placeholders from every leaf are collected,
# deduplicated by name, and prompted in order.
add devstack @api@@web@
```
---
## 📚 Examples
```bash
# Simple shortcuts
add note|notepad notepad.exe
add admincmd cmd.exe "" 1
# URLs
add yt|youtube "https://youtube.com"
# Update properties on an existing item
update yt args "--new-window"
update yt subtitle "Open YouTube" startmode 2
# Add another alias to an existing item
alias yt tube|video
# Custom icon (from a URL)
seticon yt "https://www.youtube.com/favicon.ico"
# Meta item that fires several aliases at once
add work @code@@term@@docs@
# Parameterized item with default + hint
add gh "https://github.com/search?q=<>"
# Cleanup
remove note
delete notepad
```
---
Author: Kafu
License: MIT
Version: 1.0.0