launcher: add vpn connections as a search provider - #3391
Open
avesst wants to merge 1 commit into
Open
Conversation
Adds a dms_vpn built-in launcher plugin that lists every configured VPN profile and toggles it on enter. Connected rows show a lock icon and a Connected badge, in-progress rows show Connecting, everything else shows a crossed-out key. Profiles come from the network state the shell already fetches at startup, so there is no new timer, process or request. The provider returns nothing when the backend is not NetworkManager. It ships without a trigger. A trigger prefix replaces the whole result set, so claiming "vpn" would have hidden every application whenever someone typed it to find their VPN client. Matching on the vpn keyword instead keeps apps and profiles in the same list. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
avesst
marked this pull request as ready for review
September 10, 2026 19:25
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds a
dms_vpnbuilt-in launcher plugin that indexes every configured VPN profile and toggles it on enter, so a VPN can be brought up or down without leaving the keyboard.Rows reflect connection state: connected profiles get a lock icon and a Connected badge, in-progress ones show Connecting..., the rest get a crossed-out key. The subtitle is the connection type (WireGuard, OpenVPN, and so on), which is also matched when searching.
Profiles come from
DMSNetworkService.profiles, which is populated from the network state the shell already fetches at startup. No new timer, process, subscription or request is introduced, and nothing runs while the launcher is closed. The provider returns nothing when the backend is not NetworkManager.Toggling reuses the existing
toggleVpn, the same call the Control Center VPN list uses, so credential prompts and error toasts behave identically.Two notes on the design:
vpnwould have hidden every application whenever someone typed it to find their VPN client, and would have produced an empty launcher on iwd or wpa_supplicant. Matching on avpnkeyword instead keeps applications and profiles in one list. A trigger can still be set per user in Settings.activatinganddeactivatingin the active connection list, so testing only foractivatedwould have shown a connection still coming up as disconnected while enter tore it down.Type of change
Related issues
Closes #3352
Screenshots / video
Disconnected state:
Connected state:
Checklist
I18n.tr()with translator context, reusing existing terms where possibleGo changes: ranN/A — no Go in this PR, QML onlymake fmt, added/updated tests,make testpasses, andgo mod tidyis cleanmake lint-qmlwith no new warningsI have opened a corresponding pull request in dlx-docs to document any new behaviors: https://github.com/AvengeMedia/DankLinux-DocsN/A