Flow.Launcher
Flow.Launcher copied to clipboard
Improvement to "Set as topmost in this query" UX - Having a simple editor to manage queries.
Is your feature request related to a problem? Please describe.
I believe the "Set topmost for this query" feature is one of Flow Launcher's most powerful tools. It significantly improves workflow and productivity. However, I find it confusing that there isn't a dedicated menu in the settings to view and manage all topmost queries. Currently, there’s no easy way to keep track and manage which queries have been set.
I am so much more efficient thanks to this feature.
Describe the solution you'd like
We already have an interface that could be repurposed to manage topmost queries. For example:
This view could be expanded to include a “Topmost Queries” section alongside Quick Access links.
A dedicated menu for topmost queries would make it much easier to:
- View all current topmost entries
- Edit or remove them
- Add new ones manually
Describe alternatives you've considered
- I’ve tried editing the config files directly, but they seem to revert and don’t behave predictably after changes.
- The current workaround is quite tedious and involves multiple steps:
- Find the app/file via the launcher
- Add it to Quick Access links
- Reduce the query until the app disappears from results
- Set the last matching query as topmost to boost its ranking
- Repeat until the desired keyword (e.g. “ps” for Photoshop) works as expected
- Remove it from Quick Access to avoid clutter Needless to say, this process is time-consuming and unintuitive. A settings page for topmost queries would streamline this dramatically.
Thank you for considering this request — it would save a lot of time and greatly enhance an already excellent feature. 🙏
📝 EDIT: June 6th 2025
I tried modifying a topmost query the way OneSounds mentionned.
- Setting a file as topmost
- Changing the name of the file (
Send - BlueWorkNow.bat->Send - BlueWorkNao.bat) - The query is confirmed invalid -- breaks the topmost
- Opening
TopMostRecord.json - Deleting
TopMostRecord.json.bak-- to ensure FlowLauncher has only 1 source of truth - Closing Flow Launcher -- to ensure it can't revert the changes
- Manually modifying the entry
"bl": {
"Title": "Send - BlueWorkNao.bat",
"SubTitle": "W:\\PATH\\TO\\FILE",
"PluginID": "572be03c74c642baae319fc283e561a8"
}
- Save and Relaunch Flow Launcher
- The query is still invalid, despite now being correct in
TopMostRecord.json - Add the file to QuickAccess --
Send - BlueWorkNao.bat - The Topmost now works.
So anything that would make this not take that many steps and time would be greatly appreaciated. 🙏
I want this as well, such a nice feature for productivity, and i am quite shocked why its not in the plugin page.
Short Answer
- Please fully exit Flow before editing the settings file.
If Flow is still running, it will overwrite the file with its in-memory values when it closes. - The Quick Access step I previously mentioned is actually unnecessary.
- I will review this idea more thoroughly.
Long Answer
I have actually been considering a way to manage the topmost list for quite some time. There are several factors to take into account:
- Since this feature applies to all plugin results, the management UI should exist outside of individual plugin pages such as the Explorer plugin.
- The core issue behind this request is that the current result list doesn’t always reflect the user’s actual intent.
If the result ranking system were perfect, the need for this feature would be significantly reduced. - One of the advantages of the current topmost mechanism is that it typically requires no maintenance.
Although it may seem necessary to manage the list, in practice, once an entry is added, there's rarely a reason to review or modify it.
Most users don't even need to remember what they’ve added. - The real inconvenience is having to manually locate and topmost an item like "Photoshop" after entering a short query like
ps.
Ultimately, this request is about mapping a specific query to a specific result.
In that sense, it's conceptually very similar to a custom query system — for example, having @ps directly resolve to C:\Program Files\Adobe\Photoshop\Photoshop.exe.
Let’s imagine a more advanced feature:
“When I type
magic, I want to seePhotoshop,Paint, andGIMPin that order.
I want to be able to edit this list, adjust the order, and optionally choose whether or not to display normal search results below it.”
If such a feature were available, users would no longer need to edit the topmost list, as this would be a more powerful and flexible solution.
Alternatively, the real issue may simply be that it's difficult to find the desired result after typing something like ps.
In that case, a filtering or sorting UI could help — for example, letting users toggle filters such as “Programs only,” “Recent,” or “By name” using a sidebar or keyboard shortcuts.
This would make it much easier to locate and topmost the desired item.
In any case, I understand the need for this functionality.
If we do not end up building a more advanced system, then even a simple topmost editor could be helpful.
It wouldn’t necessarily require a full UI — even a basic text field under a "Developer Tools" section might suffice.
I’ll give this some more thought.
Thank you for such a thoughtful and thorough response 🙏 You evidently have thought about this issue way deeper than I have. Genuinely refreshing to see.
- Yes, I agree that "Topmost in this query" is a fast track to having a search result reflective of the user's intent. Instead of waiting for analytics to catch up and re-rank results based on usage, the user simply says: This should be number one, end of story.
- I also agree that maintenance is rarely needed with the current system. Though I’d argue that this is more due to user behavior than the system itself. I'm guessing many Flow users likely have stable, well-optimized workflows, which naturally reduces the need for regular adjustments. In that sense, the low maintenance burden might reflect correlation rather than causation — though your broader point absolutely stands: once configured, most users don’t need to revisit it.
Ultimately, this request is about mapping a specific query to a specific result.
Yes — 100%. That line nails the core issue.
I think the example of your "Magic" keyword is exactly what this should evolve into. Additional reordering of the results feels to me like the workaround to compensate for imperfect ranking. Enabling users to define explicit behaviors (like “magic → Photoshop, Paint, GIMP”) is a cleaner and more scalable solution.
With this in mind, I believe the best path forward might look like this:
- A temporary, lightweight solution that improves the current topmost system while also serving as a scaffold. (Fixes the issue)
- A more fleshed out “query mapping” feature that supports custom result lists and order — as illustrated in your “magic” example. (Adds a new feature)
I'm glad to hear that you understood where I was coming from — thank you. As for the "magic" query, it was just an undeveloped idea and meant only as an example. There are many reasons why I haven’t actively pursued implementing it, despite having the concept. So please don’t focus too much on that part. For now, I’m working on something similar that can serve as a more practical short-term alternative.
I'm thinking on a plugin called Home. Some plugins will have a "Pin to Home" context menu, and the Home plugin will automatically display all pinned files, folders, and URLs. This plugin will likely need to support manual sorting as well.
Building on that idea, I’m implementing a feature where a specific plugin can show results automatically when Flow starts with an empty query. Internally, we’ve been calling this the Home Page feature.
The Home plugin can be triggered using a specific action keyword, or be configured as a Home Page to auto-display when Flow launches — similar to the Start Menu in Windows or Home in Fluent Search. If it can be triggered by a keyword, it could essentially function the same way as the "magic" idea — but with much more intuitive list management and reordering. This alone should cover many of the usability concerns you've raised.
This part is a continuation of the thoughts above. I'm leaving it here for @Jack251970 .
That said, this approach still assumes only one list per keyword, which may be limiting.
I’ve been thinking about making this system more flexible.
For example:
- When triggered by the
homepagefeature → show list A, B - When using
magic→ show list A, B, C, D, E - When using
magic2→ show A, B, C - When using
abracadabra→ show D, C, E, F
There will be users who want this level of control. And eventually, they’ll want to edit and manage all these lists too.
So I’ve been wondering — should this be implemented separately from the Home plugin?
If we consider future scenarios, like:
- Defining custom actions or automations (like a Workflow system)
- Triggering a single file from a keyword (rather than showing a list)
- Customizing actions per keyword...
Then yes, separating it from Home seems like the more future-proof path.
That’s why I’ve come to realize this isn’t a simple decision. If I casually build the Home plugin without thinking this through, I’ll likely face a major headache when trying to add more advanced features later. This is usually the point where I give up thinking and launch League of Legends. (Incidentally, one of our team members has a habit of doing the same — when he hits a wall after reviewing an issue, he launches League. He currently has it running at all times.)
@onesounds This plugin should be possible to be implemented since we already introduced IHomeQuery interface
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 60 days.\n\nAlternatively this issue can be kept open by adding one of the following labels:\nkeep-fresh