From 19dbecef8702f3dcb2f3484405bad8ab5bb39f4e Mon Sep 17 00:00:00 2001 From: Andrew Bradley Date: Fri, 18 Sep 2026 11:41:12 -0400 Subject: [PATCH] Regenerate API docs against v2.1.3 --- .../FilesFolders.md | 22 ++++-- .../FilesFolders/CopyAll.md | 4 +- .../FilesFolders/EnsureTrailingSlash.md | 18 +++++ .../FilesFolders/FileExists.md | 6 ++ .../FilesFolders/FileOrLocationExists.md | 18 +++++ .../FilesFolders/IsZipFilePath.md | 14 ++++ .../FilesFolders/LocationExists.md | 6 ++ .../FilesFolders/OpenFile.md | 22 ++++++ .../FilesFolders/OpenPath.md | 10 ++- .../FilesFolders/PathContains.md | 20 ++++++ .../FilesFolders/RemoveFolderIfExists.md | 10 ++- .../FilesFolders/ResolveAbsolutePath.md | 22 ++++++ .../FilesFolders/TryDeleteDirectoryRobust.md | 24 +++++++ .../FilesFolders/ValidateDataDirectory.md | 19 +++++ .../FilesFolders/ValidateDirectory.md | 18 +++++ .../VerifyBothFolderFilesEqual.md | 11 ++- .../SearchWeb.md | 2 + .../ShellCommand.EnumThreadDelegate.md | 7 ++ .../ShellCommand.md | 8 ++- .../ShellCommand/Execute.md | 11 +-- .../ShellCommand/RunAsDifferentUser.md | 6 ++ .../ShellCommand/SetProcessStartInfo.md | 10 +++ .../MatchResult.md | 12 ++-- .../MatchResult/IsSearchPrecisionScoreMet.md | 2 + .../MatchResult/MatchResult.md | 16 +++++ .../MatchResult/RawScore.md | 2 + .../MatchResult/SearchPrecision.md | 2 + .../MatchResult/Success.md | 2 + .../MonitorInfo.md | 31 ++++++++ .../MonitorInfo/Bounds.md | 18 +++++ .../MonitorInfo/GetCursorDisplayMonitor.md | 18 +++++ .../MonitorInfo/GetDisplayMonitors.md | 18 +++++ .../MonitorInfo/GetNearestDisplayMonitor.md | 22 ++++++ .../MonitorInfo/GetPrimaryDisplayMonitor.md | 18 +++++ .../MonitorInfo/IsPrimary.md | 14 ++++ .../MonitorInfo/Name.md | 14 ++++ .../MonitorInfo/ToString.md | 12 ++++ .../MonitorInfo/WorkingArea.md | 18 +++++ .../SearchPrecisionScore.md | 8 ++- .../ThemeData.md | 28 ++++++++ .../ThemeData/Equals.md | 12 ++++ .../ThemeData/FileNameWithoutExtension.md | 14 ++++ .../ThemeData/GetHashCode.md | 12 ++++ .../ThemeData/HasBlur.md | 14 ++++ .../ThemeData/IsDark.md | 14 ++++ .../ThemeData/Name.md | 14 ++++ .../ThemeData/ThemeData.md | 15 ++++ .../ThemeData/ToString.md | 12 ++++ .../ThemeData/op_Equality.md | 12 ++++ .../ThemeData/op_Inequality.md | 12 ++++ API-Reference/Flow.Launcher.Plugin.md | 71 ++++++++++++------- .../Flow.Launcher.Plugin/ActionContext.md | 4 +- .../ActionContext/SpecialKeyState.md | 2 + .../ActualApplicationThemeChangedEventArgs.md | 20 ++++++ .../ActualApplicationThemeChangedEventArgs.md | 14 ++++ .../IsDark.md | 14 ++++ ...tualApplicationThemeChangedEventHandler.md | 20 ++++++ .../AfterFlowLauncherQueryEventHandler.md | 6 ++ .../Flow.Launcher.Plugin/AllowedLanguage.md | 23 ++++-- .../AllowedLanguage/CSharp.md | 6 +- .../AllowedLanguage/Executable.md | 6 +- .../AllowedLanguage/ExecutableV2.md | 14 ++++ .../AllowedLanguage/FSharp.md | 6 +- .../AllowedLanguage/IsAllowed.md | 6 ++ .../AllowedLanguage/IsDotNet.md | 6 ++ .../AllowedLanguage/IsExecutable.md | 18 +++++ .../AllowedLanguage/IsNodeJs.md | 18 +++++ .../AllowedLanguage/IsPython.md | 18 +++++ .../AllowedLanguage/JavaScript.md | 14 ++++ .../AllowedLanguage/JavaScriptV2.md | 14 ++++ .../AllowedLanguage/Python.md | 6 +- .../AllowedLanguage/PythonV2.md | 14 ++++ .../AllowedLanguage/TypeScript.md | 14 ++++ .../AllowedLanguage/TypeScriptV2.md | 14 ++++ .../Flow.Launcher.Plugin/BaseModel.md | 6 +- .../BaseModel/OnPropertyChanged.md | 6 ++ .../BaseModel/PropertyChanged.md | 2 + .../Flow.Launcher.Plugin/DialogJumpResult.md | 22 ++++++ .../DialogJumpResult/Clone.md | 14 ++++ .../DialogJumpResult/DialogJumpPath.md | 14 ++++ .../DialogJumpResult/From.md | 15 ++++ .../FlowLauncherKeyDownEventArgs.md | 6 +- .../FlowLauncherKeyDownEventArgs/Query.md | 2 + .../keyEventArgs.md | 2 + .../FlowLauncherKeyDownEventHandler.md | 6 ++ .../FlowLauncherQueryEventArgs.md | 4 +- .../FlowLauncherQueryEventArgs/Query.md | 2 + .../Flow.Launcher.Plugin/GlyphInfo.md | 4 +- .../GlyphInfo/FontFamily.md | 2 + .../Flow.Launcher.Plugin/GlyphInfo/Glyph.md | 2 + .../Flow.Launcher.Plugin/IAsyncDialogJump.md | 20 ++++++ .../IAsyncDialogJump/QueryDialogJumpAsync.md | 21 ++++++ .../IAsyncExternalPreview.md | 23 ++++++ .../AllowAlwaysPreview.md | 14 ++++ .../ClosePreviewAsync.md | 14 ++++ .../IAsyncExternalPreview/OpenPreviewAsync.md | 19 +++++ .../SwitchPreviewAsync.md | 19 +++++ .../Flow.Launcher.Plugin/IAsyncHomeQuery.md | 20 ++++++ .../IAsyncHomeQuery/HomeQueryAsync.md | 19 +++++ .../Flow.Launcher.Plugin/IAsyncPlugin.md | 2 +- .../IAsyncPlugin/InitAsync.md | 2 +- .../Flow.Launcher.Plugin/IAsyncReloadable.md | 4 +- .../IAsyncReloadable/ReloadDataAsync.md | 2 + .../Flow.Launcher.Plugin/IContextMenu.md | 4 +- .../IContextMenu/LoadContextMenus.md | 6 ++ .../Flow.Launcher.Plugin/IDialogJump.md | 22 ++++++ .../IDialogJump/QueryDialogJump.md | 22 ++++++ .../Flow.Launcher.Plugin/IDialogJumpDialog.md | 20 ++++++ .../IDialogJumpDialog/CheckDialogWindow.md | 23 ++++++ .../IDialogJumpDialogWindow.md | 20 ++++++ .../IDialogJumpDialogWindow/GetCurrentTab.md | 15 ++++ .../IDialogJumpDialogWindow/Handle.md | 14 ++++ .../IDialogJumpDialogWindowTab.md | 24 +++++++ .../GetCurrentFile.md | 14 ++++ .../GetCurrentFolder.md | 14 ++++ .../IDialogJumpDialogWindowTab/Handle.md | 14 ++++ .../IDialogJumpDialogWindowTab/JumpFile.md | 22 ++++++ .../IDialogJumpDialogWindowTab/JumpFolder.md | 23 ++++++ .../IDialogJumpDialogWindowTab/Open.md | 18 +++++ .../IDialogJumpExplorer.md | 20 ++++++ .../CheckExplorerWindow.md | 23 ++++++ .../IDialogJumpExplorerWindow.md | 20 ++++++ .../GetExplorerPath.md | 14 ++++ .../IDialogJumpExplorerWindow/Handle.md | 14 ++++ .../Flow.Launcher.Plugin/IHomeQuery.md | 22 ++++++ .../IHomeQuery/HomeQuery.md | 17 +++++ API-Reference/Flow.Launcher.Plugin/IPlugin.md | 2 +- .../Flow.Launcher.Plugin/IPlugin/Query.md | 2 +- .../Flow.Launcher.Plugin/IPluginI18n.md | 4 +- .../GetTranslatedPluginDescription.md | 2 + .../IPluginI18n/GetTranslatedPluginTitle.md | 2 + .../Flow.Launcher.Plugin/IPublicAPI.md | 61 +++++++++++++--- .../IPublicAPI/ActionKeywordAssigned.md | 22 ++++++ .../ActualApplicationThemeChanged.md | 15 ++++ .../IPublicAPI/AddActionKeyword.md | 6 +- .../IPublicAPI/BackToQueryResults.md | 14 ++++ .../IPublicAPI/ChangeQuery.md | 4 +- .../IPublicAPI/CopyToClipboard.md | 9 ++- .../IPublicAPI/FocusQueryTextBox.md | 14 ++++ .../IPublicAPI/GetAllInitializedPlugins.md | 19 +++++ .../IPublicAPI/GetAllPlugins.md | 4 ++ .../IPublicAPI/GetAvailableThemes.md | 15 ++++ .../IPublicAPI/GetCurrentTheme.md | 15 ++++ .../IPublicAPI/GetDataDirectory.md | 14 ++++ .../IPublicAPI/GetLogDirectory.md | 14 ++++ .../IPublicAPI/GetPluginManifest.md | 19 +++++ .../IPublicAPI/HideMainWindow.md | 14 ++++ .../IPublicAPI/HttpDownloadAsync.md | 7 +- .../IPublicAPI/InstallPlugin.md | 24 +++++++ .../IPublicAPI/IsApplicationDarkTheme.md | 14 ++++ .../IPublicAPI/IsGameModeOn.md | 14 ++++ .../IPublicAPI/IsMainWindowVisible.md | 14 ++++ .../IPublicAPI/LoadCacheBinaryStorageAsync.md | 27 +++++++ .../IPublicAPI/LoadImageAsync.md | 21 ++++++ .../IPublicAPI/LogError.md | 14 ++++ .../IPublicAPI/LogException.md | 2 +- .../IPublicAPI/OpenAppUri.md | 29 ++++++++ .../IPublicAPI/OpenDirectory.md | 4 +- .../IPublicAPI/OpenUrl.md | 19 ++++- .../IPublicAPI/OpenWebUrl.md | 29 ++++++++ .../IPublicAPI/PluginModified.md | 18 +++++ .../IPublicAPI/ReQuery.md | 18 +++++ .../RegisterGlobalKeyboardCallback.md | 8 ++- .../IPublicAPI/ReloadAllPluginData.md | 2 +- .../IPublicAPI/RemoveActionKeyword.md | 4 +- .../RemoveGlobalKeyboardCallback.md | 2 +- .../IPublicAPI/SaveCacheBinaryStorageAsync.md | 25 +++++++ .../IPublicAPI/SavePluginCaches.md | 14 ++++ .../IPublicAPI/SaveSettingJsonStorage.md | 2 +- .../IPublicAPI/SetCurrentTheme.md | 23 ++++++ .../IPublicAPI/SetGameMode.md | 18 +++++ .../IPublicAPI/ShellRun.md | 2 +- .../IPublicAPI/ShowMsgBox.md | 28 ++++++++ .../IPublicAPI/ShowMsgErrorWithButton.md | 22 ++++++ .../IPublicAPI/ShowMsgWithButton.md | 48 +++++++++++++ .../IPublicAPI/ShowProgressBoxAsync.md | 21 ++++++ .../IPublicAPI/StartLoadingBar.md | 14 ++++ .../IPublicAPI/StopLoadingBar.md | 14 ++++ .../IPublicAPI/StopwatchLogDebug.md | 19 +++++ .../IPublicAPI/StopwatchLogDebugAsync.md | 19 +++++ .../IPublicAPI/StopwatchLogInfo.md | 19 +++++ .../IPublicAPI/StopwatchLogInfoAsync.md | 19 +++++ .../IPublicAPI/ToggleGameMode.md | 14 ++++ .../IPublicAPI/UninstallPluginAsync.md | 25 +++++++ .../IPublicAPI/UpdatePluginAsync.md | 27 +++++++ .../IPublicAPI/UpdatePluginManifestAsync.md | 24 +++++++ .../IPublicAPI/VisibilityChanged.md | 15 ++++ .../Flow.Launcher.Plugin/IReloadable.md | 2 +- .../IReloadable/ReloadData.md | 2 + .../Flow.Launcher.Plugin/IResultUpdated.md | 4 +- .../IResultUpdated/ResultsUpdated.md | 2 + .../Flow.Launcher.Plugin/ISavable.md | 8 ++- .../Flow.Launcher.Plugin/ISavable/Save.md | 2 + .../Flow.Launcher.Plugin/ISettingProvider.md | 4 +- .../ISettingProvider/CreateSettingPanel.md | 2 + .../Flow.Launcher.Plugin/KeyEvent.md | 22 ++++++ .../Flow.Launcher.Plugin/PluginInitContext.md | 8 ++- .../CurrentPluginMetadata.md | 2 + .../PluginInitContext/PluginInitContext.md | 9 ++- .../Flow.Launcher.Plugin/PluginMetadata.md | 46 +++++++----- .../PluginMetadata/ActionKeyword.md | 2 + .../PluginMetadata/ActionKeywords.md | 2 + .../PluginMetadata/AssemblyName.md | 14 ++++ .../PluginMetadata/Author.md | 2 + .../PluginMetadata/AvgQueryTime.md | 2 + .../PluginMetadata/Description.md | 2 + .../PluginMetadata/Disabled.md | 2 + .../PluginMetadata/ExecuteFileName.md | 2 + .../PluginMetadata/ExecuteFilePath.md | 2 + .../PluginMetadata/HideActionKeywordPanel.md | 14 ++++ .../PluginMetadata/HomeDisabled.md | 14 ++++ .../Flow.Launcher.Plugin/PluginMetadata/ID.md | 2 + .../PluginMetadata/IcoPath.md | 2 + .../PluginMetadata/InitTime.md | 2 +- .../PluginMetadata/Language.md | 2 + .../PluginMetadata/Name.md | 2 + .../PluginCacheDirectoryPath.md | 14 ++++ .../PluginMetadata/PluginDirectory.md | 2 + .../PluginSettingsDirectoryPath.md | 14 ++++ .../PluginMetadata/Priority.md | 2 + .../PluginMetadata/QueryCount.md | 2 + .../PluginMetadata/SearchDelayTime.md | 14 ++++ .../PluginMetadata/ToString.md | 2 + .../PluginMetadata/Version.md | 2 + .../PluginMetadata/Website.md | 2 + .../Flow.Launcher.Plugin/PluginPair.md | 12 ++-- .../Flow.Launcher.Plugin/PluginPair/Equals.md | 6 ++ .../PluginPair/GetHashCode.md | 2 + .../PluginPair/Metadata.md | 2 + .../Flow.Launcher.Plugin/PluginPair/Plugin.md | 2 + .../PluginPair/ToString.md | 2 + API-Reference/Flow.Launcher.Plugin/Query.md | 26 ++++--- .../Query/ActionKeyword.md | 2 + .../Query/ActionKeywordSeparator.md | 2 +- .../Flow.Launcher.Plugin/Query/FirstSearch.md | 6 +- .../Query/GlobalPluginWildcardSign.md | 2 +- .../Query/{RawQuery.md => IsHomeQuery.md} | 6 +- .../Flow.Launcher.Plugin/Query/IsReQuery.md | 14 ++++ .../Query/OriginalQuery.md | 14 ++++ .../Flow.Launcher.Plugin/Query/Query.md | 18 +---- .../Flow.Launcher.Plugin/Query/Search.md | 2 +- .../Flow.Launcher.Plugin/Query/SearchTerms.md | 2 +- .../Query/SecondSearch.md | 6 +- .../Query/TermSeparator.md | 2 +- .../Flow.Launcher.Plugin/Query/ThirdSearch.md | 6 +- .../Query/TrimmedQuery.md | 14 ++++ .../Result.IconDelegate.md | 2 + .../Result.PreviewInfo.md | 26 +++++++ .../Result.PreviewInfo/Default.md | 14 ++++ .../Result.PreviewInfo/Description.md | 18 +++++ .../Result.PreviewInfo/FilePath.md | 14 ++++ .../Result.PreviewInfo/IsMedia.md | 14 ++++ .../Result.PreviewInfo/PreviewDelegate.md | 15 ++++ .../Result.PreviewInfo/PreviewImagePath.md | 14 ++++ .../Result.PreviewInfo/PreviewInfo.md | 14 ++++ API-Reference/Flow.Launcher.Plugin/Result.md | 33 ++++++--- .../Flow.Launcher.Plugin/Result/Action.md | 6 +- .../Result/AddSelectedCount.md | 14 ++++ .../Result/AsyncAction.md | 19 +++++ .../Result/AutoCompleteText.md | 4 ++ .../Result/BadgeIcoPath.md | 22 ++++++ .../Flow.Launcher.Plugin/Result/BadgeIcon.md | 15 ++++ .../Result/{Equals.md => Clone.md} | 6 +- .../Result/ContextData.md | 6 +- .../Flow.Launcher.Plugin/Result/CopyText.md | 14 ++++ .../Result/ExecuteAsync.md | 19 +++++ .../Flow.Launcher.Plugin/Result/IcoPath.md | 10 ++- .../Flow.Launcher.Plugin/Result/Icon.md | 2 +- .../Flow.Launcher.Plugin/Result/MaxScore.md | 14 ++++ .../Flow.Launcher.Plugin/Result/Preview.md | 15 ++++ .../Result/PreviewPanel.md | 14 ++++ .../Result/ProgressBar.md | 14 ++++ .../Result/ProgressBarColor.md | 14 ++++ .../Result/QuerySuggestionText.md | 18 +++++ .../Flow.Launcher.Plugin/Result/RecordKey.md | 14 ++++ .../Result/{GetHashCode.md => RoundedIcon.md} | 6 +- .../Flow.Launcher.Plugin/Result/Score.md | 6 +- .../Flow.Launcher.Plugin/Result/ShowBadge.md | 14 ++++ .../ResultItemDropEventHandler.md | 8 +++ .../ResultUpdatedEventArgs.md | 8 ++- .../ResultUpdatedEventArgs/Query.md | 2 + .../ResultUpdatedEventArgs/Results.md | 2 + .../ResultUpdatedEventArgs/Token.md | 2 + .../ResultUpdatedEventHandler.md | 7 ++ .../Flow.Launcher.Plugin/SpecialKeyState.md | 12 ++-- .../SpecialKeyState/AltPressed.md | 2 + .../SpecialKeyState/CtrlPressed.md | 2 + .../SpecialKeyState/Default.md | 14 ++++ .../SpecialKeyState/ShiftPressed.md | 2 + .../SpecialKeyState/ToModifierKeys.md | 14 ++++ .../SpecialKeyState/WinPressed.md | 2 + .../Flow.Launcher.Plugin/UserPlugin.md | 34 +++++++++ .../Flow.Launcher.Plugin/UserPlugin/Author.md | 14 ++++ .../UserPlugin/DateAdded.md | 14 ++++ .../UserPlugin/Description.md | 14 ++++ .../Flow.Launcher.Plugin/UserPlugin/ID.md | 14 ++++ .../UserPlugin/IcoPath.md | 14 ++++ .../UserPlugin/IsFromLocalInstallPath.md | 14 ++++ .../UserPlugin/Language.md | 14 ++++ .../UserPlugin/LatestReleaseDate.md | 14 ++++ .../UserPlugin/LocalInstallPath.md | 14 ++++ .../UserPlugin/MinimumAppVersion.md | 14 ++++ .../Flow.Launcher.Plugin/UserPlugin/Name.md | 14 ++++ .../UserPlugin/UrlDownload.md | 14 ++++ .../UserPlugin/UrlSourceCode.md | 14 ++++ .../UserPlugin/UserPlugin.md | 14 ++++ .../UserPlugin/Version.md | 14 ++++ .../UserPlugin/Website.md | 14 ++++ .../VisibilityChangedEventArgs.md | 20 ++++++ .../VisibilityChangedEventArgs/IsVisible.md | 14 ++++ .../VisibilityChangedEventArgs.md | 14 ++++ .../VisibilityChangedEventHandler.md | 19 +++++ 312 files changed, 3672 insertions(+), 211 deletions(-) create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/EnsureTrailingSlash.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/FileOrLocationExists.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/IsZipFilePath.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/OpenFile.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/PathContains.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/ResolveAbsolutePath.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/TryDeleteDirectoryRobust.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/ValidateDataDirectory.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/ValidateDirectory.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/Bounds.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/GetCursorDisplayMonitor.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/GetDisplayMonitors.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/GetNearestDisplayMonitor.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/GetPrimaryDisplayMonitor.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/IsPrimary.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/Name.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/ToString.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/WorkingArea.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/Equals.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/FileNameWithoutExtension.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/GetHashCode.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/HasBlur.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/IsDark.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/Name.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/ThemeData.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/ToString.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/op_Equality.md create mode 100644 API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/op_Inequality.md create mode 100644 API-Reference/Flow.Launcher.Plugin/ActualApplicationThemeChangedEventArgs.md create mode 100644 API-Reference/Flow.Launcher.Plugin/ActualApplicationThemeChangedEventArgs/ActualApplicationThemeChangedEventArgs.md create mode 100644 API-Reference/Flow.Launcher.Plugin/ActualApplicationThemeChangedEventArgs/IsDark.md create mode 100644 API-Reference/Flow.Launcher.Plugin/ActualApplicationThemeChangedEventHandler.md create mode 100644 API-Reference/Flow.Launcher.Plugin/AllowedLanguage/ExecutableV2.md create mode 100644 API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsExecutable.md create mode 100644 API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsNodeJs.md create mode 100644 API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsPython.md create mode 100644 API-Reference/Flow.Launcher.Plugin/AllowedLanguage/JavaScript.md create mode 100644 API-Reference/Flow.Launcher.Plugin/AllowedLanguage/JavaScriptV2.md create mode 100644 API-Reference/Flow.Launcher.Plugin/AllowedLanguage/PythonV2.md create mode 100644 API-Reference/Flow.Launcher.Plugin/AllowedLanguage/TypeScript.md create mode 100644 API-Reference/Flow.Launcher.Plugin/AllowedLanguage/TypeScriptV2.md create mode 100644 API-Reference/Flow.Launcher.Plugin/DialogJumpResult.md create mode 100644 API-Reference/Flow.Launcher.Plugin/DialogJumpResult/Clone.md create mode 100644 API-Reference/Flow.Launcher.Plugin/DialogJumpResult/DialogJumpPath.md create mode 100644 API-Reference/Flow.Launcher.Plugin/DialogJumpResult/From.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IAsyncDialogJump.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IAsyncDialogJump/QueryDialogJumpAsync.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview/AllowAlwaysPreview.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview/ClosePreviewAsync.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview/OpenPreviewAsync.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview/SwitchPreviewAsync.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IAsyncHomeQuery.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IAsyncHomeQuery/HomeQueryAsync.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJump.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJump/QueryDialogJump.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJumpDialog.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJumpDialog/CheckDialogWindow.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindow.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindow/GetCurrentTab.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindow/Handle.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/GetCurrentFile.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/GetCurrentFolder.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/Handle.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/JumpFile.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/JumpFolder.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/Open.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorer.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorer/CheckExplorerWindow.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorerWindow.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorerWindow/GetExplorerPath.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorerWindow/Handle.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IHomeQuery.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IHomeQuery/HomeQuery.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/ActionKeywordAssigned.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/ActualApplicationThemeChanged.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/BackToQueryResults.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/FocusQueryTextBox.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetAllInitializedPlugins.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetAvailableThemes.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetCurrentTheme.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetDataDirectory.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetLogDirectory.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetPluginManifest.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/HideMainWindow.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/InstallPlugin.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/IsApplicationDarkTheme.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/IsGameModeOn.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/IsMainWindowVisible.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/LoadCacheBinaryStorageAsync.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/LoadImageAsync.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/LogError.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/OpenAppUri.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/OpenWebUrl.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/PluginModified.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/ReQuery.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/SaveCacheBinaryStorageAsync.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/SavePluginCaches.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/SetCurrentTheme.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/SetGameMode.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShowMsgBox.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShowMsgErrorWithButton.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShowMsgWithButton.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShowProgressBoxAsync.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/StartLoadingBar.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopLoadingBar.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopwatchLogDebug.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopwatchLogDebugAsync.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopwatchLogInfo.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopwatchLogInfoAsync.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/ToggleGameMode.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/UninstallPluginAsync.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/UpdatePluginAsync.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/UpdatePluginManifestAsync.md create mode 100644 API-Reference/Flow.Launcher.Plugin/IPublicAPI/VisibilityChanged.md create mode 100644 API-Reference/Flow.Launcher.Plugin/KeyEvent.md create mode 100644 API-Reference/Flow.Launcher.Plugin/PluginMetadata/AssemblyName.md create mode 100644 API-Reference/Flow.Launcher.Plugin/PluginMetadata/HideActionKeywordPanel.md create mode 100644 API-Reference/Flow.Launcher.Plugin/PluginMetadata/HomeDisabled.md create mode 100644 API-Reference/Flow.Launcher.Plugin/PluginMetadata/PluginCacheDirectoryPath.md create mode 100644 API-Reference/Flow.Launcher.Plugin/PluginMetadata/PluginSettingsDirectoryPath.md create mode 100644 API-Reference/Flow.Launcher.Plugin/PluginMetadata/SearchDelayTime.md rename API-Reference/Flow.Launcher.Plugin/Query/{RawQuery.md => IsHomeQuery.md} (50%) create mode 100644 API-Reference/Flow.Launcher.Plugin/Query/IsReQuery.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Query/OriginalQuery.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Query/TrimmedQuery.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/Default.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/Description.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/FilePath.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/IsMedia.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/PreviewDelegate.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/PreviewImagePath.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/PreviewInfo.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result/AddSelectedCount.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result/AsyncAction.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result/BadgeIcoPath.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result/BadgeIcon.md rename API-Reference/Flow.Launcher.Plugin/Result/{Equals.md => Clone.md} (73%) create mode 100644 API-Reference/Flow.Launcher.Plugin/Result/CopyText.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result/ExecuteAsync.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result/MaxScore.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result/Preview.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result/PreviewPanel.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result/ProgressBar.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result/ProgressBarColor.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result/QuerySuggestionText.md create mode 100644 API-Reference/Flow.Launcher.Plugin/Result/RecordKey.md rename API-Reference/Flow.Launcher.Plugin/Result/{GetHashCode.md => RoundedIcon.md} (65%) create mode 100644 API-Reference/Flow.Launcher.Plugin/Result/ShowBadge.md create mode 100644 API-Reference/Flow.Launcher.Plugin/SpecialKeyState/Default.md create mode 100644 API-Reference/Flow.Launcher.Plugin/SpecialKeyState/ToModifierKeys.md create mode 100644 API-Reference/Flow.Launcher.Plugin/UserPlugin.md create mode 100644 API-Reference/Flow.Launcher.Plugin/UserPlugin/Author.md create mode 100644 API-Reference/Flow.Launcher.Plugin/UserPlugin/DateAdded.md create mode 100644 API-Reference/Flow.Launcher.Plugin/UserPlugin/Description.md create mode 100644 API-Reference/Flow.Launcher.Plugin/UserPlugin/ID.md create mode 100644 API-Reference/Flow.Launcher.Plugin/UserPlugin/IcoPath.md create mode 100644 API-Reference/Flow.Launcher.Plugin/UserPlugin/IsFromLocalInstallPath.md create mode 100644 API-Reference/Flow.Launcher.Plugin/UserPlugin/Language.md create mode 100644 API-Reference/Flow.Launcher.Plugin/UserPlugin/LatestReleaseDate.md create mode 100644 API-Reference/Flow.Launcher.Plugin/UserPlugin/LocalInstallPath.md create mode 100644 API-Reference/Flow.Launcher.Plugin/UserPlugin/MinimumAppVersion.md create mode 100644 API-Reference/Flow.Launcher.Plugin/UserPlugin/Name.md create mode 100644 API-Reference/Flow.Launcher.Plugin/UserPlugin/UrlDownload.md create mode 100644 API-Reference/Flow.Launcher.Plugin/UserPlugin/UrlSourceCode.md create mode 100644 API-Reference/Flow.Launcher.Plugin/UserPlugin/UserPlugin.md create mode 100644 API-Reference/Flow.Launcher.Plugin/UserPlugin/Version.md create mode 100644 API-Reference/Flow.Launcher.Plugin/UserPlugin/Website.md create mode 100644 API-Reference/Flow.Launcher.Plugin/VisibilityChangedEventArgs.md create mode 100644 API-Reference/Flow.Launcher.Plugin/VisibilityChangedEventArgs/IsVisible.md create mode 100644 API-Reference/Flow.Launcher.Plugin/VisibilityChangedEventArgs/VisibilityChangedEventArgs.md create mode 100644 API-Reference/Flow.Launcher.Plugin/VisibilityChangedEventHandler.md diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders.md index b6feaea..3dcd3c3 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders.md @@ -1,5 +1,7 @@ # FilesFolders class +Commands that are useful to run on files... and folders! + ```csharp public static class FilesFolders ``` @@ -9,15 +11,23 @@ public static class FilesFolders | name | description | | --- | --- | | static [CopyAll](FilesFolders/CopyAll.md)(…) | Copies the folder and all of its files and folders including subfolders to the target location | -| static [FileExists](FilesFolders/FileExists.md)(…) | | +| static [EnsureTrailingSlash](FilesFolders/EnsureTrailingSlash.md)(…) | Returns path ended with "\" | +| static [FileExists](FilesFolders/FileExists.md)(…) | Checks if a file exists | +| static [FileOrLocationExists](FilesFolders/FileOrLocationExists.md)(…) | Checks if a file or directory exists | | static [GetPreviousExistingDirectory](FilesFolders/GetPreviousExistingDirectory.md)(…) | Gets the previous level directory from a path string. Checks that previous level directory exists and returns it as a path string, or empty string if doesn't exist | | static [IsLocationPathString](FilesFolders/IsLocationPathString.md)(…) | This checks whether a given string is a directory path or network location string. It does not check if location actually exists. | -| static [LocationExists](FilesFolders/LocationExists.md)(…) | | -| static [OpenContainingFolder](FilesFolders/OpenContainingFolder.md)(…) | | -| static [OpenPath](FilesFolders/OpenPath.md)(…) | | -| static [RemoveFolderIfExists](FilesFolders/RemoveFolderIfExists.md)(…) | | +| static [IsZipFilePath](FilesFolders/IsZipFilePath.md)(…) | This checks whether a given string is a zip file path. By default does not check if the zip file actually exist on disk, can do so by setting checkFileExists = true. | +| static [LocationExists](FilesFolders/LocationExists.md)(…) | Checks if a directory exists | +| static [OpenFile](FilesFolders/OpenFile.md)(…) | Open a file with associated application | +| static [OpenPath](FilesFolders/OpenPath.md)(…) | Open a directory window (using the OS's default handler, usually explorer) | +| static [PathContains](FilesFolders/PathContains.md)(…) | Returns if *parentPath* contains *subPath*. Equal paths are not considered to be contained by default. From https://stackoverflow.com/a/66877016 | +| static [RemoveFolderIfExists](FilesFolders/RemoveFolderIfExists.md)(…) | Deletes a folder if it exists | +| static [ResolveAbsolutePath](FilesFolders/ResolveAbsolutePath.md)(…) | Resolves a path that may be relative to an absolute path. If the path is already absolute, returns it as-is. If the path is not rooted (as determined by String)), resolves it relative to ProgramDirectory. | | static [ReturnPreviousDirectoryIfIncompleteString](FilesFolders/ReturnPreviousDirectoryIfIncompleteString.md)(…) | Returns the previous level directory if path incomplete (does not end with '\'). Does not check if previous level directory exists. Returns passed in string if is complete path | -| static [VerifyBothFolderFilesEqual](FilesFolders/VerifyBothFolderFilesEqual.md)(…) | | +| static [TryDeleteDirectoryRobust](FilesFolders/TryDeleteDirectoryRobust.md)(…) | Attempts to delete a directory robustly with retry logic for locked files. This method tries to delete files individually with retries, then removes empty directories. Returns true if the directory was completely deleted, false if some files/folders remain. | +| static [ValidateDataDirectory](FilesFolders/ValidateDataDirectory.md)(…) | Validates a data directory, synchronizing it by ensuring all files from a bundled source directory exist in it. If files are missing or outdated, they are copied from the bundled directory to the data directory. | +| static [ValidateDirectory](FilesFolders/ValidateDirectory.md)(…) | Validates a directory, creating it if it doesn't exist | +| static [VerifyBothFolderFilesEqual](FilesFolders/VerifyBothFolderFilesEqual.md)(…) | Check if the files and directories are identical between *fromPath* and *toPath* | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/CopyAll.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/CopyAll.md index d90ef7d..2c4e6ef 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/CopyAll.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/CopyAll.md @@ -3,13 +3,15 @@ Copies the folder and all of its files and folders including subfolders to the target location ```csharp -public static void CopyAll(this string sourcePath, string targetPath) +public static void CopyAll(this string sourcePath, string targetPath, + Func messageBoxExShow = null) ``` | parameter | description | | --- | --- | | sourcePath | | | targetPath | | +| messageBoxExShow | | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/EnsureTrailingSlash.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/EnsureTrailingSlash.md new file mode 100644 index 0000000..1b434a5 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/EnsureTrailingSlash.md @@ -0,0 +1,18 @@ +# FilesFolders.EnsureTrailingSlash method + +Returns path ended with "\" + +```csharp +public static string EnsureTrailingSlash(this string path) +``` + +| parameter | description | +| --- | --- | +| path | | + +## See Also + +* class [FilesFolders](../FilesFolders.md) +* namespace [Flow.Launcher.Plugin.SharedCommands](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/FileExists.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/FileExists.md index 8c230f1..73a5894 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/FileExists.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/FileExists.md @@ -1,9 +1,15 @@ # FilesFolders.FileExists method +Checks if a file exists + ```csharp public static bool FileExists(this string filePath) ``` +| parameter | description | +| --- | --- | +| filePath | | + ## See Also * class [FilesFolders](../FilesFolders.md) diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/FileOrLocationExists.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/FileOrLocationExists.md new file mode 100644 index 0000000..7489572 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/FileOrLocationExists.md @@ -0,0 +1,18 @@ +# FilesFolders.FileOrLocationExists method + +Checks if a file or directory exists + +```csharp +public static bool FileOrLocationExists(this string path) +``` + +| parameter | description | +| --- | --- | +| path | | + +## See Also + +* class [FilesFolders](../FilesFolders.md) +* namespace [Flow.Launcher.Plugin.SharedCommands](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/IsZipFilePath.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/IsZipFilePath.md new file mode 100644 index 0000000..f6fceda --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/IsZipFilePath.md @@ -0,0 +1,14 @@ +# FilesFolders.IsZipFilePath method + +This checks whether a given string is a zip file path. By default does not check if the zip file actually exist on disk, can do so by setting checkFileExists = true. + +```csharp +public static bool IsZipFilePath(string querySearchString, bool checkFileExists = false) +``` + +## See Also + +* class [FilesFolders](../FilesFolders.md) +* namespace [Flow.Launcher.Plugin.SharedCommands](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/LocationExists.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/LocationExists.md index a597414..4d2d8f2 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/LocationExists.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/LocationExists.md @@ -1,9 +1,15 @@ # FilesFolders.LocationExists method +Checks if a directory exists + ```csharp public static bool LocationExists(this string path) ``` +| parameter | description | +| --- | --- | +| path | | + ## See Also * class [FilesFolders](../FilesFolders.md) diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/OpenFile.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/OpenFile.md new file mode 100644 index 0000000..21c4aea --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/OpenFile.md @@ -0,0 +1,22 @@ +# FilesFolders.OpenFile method + +Open a file with associated application + +```csharp +public static void OpenFile(string filePath, string workingDir = "", bool asAdmin = false, + Func messageBoxExShow = null) +``` + +| parameter | description | +| --- | --- | +| filePath | File path | +| workingDir | Working directory | +| asAdmin | Open as Administrator | +| messageBoxExShow | | + +## See Also + +* class [FilesFolders](../FilesFolders.md) +* namespace [Flow.Launcher.Plugin.SharedCommands](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/OpenPath.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/OpenPath.md index 1f6e25f..dca4995 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/OpenPath.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/OpenPath.md @@ -1,9 +1,17 @@ # FilesFolders.OpenPath method +Open a directory window (using the OS's default handler, usually explorer) + ```csharp -public static void OpenPath(string fileOrFolderPath) +public static void OpenPath(string fileOrFolderPath, + Func messageBoxExShow = null) ``` +| parameter | description | +| --- | --- | +| fileOrFolderPath | | +| messageBoxExShow | | + ## See Also * class [FilesFolders](../FilesFolders.md) diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/PathContains.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/PathContains.md new file mode 100644 index 0000000..2f2bf4f --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/PathContains.md @@ -0,0 +1,20 @@ +# FilesFolders.PathContains method + +Returns if *parentPath* contains *subPath*. Equal paths are not considered to be contained by default. From https://stackoverflow.com/a/66877016 + +```csharp +public static bool PathContains(string parentPath, string subPath, bool allowEqual = false) +``` + +| parameter | description | +| --- | --- | +| parentPath | Parent path | +| subPath | Sub path | +| allowEqual | If `true`, when *parentPath* and *subPath* are equal, returns `true` | + +## See Also + +* class [FilesFolders](../FilesFolders.md) +* namespace [Flow.Launcher.Plugin.SharedCommands](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/RemoveFolderIfExists.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/RemoveFolderIfExists.md index 8ec39c6..4f822a0 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/RemoveFolderIfExists.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/RemoveFolderIfExists.md @@ -1,9 +1,17 @@ # FilesFolders.RemoveFolderIfExists method +Deletes a folder if it exists + ```csharp -public static void RemoveFolderIfExists(this string path) +public static void RemoveFolderIfExists(this string path, + Func messageBoxExShow = null) ``` +| parameter | description | +| --- | --- | +| path | | +| messageBoxExShow | | + ## See Also * class [FilesFolders](../FilesFolders.md) diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/ResolveAbsolutePath.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/ResolveAbsolutePath.md new file mode 100644 index 0000000..59ae813 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/ResolveAbsolutePath.md @@ -0,0 +1,22 @@ +# FilesFolders.ResolveAbsolutePath method + +Resolves a path that may be relative to an absolute path. If the path is already absolute, returns it as-is. If the path is not rooted (as determined by String)), resolves it relative to ProgramDirectory. + +```csharp +public static string ResolveAbsolutePath(string path) +``` + +| parameter | description | +| --- | --- | +| path | The path to resolve | + +## Return Value + +An absolute path + +## See Also + +* class [FilesFolders](../FilesFolders.md) +* namespace [Flow.Launcher.Plugin.SharedCommands](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/TryDeleteDirectoryRobust.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/TryDeleteDirectoryRobust.md new file mode 100644 index 0000000..8b2cb80 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/TryDeleteDirectoryRobust.md @@ -0,0 +1,24 @@ +# FilesFolders.TryDeleteDirectoryRobust method + +Attempts to delete a directory robustly with retry logic for locked files. This method tries to delete files individually with retries, then removes empty directories. Returns true if the directory was completely deleted, false if some files/folders remain. + +```csharp +public static bool TryDeleteDirectoryRobust(string path, int maxRetries = 3, int retryDelayMs = 100) +``` + +| parameter | description | +| --- | --- | +| path | The directory path to delete | +| maxRetries | Maximum number of retry attempts for locked files (default: 3) | +| retryDelayMs | Delay in milliseconds between retries (default: 100ms) | + +## Return Value + +True if directory was fully deleted, false if some items remain + +## See Also + +* class [FilesFolders](../FilesFolders.md) +* namespace [Flow.Launcher.Plugin.SharedCommands](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/ValidateDataDirectory.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/ValidateDataDirectory.md new file mode 100644 index 0000000..e38e851 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/ValidateDataDirectory.md @@ -0,0 +1,19 @@ +# FilesFolders.ValidateDataDirectory method + +Validates a data directory, synchronizing it by ensuring all files from a bundled source directory exist in it. If files are missing or outdated, they are copied from the bundled directory to the data directory. + +```csharp +public static void ValidateDataDirectory(string bundledDataDirectory, string dataDirectory) +``` + +| parameter | description | +| --- | --- | +| bundledDataDirectory | | +| dataDirectory | | + +## See Also + +* class [FilesFolders](../FilesFolders.md) +* namespace [Flow.Launcher.Plugin.SharedCommands](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/ValidateDirectory.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/ValidateDirectory.md new file mode 100644 index 0000000..dcd0219 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/ValidateDirectory.md @@ -0,0 +1,18 @@ +# FilesFolders.ValidateDirectory method + +Validates a directory, creating it if it doesn't exist + +```csharp +public static void ValidateDirectory(string path) +``` + +| parameter | description | +| --- | --- | +| path | | + +## See Also + +* class [FilesFolders](../FilesFolders.md) +* namespace [Flow.Launcher.Plugin.SharedCommands](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/VerifyBothFolderFilesEqual.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/VerifyBothFolderFilesEqual.md index 85d728d..becb16d 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/VerifyBothFolderFilesEqual.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/FilesFolders/VerifyBothFolderFilesEqual.md @@ -1,9 +1,18 @@ # FilesFolders.VerifyBothFolderFilesEqual method +Check if the files and directories are identical between *fromPath* and *toPath* + ```csharp -public static bool VerifyBothFolderFilesEqual(this string fromPath, string toPath) +public static bool VerifyBothFolderFilesEqual(this string fromPath, string toPath, + Func messageBoxExShow = null) ``` +| parameter | description | +| --- | --- | +| fromPath | | +| toPath | | +| messageBoxExShow | | + ## See Also * class [FilesFolders](../FilesFolders.md) diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/SearchWeb.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/SearchWeb.md index b90faa3..696cf1b 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedCommands/SearchWeb.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/SearchWeb.md @@ -1,5 +1,7 @@ # SearchWeb class +Contains methods to open a search in a new browser window or tab. + ```csharp public static class SearchWeb ``` diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand.EnumThreadDelegate.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand.EnumThreadDelegate.md index 7da1fa7..6d7bac5 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand.EnumThreadDelegate.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand.EnumThreadDelegate.md @@ -1,9 +1,16 @@ # ShellCommand.EnumThreadDelegate delegate +Delegate for EnumThreadWindows + ```csharp public delegate bool EnumThreadDelegate(IntPtr hwnd, IntPtr lParam); ``` +| parameter | description | +| --- | --- | +| hwnd | | +| lParam | | + ## See Also * class [ShellCommand](./ShellCommand.md) diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand.md index 34c499b..fa45a99 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand.md @@ -1,5 +1,7 @@ # ShellCommand class +Contains methods for running shell commands + ```csharp public static class ShellCommand ``` @@ -9,9 +11,9 @@ public static class ShellCommand | name | description | | --- | --- | | static [Execute](ShellCommand/Execute.md)(…) | Runs a windows command using the provided ProcessStartInfo (2 methods) | -| static [RunAsDifferentUser](ShellCommand/RunAsDifferentUser.md)(…) | | -| static [SetProcessStartInfo](ShellCommand/SetProcessStartInfo.md)(…) | | -| delegate [EnumThreadDelegate](ShellCommand.EnumThreadDelegate.md) | | +| static [RunAsDifferentUser](ShellCommand/RunAsDifferentUser.md)(…) | Runs a windows command using the provided ProcessStartInfo | +| static [SetProcessStartInfo](ShellCommand/SetProcessStartInfo.md)(…) | Runs a windows command using the provided ProcessStartInfo | +| delegate [EnumThreadDelegate](ShellCommand.EnumThreadDelegate.md) | Delegate for EnumThreadWindows | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand/Execute.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand/Execute.md index 56608b9..fe9fad7 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand/Execute.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand/Execute.md @@ -10,8 +10,8 @@ public static void Execute(ProcessStartInfo info) | exception | condition | | --- | --- | -| !:FileNotFoundException | Thrown when unable to find the file specified in the command | -| !:Win32Exception | Thrown when error occurs during the execution of the command | +| FileNotFoundException | Thrown when unable to find the file specified in the command | +| Win32Exception | Thrown when error occurs during the execution of the command | ## See Also @@ -30,14 +30,15 @@ public static void Execute(Func startProcess, Process | parameter | description | | --- | --- | -| Func startProcessstartProcess | allows you to pass in a custom command execution function | +| startProcess | allows you to pass in a custom command execution function | +| info | allows you to pass in the info that will be passed to startProcess | ## Exceptions | exception | condition | | --- | --- | -| !:FileNotFoundException | Thrown when unable to find the file specified in the command | -| !:Win32Exception | Thrown when error occurs during the execution of the command | +| FileNotFoundException | Thrown when unable to find the file specified in the command | +| Win32Exception | Thrown when error occurs during the execution of the command | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand/RunAsDifferentUser.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand/RunAsDifferentUser.md index f93757e..a12042e 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand/RunAsDifferentUser.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand/RunAsDifferentUser.md @@ -1,9 +1,15 @@ # ShellCommand.RunAsDifferentUser method +Runs a windows command using the provided ProcessStartInfo + ```csharp public static Process RunAsDifferentUser(ProcessStartInfo processStartInfo) ``` +| parameter | description | +| --- | --- | +| processStartInfo | | + ## See Also * class [ShellCommand](../ShellCommand.md) diff --git a/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand/SetProcessStartInfo.md b/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand/SetProcessStartInfo.md index 58a560c..61885f7 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand/SetProcessStartInfo.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedCommands/ShellCommand/SetProcessStartInfo.md @@ -1,11 +1,21 @@ # ShellCommand.SetProcessStartInfo method +Runs a windows command using the provided ProcessStartInfo + ```csharp public static ProcessStartInfo SetProcessStartInfo(this string fileName, string workingDirectory = "", string arguments = "", string verb = "", bool createNoWindow = false) ``` +| parameter | description | +| --- | --- | +| fileName | | +| workingDirectory | | +| arguments | | +| verb | | +| createNoWindow | | + ## See Also * class [ShellCommand](../ShellCommand.md) diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult.md index 43358d4..c6951e1 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult.md @@ -1,5 +1,7 @@ # MatchResult class +Represents the result of a match operation. + ```csharp public class MatchResult ``` @@ -8,13 +10,13 @@ public class MatchResult | name | description | | --- | --- | -| [MatchResult](MatchResult/MatchResult.md)(…) | (2 constructors) | +| [MatchResult](MatchResult/MatchResult.md)(…) | Initializes a new instance of the [`MatchResult`](./MatchResult.md) class. (2 constructors) | | [MatchData](MatchResult/MatchData.md) { get; set; } | Matched data to highlight. | -| [RawScore](MatchResult/RawScore.md) { get; set; } | | +| [RawScore](MatchResult/RawScore.md) { get; set; } | The raw calculated search score without any search precision filtering applied. | | [Score](MatchResult/Score.md) { get; } | The final score of the match result with search precision filters applied. | -| [SearchPrecision](MatchResult/SearchPrecision.md) { get; set; } | | -| [Success](MatchResult/Success.md) { get; set; } | | -| [IsSearchPrecisionScoreMet](MatchResult/IsSearchPrecisionScoreMet.md)() | | +| [SearchPrecision](MatchResult/SearchPrecision.md) { get; set; } | The search precision score used to filter the search results. | +| [Success](MatchResult/Success.md) { get; set; } | Whether the match operation was successful. | +| [IsSearchPrecisionScoreMet](MatchResult/IsSearchPrecisionScoreMet.md)() | Determines if the search precision score is met. | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/IsSearchPrecisionScoreMet.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/IsSearchPrecisionScoreMet.md index 32843e0..81ee984 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/IsSearchPrecisionScoreMet.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/IsSearchPrecisionScoreMet.md @@ -1,5 +1,7 @@ # MatchResult.IsSearchPrecisionScoreMet method +Determines if the search precision score is met. + ```csharp public bool IsSearchPrecisionScoreMet() ``` diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/MatchResult.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/MatchResult.md index 02b9fe7..2afeecd 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/MatchResult.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/MatchResult.md @@ -1,9 +1,16 @@ # MatchResult constructor (1 of 2) +Initializes a new instance of the [`MatchResult`](../MatchResult.md) class. + ```csharp public MatchResult(bool success, SearchPrecisionScore searchPrecision) ``` +| parameter | description | +| --- | --- | +| success | | +| searchPrecision | | + ## See Also * enum [SearchPrecisionScore](../SearchPrecisionScore.md) @@ -14,11 +21,20 @@ public MatchResult(bool success, SearchPrecisionScore searchPrecision) # MatchResult constructor (2 of 2) +Initializes a new instance of the [`MatchResult`](../MatchResult.md) class. + ```csharp public MatchResult(bool success, SearchPrecisionScore searchPrecision, List matchData, int rawScore) ``` +| parameter | description | +| --- | --- | +| success | | +| searchPrecision | | +| matchData | | +| rawScore | | + ## See Also * enum [SearchPrecisionScore](../SearchPrecisionScore.md) diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/RawScore.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/RawScore.md index 4588973..f99817e 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/RawScore.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/RawScore.md @@ -1,5 +1,7 @@ # MatchResult.RawScore property +The raw calculated search score without any search precision filtering applied. + ```csharp public int RawScore { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/SearchPrecision.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/SearchPrecision.md index 4c3e66b..89661a6 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/SearchPrecision.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/SearchPrecision.md @@ -1,5 +1,7 @@ # MatchResult.SearchPrecision property +The search precision score used to filter the search results. + ```csharp public SearchPrecisionScore SearchPrecision { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/Success.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/Success.md index ab9b3d3..2e2935e 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/Success.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/MatchResult/Success.md @@ -1,5 +1,7 @@ # MatchResult.Success property +Whether the match operation was successful. + ```csharp public bool Success { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo.md new file mode 100644 index 0000000..ee19522 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo.md @@ -0,0 +1,31 @@ +# MonitorInfo class + +Contains full information about a display monitor. Inspired from: https://github.com/Jack251970/DesktopWidgets3. + +```csharp +public class MonitorInfo +``` + +## Public Members + +| name | description | +| --- | --- | +| static [GetCursorDisplayMonitor](MonitorInfo/GetCursorDisplayMonitor.md)() | Gets the display monitor that contains the cursor. | +| static [GetNearestDisplayMonitor](MonitorInfo/GetNearestDisplayMonitor.md)(…) | Gets the display monitor that is nearest to a given window. | +| static [GetPrimaryDisplayMonitor](MonitorInfo/GetPrimaryDisplayMonitor.md)() | Gets the primary display monitor (the one that contains the taskbar). | +| [Bounds](MonitorInfo/Bounds.md) { get; } | Gets the display monitor rectangle, expressed in virtual-screen coordinates. | +| [IsPrimary](MonitorInfo/IsPrimary.md) { get; } | Gets if the monitor is the primary display monitor. | +| [Name](MonitorInfo/Name.md) { get; } | Gets the name of the display. | +| [WorkingArea](MonitorInfo/WorkingArea.md) { get; } | Gets the work area rectangle of the display monitor, expressed in virtual-screen coordinates. | +| override [ToString](MonitorInfo/ToString.md)() | | +| static [GetDisplayMonitors](MonitorInfo/GetDisplayMonitors.md)() | Gets the display monitors (including invisible pseudo-monitors associated with the mirroring drivers). | + +## Remarks + +Use this class to replace the System.Windows.Forms.Screen class which can cause possible System.PlatformNotSupportedException. + +## See Also + +* namespace [Flow.Launcher.Plugin.SharedModels](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/Bounds.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/Bounds.md new file mode 100644 index 0000000..723f01e --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/Bounds.md @@ -0,0 +1,18 @@ +# MonitorInfo.Bounds property + +Gets the display monitor rectangle, expressed in virtual-screen coordinates. + +```csharp +public Rect Bounds { get; } +``` + +## Remarks + +If the monitor is not the primary display monitor, some of the rectangle's coordinates may be negative values. + +## See Also + +* class [MonitorInfo](../MonitorInfo.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/GetCursorDisplayMonitor.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/GetCursorDisplayMonitor.md new file mode 100644 index 0000000..25c3683 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/GetCursorDisplayMonitor.md @@ -0,0 +1,18 @@ +# MonitorInfo.GetCursorDisplayMonitor method + +Gets the display monitor that contains the cursor. + +```csharp +public static MonitorInfo GetCursorDisplayMonitor() +``` + +## Return Value + +The display monitor that contains the cursor, or null if no monitor is found. + +## See Also + +* class [MonitorInfo](../MonitorInfo.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/GetDisplayMonitors.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/GetDisplayMonitors.md new file mode 100644 index 0000000..23a855c --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/GetDisplayMonitors.md @@ -0,0 +1,18 @@ +# MonitorInfo.GetDisplayMonitors method + +Gets the display monitors (including invisible pseudo-monitors associated with the mirroring drivers). + +```csharp +public static IList GetDisplayMonitors() +``` + +## Return Value + +A list of display monitors + +## See Also + +* class [MonitorInfo](../MonitorInfo.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/GetNearestDisplayMonitor.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/GetNearestDisplayMonitor.md new file mode 100644 index 0000000..01c7e43 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/GetNearestDisplayMonitor.md @@ -0,0 +1,22 @@ +# MonitorInfo.GetNearestDisplayMonitor method + +Gets the display monitor that is nearest to a given window. + +```csharp +public static MonitorInfo GetNearestDisplayMonitor(IntPtr hwnd) +``` + +| parameter | description | +| --- | --- | +| hwnd | Window handle | + +## Return Value + +The display monitor that is nearest to a given window, or null if no monitor is found. + +## See Also + +* class [MonitorInfo](../MonitorInfo.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/GetPrimaryDisplayMonitor.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/GetPrimaryDisplayMonitor.md new file mode 100644 index 0000000..8d3b959 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/GetPrimaryDisplayMonitor.md @@ -0,0 +1,18 @@ +# MonitorInfo.GetPrimaryDisplayMonitor method + +Gets the primary display monitor (the one that contains the taskbar). + +```csharp +public static MonitorInfo GetPrimaryDisplayMonitor() +``` + +## Return Value + +The primary display monitor, or null if no monitor is found. + +## See Also + +* class [MonitorInfo](../MonitorInfo.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/IsPrimary.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/IsPrimary.md new file mode 100644 index 0000000..8a113f0 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/IsPrimary.md @@ -0,0 +1,14 @@ +# MonitorInfo.IsPrimary property + +Gets if the monitor is the primary display monitor. + +```csharp +public bool IsPrimary { get; } +``` + +## See Also + +* class [MonitorInfo](../MonitorInfo.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/Name.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/Name.md new file mode 100644 index 0000000..1769c6a --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/Name.md @@ -0,0 +1,14 @@ +# MonitorInfo.Name property + +Gets the name of the display. + +```csharp +public string Name { get; } +``` + +## See Also + +* class [MonitorInfo](../MonitorInfo.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/ToString.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/ToString.md new file mode 100644 index 0000000..98fab71 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/ToString.md @@ -0,0 +1,12 @@ +# MonitorInfo.ToString method + +```csharp +public override string ToString() +``` + +## See Also + +* class [MonitorInfo](../MonitorInfo.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/WorkingArea.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/WorkingArea.md new file mode 100644 index 0000000..385c497 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/MonitorInfo/WorkingArea.md @@ -0,0 +1,18 @@ +# MonitorInfo.WorkingArea property + +Gets the work area rectangle of the display monitor, expressed in virtual-screen coordinates. + +```csharp +public Rect WorkingArea { get; } +``` + +## Remarks + +If the monitor is not the primary display monitor, some of the rectangle's coordinates may be negative values. + +## See Also + +* class [MonitorInfo](../MonitorInfo.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/SearchPrecisionScore.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/SearchPrecisionScore.md index 85ebdb7..1a02476 100644 --- a/API-Reference/Flow.Launcher.Plugin.SharedModels/SearchPrecisionScore.md +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/SearchPrecisionScore.md @@ -1,5 +1,7 @@ # SearchPrecisionScore enumeration +Represents the search precision score used to filter search results. + ```csharp public enum SearchPrecisionScore ``` @@ -8,9 +10,9 @@ public enum SearchPrecisionScore | name | value | description | | --- | --- | --- | -| Regular | `50` | | -| Low | `20` | | -| None | `0` | | +| Regular | `50` | The highest search precision score. | +| Low | `20` | The medium search precision score. | +| None | `0` | The lowest search precision score. | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData.md new file mode 100644 index 0000000..f05558e --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData.md @@ -0,0 +1,28 @@ +# ThemeData class + +Theme data model + +```csharp +public class ThemeData +``` + +## Public Members + +| name | description | +| --- | --- | +| [ThemeData](ThemeData/ThemeData.md)(…) | Theme data constructor | +| [FileNameWithoutExtension](ThemeData/FileNameWithoutExtension.md) { get; } | Theme file name without extension | +| [HasBlur](ThemeData/HasBlur.md) { get; } | Indicates whether the theme supports blur effects | +| [IsDark](ThemeData/IsDark.md) { get; } | Indicates whether the theme supports dark mode | +| [Name](ThemeData/Name.md) { get; } | Theme name | +| override [Equals](ThemeData/Equals.md)(…) | | +| override [GetHashCode](ThemeData/GetHashCode.md)() | | +| override [ToString](ThemeData/ToString.md)() | | +| [operator ==](ThemeData/op_Equality.md) | | +| [operator !=](ThemeData/op_Inequality.md) | | + +## See Also + +* namespace [Flow.Launcher.Plugin.SharedModels](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/Equals.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/Equals.md new file mode 100644 index 0000000..7d40a14 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/Equals.md @@ -0,0 +1,12 @@ +# ThemeData.Equals method + +```csharp +public override bool Equals(object obj) +``` + +## See Also + +* class [ThemeData](../ThemeData.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/FileNameWithoutExtension.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/FileNameWithoutExtension.md new file mode 100644 index 0000000..650cc29 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/FileNameWithoutExtension.md @@ -0,0 +1,14 @@ +# ThemeData.FileNameWithoutExtension property + +Theme file name without extension + +```csharp +public string FileNameWithoutExtension { get; } +``` + +## See Also + +* class [ThemeData](../ThemeData.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/GetHashCode.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/GetHashCode.md new file mode 100644 index 0000000..9338dfb --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/GetHashCode.md @@ -0,0 +1,12 @@ +# ThemeData.GetHashCode method + +```csharp +public override int GetHashCode() +``` + +## See Also + +* class [ThemeData](../ThemeData.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/HasBlur.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/HasBlur.md new file mode 100644 index 0000000..687a928 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/HasBlur.md @@ -0,0 +1,14 @@ +# ThemeData.HasBlur property + +Indicates whether the theme supports blur effects + +```csharp +public bool? HasBlur { get; } +``` + +## See Also + +* class [ThemeData](../ThemeData.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/IsDark.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/IsDark.md new file mode 100644 index 0000000..9e3c10b --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/IsDark.md @@ -0,0 +1,14 @@ +# ThemeData.IsDark property + +Indicates whether the theme supports dark mode + +```csharp +public bool? IsDark { get; } +``` + +## See Also + +* class [ThemeData](../ThemeData.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/Name.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/Name.md new file mode 100644 index 0000000..fc891c8 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/Name.md @@ -0,0 +1,14 @@ +# ThemeData.Name property + +Theme name + +```csharp +public string Name { get; } +``` + +## See Also + +* class [ThemeData](../ThemeData.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/ThemeData.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/ThemeData.md new file mode 100644 index 0000000..5a53e66 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/ThemeData.md @@ -0,0 +1,15 @@ +# ThemeData constructor + +Theme data constructor + +```csharp +public ThemeData(string fileNameWithoutExtension, string name, bool? isDark = null, + bool? hasBlur = null) +``` + +## See Also + +* class [ThemeData](../ThemeData.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/ToString.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/ToString.md new file mode 100644 index 0000000..cd0c3f7 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/ToString.md @@ -0,0 +1,12 @@ +# ThemeData.ToString method + +```csharp +public override string ToString() +``` + +## See Also + +* class [ThemeData](../ThemeData.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/op_Equality.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/op_Equality.md new file mode 100644 index 0000000..315a020 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/op_Equality.md @@ -0,0 +1,12 @@ +# ThemeData Equality operator + +```csharp +public static bool operator ==(ThemeData left, ThemeData right) +``` + +## See Also + +* class [ThemeData](../ThemeData.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/op_Inequality.md b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/op_Inequality.md new file mode 100644 index 0000000..8f27189 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin.SharedModels/ThemeData/op_Inequality.md @@ -0,0 +1,12 @@ +# ThemeData Inequality operator + +```csharp +public static bool operator !=(ThemeData left, ThemeData right) +``` + +## See Also + +* class [ThemeData](../ThemeData.md) +* namespace [Flow.Launcher.Plugin.SharedModels](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin.md b/API-Reference/Flow.Launcher.Plugin.md index 08cba9c..32d7176 100644 --- a/API-Reference/Flow.Launcher.Plugin.md +++ b/API-Reference/Flow.Launcher.Plugin.md @@ -4,49 +4,68 @@ | public type | description | | --- | --- | -| class [ActionContext](./Flow.Launcher.Plugin/ActionContext.md) | | -| delegate [AfterFlowLauncherQueryEventHandler](./Flow.Launcher.Plugin/AfterFlowLauncherQueryEventHandler.md) | | -| static class [AllowedLanguage](./Flow.Launcher.Plugin/AllowedLanguage.md) | | -| class [BaseModel](./Flow.Launcher.Plugin/BaseModel.md) | | +| class [ActionContext](./Flow.Launcher.Plugin/ActionContext.md) | Context provided as a parameter when invoking a [`Action`](./Flow.Launcher.Plugin/Result/Action.md) or [`AsyncAction`](./Flow.Launcher.Plugin/Result/AsyncAction.md) | +| class [ActualApplicationThemeChangedEventArgs](./Flow.Launcher.Plugin/ActualApplicationThemeChangedEventArgs.md) | The event args for [`ActualApplicationThemeChangedEventHandler`](./Flow.Launcher.Plugin/ActualApplicationThemeChangedEventHandler.md) | +| delegate [ActualApplicationThemeChangedEventHandler](./Flow.Launcher.Plugin/ActualApplicationThemeChangedEventHandler.md) | A delegate for when the actual application theme is changed | +| delegate [AfterFlowLauncherQueryEventHandler](./Flow.Launcher.Plugin/AfterFlowLauncherQueryEventHandler.md) | Delegate for query event | +| static class [AllowedLanguage](./Flow.Launcher.Plugin/AllowedLanguage.md) | Allowed plugin languages | +| class [BaseModel](./Flow.Launcher.Plugin/BaseModel.md) | Base model for plugin classes | +| class [DialogJumpResult](./Flow.Launcher.Plugin/DialogJumpResult.md) | Describes a result of a [`Query`](./Flow.Launcher.Plugin/Query.md) executed by a plugin in Dialog Jump window | | delegate [FlowLauncherGlobalKeyboardEventHandler](./Flow.Launcher.Plugin/FlowLauncherGlobalKeyboardEventHandler.md) | Global keyboard events | -| class [FlowLauncherKeyDownEventArgs](./Flow.Launcher.Plugin/FlowLauncherKeyDownEventArgs.md) | | -| delegate [FlowLauncherKeyDownEventHandler](./Flow.Launcher.Plugin/FlowLauncherKeyDownEventHandler.md) | | -| class [FlowLauncherQueryEventArgs](./Flow.Launcher.Plugin/FlowLauncherQueryEventArgs.md) | | +| class [FlowLauncherKeyDownEventArgs](./Flow.Launcher.Plugin/FlowLauncherKeyDownEventArgs.md) | Arguments container for the Key Down event | +| delegate [FlowLauncherKeyDownEventHandler](./Flow.Launcher.Plugin/FlowLauncherKeyDownEventHandler.md) | Delegate for key down event | +| class [FlowLauncherQueryEventArgs](./Flow.Launcher.Plugin/FlowLauncherQueryEventArgs.md) | Arguments container for the Query event | | record [GlyphInfo](./Flow.Launcher.Plugin/GlyphInfo.md) | Text with FontFamily specified | +| interface [IAsyncDialogJump](./Flow.Launcher.Plugin/IAsyncDialogJump.md) | Asynchronous Dialog Jump Model | +| interface [IAsyncExternalPreview](./Flow.Launcher.Plugin/IAsyncExternalPreview.md) | This interface is for plugins that wish to provide file preview (external preview) via a third party app instead of the default preview. | +| interface [IAsyncHomeQuery](./Flow.Launcher.Plugin/IAsyncHomeQuery.md) | Asynchronous Query Model for Flow Launcher When Query Text is Empty | | interface [IAsyncPlugin](./Flow.Launcher.Plugin/IAsyncPlugin.md) | Asynchronous Plugin Model for Flow Launcher | -| interface [IAsyncReloadable](./Flow.Launcher.Plugin/IAsyncReloadable.md) | This interface is to indicate and allow plugins to asynchronously reload their in memory data cache or other mediums when user makes a new change that is not immediately captured. For example, for BrowserBookmark and Program plugin does not automatically detect when a user added a new bookmark or program, so this interface's function is exposed to allow user manually do the reloading after those new additions. The command that allows user to manual reload is exposed via Plugin.Sys, and it will call the plugins that have implemented this interface. | -| interface [IContextMenu](./Flow.Launcher.Plugin/IContextMenu.md) | | +| interface [IAsyncReloadable](./Flow.Launcher.Plugin/IAsyncReloadable.md) | This interface is to indicate and allow plugins to asyncronously reload their in memory data cache or other mediums when user makes a new change that is not immediately captured. For example, for BrowserBookmark and Program plugin does not automatically detect when a user added a new bookmark or program, so this interface's function is exposed to allow user manually do the reloading after those new additions. The command that allows user to manual reload is exposed via Plugin.Sys, and it will call the plugins that have implemented this interface. | +| interface [IContextMenu](./Flow.Launcher.Plugin/IContextMenu.md) | Adds support for presenting additional options for a given [`Result`](./Flow.Launcher.Plugin/Result.md) from a context menu. | +| interface [IDialogJump](./Flow.Launcher.Plugin/IDialogJump.md) | Synchronous Dialog Jump Model | +| interface [IDialogJumpDialog](./Flow.Launcher.Plugin/IDialogJumpDialog.md) | Interface for handling file dialog instances in DialogJump. | +| interface [IDialogJumpDialogWindow](./Flow.Launcher.Plugin/IDialogJumpDialogWindow.md) | Interface for handling a specific file dialog window in DialogJump. | +| interface [IDialogJumpDialogWindowTab](./Flow.Launcher.Plugin/IDialogJumpDialogWindowTab.md) | Interface for handling a specific tab in a file dialog window in DialogJump. | +| interface [IDialogJumpExplorer](./Flow.Launcher.Plugin/IDialogJumpExplorer.md) | Interface for handling file explorer instances in DialogJump. | +| interface [IDialogJumpExplorerWindow](./Flow.Launcher.Plugin/IDialogJumpExplorerWindow.md) | Interface for handling a specific file explorer window in DialogJump. | | interface [IFeatures](./Flow.Launcher.Plugin/IFeatures.md) | Base Interface for Flow's special plugin feature interface | +| interface [IHomeQuery](./Flow.Launcher.Plugin/IHomeQuery.md) | Synchronous Query Model for Flow Launcher When Query Text is Empty | | interface [IPlugin](./Flow.Launcher.Plugin/IPlugin.md) | Synchronous Plugin Model for Flow Launcher | | interface [IPluginI18n](./Flow.Launcher.Plugin/IPluginI18n.md) | Represent plugins that support internationalization | | interface [IPublicAPI](./Flow.Launcher.Plugin/IPublicAPI.md) | Public APIs that plugin can use | | interface [IReloadable](./Flow.Launcher.Plugin/IReloadable.md) | This interface is to indicate and allow plugins to synchronously reload their in memory data cache or other mediums when user makes a new change that is not immediately captured. For example, for BrowserBookmark and Program plugin does not automatically detect when a user added a new bookmark or program, so this interface's function is exposed to allow user manually do the reloading after those new additions. The command that allows user to manual reload is exposed via Plugin.Sys, and it will call the plugins that have implemented this interface. | -| interface [IResultUpdated](./Flow.Launcher.Plugin/IResultUpdated.md) | | -| interface [ISavable](./Flow.Launcher.Plugin/ISavable.md) | Save additional plugin data. Inherit this interface if additional data e.g. cache needs to be saved, Otherwise if LoadSettingJsonStorage or SaveSettingJsonStorage has been called, plugin settings will be automatically saved (see Flow.Launcher/PublicAPIInstance.SavePluginSettings) by Flow | -| interface [ISettingProvider](./Flow.Launcher.Plugin/ISettingProvider.md) | | -| class [PluginInitContext](./Flow.Launcher.Plugin/PluginInitContext.md) | | -| class [PluginMetadata](./Flow.Launcher.Plugin/PluginMetadata.md) | | -| class [PluginPair](./Flow.Launcher.Plugin/PluginPair.md) | | -| class [Query](./Flow.Launcher.Plugin/Query.md) | | -| class [Result](./Flow.Launcher.Plugin/Result.md) | | -| delegate [ResultItemDropEventHandler](./Flow.Launcher.Plugin/ResultItemDropEventHandler.md) | | -| class [ResultUpdatedEventArgs](./Flow.Launcher.Plugin/ResultUpdatedEventArgs.md) | | -| delegate [ResultUpdatedEventHandler](./Flow.Launcher.Plugin/ResultUpdatedEventHandler.md) | | -| class [SpecialKeyState](./Flow.Launcher.Plugin/SpecialKeyState.md) | | +| interface [IResultUpdated](./Flow.Launcher.Plugin/IResultUpdated.md) | Interface for plugins that want to manually update their results | +| interface [ISavable](./Flow.Launcher.Plugin/ISavable.md) | Inherit this interface if you need to save additional data which is not a setting or cache, please implement this interface. | +| interface [ISettingProvider](./Flow.Launcher.Plugin/ISettingProvider.md) | This interface is used to create settings panel for .Net plugins | +| enum [KeyEvent](./Flow.Launcher.Plugin/KeyEvent.md) | Enumeration of key events for [`RegisterGlobalKeyboardCallback`](./Flow.Launcher.Plugin/IPublicAPI/RegisterGlobalKeyboardCallback.md) and [`RemoveGlobalKeyboardCallback`](./Flow.Launcher.Plugin/IPublicAPI/RemoveGlobalKeyboardCallback.md) | +| class [PluginInitContext](./Flow.Launcher.Plugin/PluginInitContext.md) | Carries data passed to a plugin when it gets initialized. | +| class [PluginMetadata](./Flow.Launcher.Plugin/PluginMetadata.md) | Plugin metadata | +| class [PluginPair](./Flow.Launcher.Plugin/PluginPair.md) | Plugin instance and plugin metadata | +| class [Query](./Flow.Launcher.Plugin/Query.md) | Represents a query that is sent to a plugin. | +| class [Result](./Flow.Launcher.Plugin/Result.md) | Describes a result of a [`Query`](./Flow.Launcher.Plugin/Query.md) executed by a plugin | +| delegate [ResultItemDropEventHandler](./Flow.Launcher.Plugin/ResultItemDropEventHandler.md) | Delegate for drop events [unused?] | +| class [ResultUpdatedEventArgs](./Flow.Launcher.Plugin/ResultUpdatedEventArgs.md) | Event arguments for the ResultsUpdated event | +| delegate [ResultUpdatedEventHandler](./Flow.Launcher.Plugin/ResultUpdatedEventHandler.md) | Delegate for the ResultsUpdated event | +| class [SpecialKeyState](./Flow.Launcher.Plugin/SpecialKeyState.md) | Contains the press state of certain special keys. | +| record [UserPlugin](./Flow.Launcher.Plugin/UserPlugin.md) | User Plugin Model for Flow Launcher | +| class [VisibilityChangedEventArgs](./Flow.Launcher.Plugin/VisibilityChangedEventArgs.md) | The event args for [`VisibilityChangedEventHandler`](./Flow.Launcher.Plugin/VisibilityChangedEventHandler.md) | +| delegate [VisibilityChangedEventHandler](./Flow.Launcher.Plugin/VisibilityChangedEventHandler.md) | A delegate for when the visibility is changed | ## Flow.Launcher.Plugin.SharedCommands namespace | public type | description | | --- | --- | -| static class [FilesFolders](./Flow.Launcher.Plugin.SharedCommands/FilesFolders.md) | | -| static class [SearchWeb](./Flow.Launcher.Plugin.SharedCommands/SearchWeb.md) | | -| static class [ShellCommand](./Flow.Launcher.Plugin.SharedCommands/ShellCommand.md) | | +| static class [FilesFolders](./Flow.Launcher.Plugin.SharedCommands/FilesFolders.md) | Commands that are useful to run on files... and folders! | +| static class [SearchWeb](./Flow.Launcher.Plugin.SharedCommands/SearchWeb.md) | Contains methods to open a search in a new browser window or tab. | +| static class [ShellCommand](./Flow.Launcher.Plugin.SharedCommands/ShellCommand.md) | Contains methods for running shell commands | ## Flow.Launcher.Plugin.SharedModels namespace | public type | description | | --- | --- | -| class [MatchResult](./Flow.Launcher.Plugin.SharedModels/MatchResult.md) | | -| enum [SearchPrecisionScore](./Flow.Launcher.Plugin.SharedModels/SearchPrecisionScore.md) | | +| class [MatchResult](./Flow.Launcher.Plugin.SharedModels/MatchResult.md) | Represents the result of a match operation. | +| class [MonitorInfo](./Flow.Launcher.Plugin.SharedModels/MonitorInfo.md) | Contains full information about a display monitor. Inspired from: https://github.com/Jack251970/DesktopWidgets3. | +| enum [SearchPrecisionScore](./Flow.Launcher.Plugin.SharedModels/SearchPrecisionScore.md) | Represents the search precision score used to filter search results. | +| class [ThemeData](./Flow.Launcher.Plugin.SharedModels/ThemeData.md) | Theme data model | diff --git a/API-Reference/Flow.Launcher.Plugin/ActionContext.md b/API-Reference/Flow.Launcher.Plugin/ActionContext.md index 3bdbee3..b64ef50 100644 --- a/API-Reference/Flow.Launcher.Plugin/ActionContext.md +++ b/API-Reference/Flow.Launcher.Plugin/ActionContext.md @@ -1,5 +1,7 @@ # ActionContext class +Context provided as a parameter when invoking a [`Action`](./Result/Action.md) or [`AsyncAction`](./Result/AsyncAction.md) + ```csharp public class ActionContext ``` @@ -9,7 +11,7 @@ public class ActionContext | name | description | | --- | --- | | [ActionContext](ActionContext/ActionContext.md)() | The default constructor. | -| [SpecialKeyState](ActionContext/SpecialKeyState.md) { get; set; } | | +| [SpecialKeyState](ActionContext/SpecialKeyState.md) { get; set; } | Contains the press state of certain special keys. | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/ActionContext/SpecialKeyState.md b/API-Reference/Flow.Launcher.Plugin/ActionContext/SpecialKeyState.md index abb0e86..8defcd7 100644 --- a/API-Reference/Flow.Launcher.Plugin/ActionContext/SpecialKeyState.md +++ b/API-Reference/Flow.Launcher.Plugin/ActionContext/SpecialKeyState.md @@ -1,5 +1,7 @@ # ActionContext.SpecialKeyState property +Contains the press state of certain special keys. + ```csharp public SpecialKeyState SpecialKeyState { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/ActualApplicationThemeChangedEventArgs.md b/API-Reference/Flow.Launcher.Plugin/ActualApplicationThemeChangedEventArgs.md new file mode 100644 index 0000000..5b93bf2 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/ActualApplicationThemeChangedEventArgs.md @@ -0,0 +1,20 @@ +# ActualApplicationThemeChangedEventArgs class + +The event args for [`ActualApplicationThemeChangedEventHandler`](./ActualApplicationThemeChangedEventHandler.md) + +```csharp +public class ActualApplicationThemeChangedEventArgs : EventArgs +``` + +## Public Members + +| name | description | +| --- | --- | +| [ActualApplicationThemeChangedEventArgs](ActualApplicationThemeChangedEventArgs/ActualApplicationThemeChangedEventArgs.md)() | The default constructor. | +| [IsDark](ActualApplicationThemeChangedEventArgs/IsDark.md) { get; set; } | `true` if the application has changed actual theme | + +## See Also + +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/ActualApplicationThemeChangedEventArgs/ActualApplicationThemeChangedEventArgs.md b/API-Reference/Flow.Launcher.Plugin/ActualApplicationThemeChangedEventArgs/ActualApplicationThemeChangedEventArgs.md new file mode 100644 index 0000000..883c150 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/ActualApplicationThemeChangedEventArgs/ActualApplicationThemeChangedEventArgs.md @@ -0,0 +1,14 @@ +# ActualApplicationThemeChangedEventArgs constructor + +The default constructor. + +```csharp +public ActualApplicationThemeChangedEventArgs() +``` + +## See Also + +* class [ActualApplicationThemeChangedEventArgs](../ActualApplicationThemeChangedEventArgs.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/ActualApplicationThemeChangedEventArgs/IsDark.md b/API-Reference/Flow.Launcher.Plugin/ActualApplicationThemeChangedEventArgs/IsDark.md new file mode 100644 index 0000000..70a8e44 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/ActualApplicationThemeChangedEventArgs/IsDark.md @@ -0,0 +1,14 @@ +# ActualApplicationThemeChangedEventArgs.IsDark property + +`true` if the application has changed actual theme + +```csharp +public bool IsDark { get; set; } +``` + +## See Also + +* class [ActualApplicationThemeChangedEventArgs](../ActualApplicationThemeChangedEventArgs.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/ActualApplicationThemeChangedEventHandler.md b/API-Reference/Flow.Launcher.Plugin/ActualApplicationThemeChangedEventHandler.md new file mode 100644 index 0000000..7ea3772 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/ActualApplicationThemeChangedEventHandler.md @@ -0,0 +1,20 @@ +# ActualApplicationThemeChangedEventHandler delegate + +A delegate for when the actual application theme is changed + +```csharp +public delegate void ActualApplicationThemeChangedEventHandler(object sender, + ActualApplicationThemeChangedEventArgs args); +``` + +| parameter | description | +| --- | --- | +| sender | | +| args | | + +## See Also + +* class [ActualApplicationThemeChangedEventArgs](./ActualApplicationThemeChangedEventArgs.md) +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/AfterFlowLauncherQueryEventHandler.md b/API-Reference/Flow.Launcher.Plugin/AfterFlowLauncherQueryEventHandler.md index 03ea3c1..1fc8da6 100644 --- a/API-Reference/Flow.Launcher.Plugin/AfterFlowLauncherQueryEventHandler.md +++ b/API-Reference/Flow.Launcher.Plugin/AfterFlowLauncherQueryEventHandler.md @@ -1,9 +1,15 @@ # AfterFlowLauncherQueryEventHandler delegate +Delegate for query event + ```csharp public delegate void AfterFlowLauncherQueryEventHandler(FlowLauncherQueryEventArgs e); ``` +| parameter | description | +| --- | --- | +| e | | + ## See Also * class [FlowLauncherQueryEventArgs](./FlowLauncherQueryEventArgs.md) diff --git a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage.md b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage.md index 09ef0ad..302b21a 100644 --- a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage.md +++ b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage.md @@ -1,5 +1,7 @@ # AllowedLanguage class +Allowed plugin languages + ```csharp public static class AllowedLanguage ``` @@ -8,12 +10,21 @@ public static class AllowedLanguage | name | description | | --- | --- | -| static [CSharp](AllowedLanguage/CSharp.md) { get; } | | -| static [Executable](AllowedLanguage/Executable.md) { get; } | | -| static [FSharp](AllowedLanguage/FSharp.md) { get; } | | -| static [Python](AllowedLanguage/Python.md) { get; } | | -| static [IsAllowed](AllowedLanguage/IsAllowed.md)(…) | | -| static [IsDotNet](AllowedLanguage/IsDotNet.md)(…) | | +| const [CSharp](AllowedLanguage/CSharp.md) | C# | +| const [Executable](AllowedLanguage/Executable.md) | Standard .exe | +| const [ExecutableV2](AllowedLanguage/ExecutableV2.md) | Standard .exe | +| const [FSharp](AllowedLanguage/FSharp.md) | F# | +| const [JavaScript](AllowedLanguage/JavaScript.md) | JavaScript | +| const [JavaScriptV2](AllowedLanguage/JavaScriptV2.md) | JavaScript | +| const [Python](AllowedLanguage/Python.md) | Python | +| const [PythonV2](AllowedLanguage/PythonV2.md) | Python V2 | +| const [TypeScript](AllowedLanguage/TypeScript.md) | TypeScript | +| const [TypeScriptV2](AllowedLanguage/TypeScriptV2.md) | TypeScript | +| static [IsAllowed](AllowedLanguage/IsAllowed.md)(…) | Determines if this language is supported | +| static [IsDotNet](AllowedLanguage/IsDotNet.md)(…) | Determines if this language is a .NET language | +| static [IsExecutable](AllowedLanguage/IsExecutable.md)(…) | Determines if this language is a executable language | +| static [IsNodeJs](AllowedLanguage/IsNodeJs.md)(…) | Determines if this language is a Node.js language | +| static [IsPython](AllowedLanguage/IsPython.md)(…) | Determines if this language is a Python language | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/CSharp.md b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/CSharp.md index ad1e22d..fa7b0bb 100644 --- a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/CSharp.md +++ b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/CSharp.md @@ -1,7 +1,9 @@ -# AllowedLanguage.CSharp property +# AllowedLanguage.CSharp field + +C# ```csharp -public static string CSharp { get; } +public const string CSharp; ``` ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/Executable.md b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/Executable.md index ecabc9b..0f63673 100644 --- a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/Executable.md +++ b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/Executable.md @@ -1,7 +1,9 @@ -# AllowedLanguage.Executable property +# AllowedLanguage.Executable field + +Standard .exe ```csharp -public static string Executable { get; } +public const string Executable; ``` ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/ExecutableV2.md b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/ExecutableV2.md new file mode 100644 index 0000000..36627c6 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/ExecutableV2.md @@ -0,0 +1,14 @@ +# AllowedLanguage.ExecutableV2 field + +Standard .exe + +```csharp +public const string ExecutableV2; +``` + +## See Also + +* class [AllowedLanguage](../AllowedLanguage.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/FSharp.md b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/FSharp.md index bc824e7..234b222 100644 --- a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/FSharp.md +++ b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/FSharp.md @@ -1,7 +1,9 @@ -# AllowedLanguage.FSharp property +# AllowedLanguage.FSharp field + +F# ```csharp -public static string FSharp { get; } +public const string FSharp; ``` ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsAllowed.md b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsAllowed.md index cad347c..e24e3ff 100644 --- a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsAllowed.md +++ b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsAllowed.md @@ -1,9 +1,15 @@ # AllowedLanguage.IsAllowed method +Determines if this language is supported + ```csharp public static bool IsAllowed(string language) ``` +| parameter | description | +| --- | --- | +| language | | + ## See Also * class [AllowedLanguage](../AllowedLanguage.md) diff --git a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsDotNet.md b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsDotNet.md index e8d9c68..202a864 100644 --- a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsDotNet.md +++ b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsDotNet.md @@ -1,9 +1,15 @@ # AllowedLanguage.IsDotNet method +Determines if this language is a .NET language + ```csharp public static bool IsDotNet(string language) ``` +| parameter | description | +| --- | --- | +| language | | + ## See Also * class [AllowedLanguage](../AllowedLanguage.md) diff --git a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsExecutable.md b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsExecutable.md new file mode 100644 index 0000000..1e2af7e --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsExecutable.md @@ -0,0 +1,18 @@ +# AllowedLanguage.IsExecutable method + +Determines if this language is a executable language + +```csharp +public static bool IsExecutable(string language) +``` + +| parameter | description | +| --- | --- | +| language | | + +## See Also + +* class [AllowedLanguage](../AllowedLanguage.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsNodeJs.md b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsNodeJs.md new file mode 100644 index 0000000..d7ee19d --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsNodeJs.md @@ -0,0 +1,18 @@ +# AllowedLanguage.IsNodeJs method + +Determines if this language is a Node.js language + +```csharp +public static bool IsNodeJs(string language) +``` + +| parameter | description | +| --- | --- | +| language | | + +## See Also + +* class [AllowedLanguage](../AllowedLanguage.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsPython.md b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsPython.md new file mode 100644 index 0000000..d40a210 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/IsPython.md @@ -0,0 +1,18 @@ +# AllowedLanguage.IsPython method + +Determines if this language is a Python language + +```csharp +public static bool IsPython(string language) +``` + +| parameter | description | +| --- | --- | +| language | | + +## See Also + +* class [AllowedLanguage](../AllowedLanguage.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/JavaScript.md b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/JavaScript.md new file mode 100644 index 0000000..0e6dd15 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/JavaScript.md @@ -0,0 +1,14 @@ +# AllowedLanguage.JavaScript field + +JavaScript + +```csharp +public const string JavaScript; +``` + +## See Also + +* class [AllowedLanguage](../AllowedLanguage.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/JavaScriptV2.md b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/JavaScriptV2.md new file mode 100644 index 0000000..211a1d6 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/JavaScriptV2.md @@ -0,0 +1,14 @@ +# AllowedLanguage.JavaScriptV2 field + +JavaScript + +```csharp +public const string JavaScriptV2; +``` + +## See Also + +* class [AllowedLanguage](../AllowedLanguage.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/Python.md b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/Python.md index 0bcbbff..55dc4f0 100644 --- a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/Python.md +++ b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/Python.md @@ -1,7 +1,9 @@ -# AllowedLanguage.Python property +# AllowedLanguage.Python field + +Python ```csharp -public static string Python { get; } +public const string Python; ``` ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/PythonV2.md b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/PythonV2.md new file mode 100644 index 0000000..b84f615 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/PythonV2.md @@ -0,0 +1,14 @@ +# AllowedLanguage.PythonV2 field + +Python V2 + +```csharp +public const string PythonV2; +``` + +## See Also + +* class [AllowedLanguage](../AllowedLanguage.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/TypeScript.md b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/TypeScript.md new file mode 100644 index 0000000..3d1b6b4 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/TypeScript.md @@ -0,0 +1,14 @@ +# AllowedLanguage.TypeScript field + +TypeScript + +```csharp +public const string TypeScript; +``` + +## See Also + +* class [AllowedLanguage](../AllowedLanguage.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/TypeScriptV2.md b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/TypeScriptV2.md new file mode 100644 index 0000000..d4199f7 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/AllowedLanguage/TypeScriptV2.md @@ -0,0 +1,14 @@ +# AllowedLanguage.TypeScriptV2 field + +TypeScript + +```csharp +public const string TypeScriptV2; +``` + +## See Also + +* class [AllowedLanguage](../AllowedLanguage.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/BaseModel.md b/API-Reference/Flow.Launcher.Plugin/BaseModel.md index fc8b9cd..093f28f 100644 --- a/API-Reference/Flow.Launcher.Plugin/BaseModel.md +++ b/API-Reference/Flow.Launcher.Plugin/BaseModel.md @@ -1,5 +1,7 @@ # BaseModel class +Base model for plugin classes + ```csharp public class BaseModel : INotifyPropertyChanged ``` @@ -9,13 +11,13 @@ public class BaseModel : INotifyPropertyChanged | name | description | | --- | --- | | [BaseModel](BaseModel/BaseModel.md)() | The default constructor. | -| event [PropertyChanged](BaseModel/PropertyChanged.md) | | +| event [PropertyChanged](BaseModel/PropertyChanged.md) | Property changed event handler | ## Protected Members | name | description | | --- | --- | -| [OnPropertyChanged](BaseModel/OnPropertyChanged.md)(…) | | +| [OnPropertyChanged](BaseModel/OnPropertyChanged.md)(…) | Invoked when a property changes | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/BaseModel/OnPropertyChanged.md b/API-Reference/Flow.Launcher.Plugin/BaseModel/OnPropertyChanged.md index 05c1f30..1c1d812 100644 --- a/API-Reference/Flow.Launcher.Plugin/BaseModel/OnPropertyChanged.md +++ b/API-Reference/Flow.Launcher.Plugin/BaseModel/OnPropertyChanged.md @@ -1,9 +1,15 @@ # BaseModel.OnPropertyChanged method +Invoked when a property changes + ```csharp protected void OnPropertyChanged([CallerMemberName] string propertyName = null) ``` +| parameter | description | +| --- | --- | +| propertyName | | + ## See Also * class [BaseModel](../BaseModel.md) diff --git a/API-Reference/Flow.Launcher.Plugin/BaseModel/PropertyChanged.md b/API-Reference/Flow.Launcher.Plugin/BaseModel/PropertyChanged.md index abdcb7f..39b5c4a 100644 --- a/API-Reference/Flow.Launcher.Plugin/BaseModel/PropertyChanged.md +++ b/API-Reference/Flow.Launcher.Plugin/BaseModel/PropertyChanged.md @@ -1,5 +1,7 @@ # BaseModel.PropertyChanged event +Property changed event handler + ```csharp public event PropertyChangedEventHandler PropertyChanged; ``` diff --git a/API-Reference/Flow.Launcher.Plugin/DialogJumpResult.md b/API-Reference/Flow.Launcher.Plugin/DialogJumpResult.md new file mode 100644 index 0000000..1e4c9ad --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/DialogJumpResult.md @@ -0,0 +1,22 @@ +# DialogJumpResult class + +Describes a result of a [`Query`](./Query.md) executed by a plugin in Dialog Jump window + +```csharp +public class DialogJumpResult : Result +``` + +## Public Members + +| name | description | +| --- | --- | +| static [From](DialogJumpResult/From.md)(…) | Convert [`Result`](./Result.md) to [`DialogJumpResult`](./DialogJumpResult.md). | +| [DialogJumpPath](DialogJumpResult/DialogJumpPath.md) { get; set; } | This holds the path which can be provided by plugin to be navigated to the file dialog when records in Dialog Jump window is right clicked on a result. | +| [Clone](DialogJumpResult/Clone.md)() | Clones the current Dialog Jump result | + +## See Also + +* class [Result](./Result.md) +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/DialogJumpResult/Clone.md b/API-Reference/Flow.Launcher.Plugin/DialogJumpResult/Clone.md new file mode 100644 index 0000000..3f914b2 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/DialogJumpResult/Clone.md @@ -0,0 +1,14 @@ +# DialogJumpResult.Clone method + +Clones the current Dialog Jump result + +```csharp +public DialogJumpResult Clone() +``` + +## See Also + +* class [DialogJumpResult](../DialogJumpResult.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/DialogJumpResult/DialogJumpPath.md b/API-Reference/Flow.Launcher.Plugin/DialogJumpResult/DialogJumpPath.md new file mode 100644 index 0000000..c8598f7 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/DialogJumpResult/DialogJumpPath.md @@ -0,0 +1,14 @@ +# DialogJumpResult.DialogJumpPath property + +This holds the path which can be provided by plugin to be navigated to the file dialog when records in Dialog Jump window is right clicked on a result. + +```csharp +public string DialogJumpPath { get; set; } +``` + +## See Also + +* class [DialogJumpResult](../DialogJumpResult.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/DialogJumpResult/From.md b/API-Reference/Flow.Launcher.Plugin/DialogJumpResult/From.md new file mode 100644 index 0000000..cfeb0f5 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/DialogJumpResult/From.md @@ -0,0 +1,15 @@ +# DialogJumpResult.From method + +Convert [`Result`](../Result.md) to [`DialogJumpResult`](../DialogJumpResult.md). + +```csharp +public static DialogJumpResult From(Result result, string dialogJumpPath) +``` + +## See Also + +* class [Result](../Result.md) +* class [DialogJumpResult](../DialogJumpResult.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/FlowLauncherKeyDownEventArgs.md b/API-Reference/Flow.Launcher.Plugin/FlowLauncherKeyDownEventArgs.md index 3ad0121..fe7e7b8 100644 --- a/API-Reference/Flow.Launcher.Plugin/FlowLauncherKeyDownEventArgs.md +++ b/API-Reference/Flow.Launcher.Plugin/FlowLauncherKeyDownEventArgs.md @@ -1,5 +1,7 @@ # FlowLauncherKeyDownEventArgs class +Arguments container for the Key Down event + ```csharp public class FlowLauncherKeyDownEventArgs ``` @@ -9,8 +11,8 @@ public class FlowLauncherKeyDownEventArgs | name | description | | --- | --- | | [FlowLauncherKeyDownEventArgs](FlowLauncherKeyDownEventArgs/FlowLauncherKeyDownEventArgs.md)() | The default constructor. | -| [keyEventArgs](FlowLauncherKeyDownEventArgs/keyEventArgs.md) { get; set; } | | -| [Query](FlowLauncherKeyDownEventArgs/Query.md) { get; set; } | | +| [keyEventArgs](FlowLauncherKeyDownEventArgs/keyEventArgs.md) { get; set; } | Relevant key events for this event | +| [Query](FlowLauncherKeyDownEventArgs/Query.md) { get; set; } | The actual query | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/FlowLauncherKeyDownEventArgs/Query.md b/API-Reference/Flow.Launcher.Plugin/FlowLauncherKeyDownEventArgs/Query.md index 4be61a5..4198e8e 100644 --- a/API-Reference/Flow.Launcher.Plugin/FlowLauncherKeyDownEventArgs/Query.md +++ b/API-Reference/Flow.Launcher.Plugin/FlowLauncherKeyDownEventArgs/Query.md @@ -1,5 +1,7 @@ # FlowLauncherKeyDownEventArgs.Query property +The actual query + ```csharp public string Query { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/FlowLauncherKeyDownEventArgs/keyEventArgs.md b/API-Reference/Flow.Launcher.Plugin/FlowLauncherKeyDownEventArgs/keyEventArgs.md index 4dc13c6..82d4206 100644 --- a/API-Reference/Flow.Launcher.Plugin/FlowLauncherKeyDownEventArgs/keyEventArgs.md +++ b/API-Reference/Flow.Launcher.Plugin/FlowLauncherKeyDownEventArgs/keyEventArgs.md @@ -1,5 +1,7 @@ # FlowLauncherKeyDownEventArgs.keyEventArgs property +Relevant key events for this event + ```csharp public KeyEventArgs keyEventArgs { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/FlowLauncherKeyDownEventHandler.md b/API-Reference/Flow.Launcher.Plugin/FlowLauncherKeyDownEventHandler.md index e5c9aa6..45dc76f 100644 --- a/API-Reference/Flow.Launcher.Plugin/FlowLauncherKeyDownEventHandler.md +++ b/API-Reference/Flow.Launcher.Plugin/FlowLauncherKeyDownEventHandler.md @@ -1,9 +1,15 @@ # FlowLauncherKeyDownEventHandler delegate +Delegate for key down event + ```csharp public delegate void FlowLauncherKeyDownEventHandler(FlowLauncherKeyDownEventArgs e); ``` +| parameter | description | +| --- | --- | +| e | | + ## See Also * class [FlowLauncherKeyDownEventArgs](./FlowLauncherKeyDownEventArgs.md) diff --git a/API-Reference/Flow.Launcher.Plugin/FlowLauncherQueryEventArgs.md b/API-Reference/Flow.Launcher.Plugin/FlowLauncherQueryEventArgs.md index 4af8369..477c4fe 100644 --- a/API-Reference/Flow.Launcher.Plugin/FlowLauncherQueryEventArgs.md +++ b/API-Reference/Flow.Launcher.Plugin/FlowLauncherQueryEventArgs.md @@ -1,5 +1,7 @@ # FlowLauncherQueryEventArgs class +Arguments container for the Query event + ```csharp public class FlowLauncherQueryEventArgs ``` @@ -9,7 +11,7 @@ public class FlowLauncherQueryEventArgs | name | description | | --- | --- | | [FlowLauncherQueryEventArgs](FlowLauncherQueryEventArgs/FlowLauncherQueryEventArgs.md)() | The default constructor. | -| [Query](FlowLauncherQueryEventArgs/Query.md) { get; set; } | | +| [Query](FlowLauncherQueryEventArgs/Query.md) { get; set; } | The actual query | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/FlowLauncherQueryEventArgs/Query.md b/API-Reference/Flow.Launcher.Plugin/FlowLauncherQueryEventArgs/Query.md index 3b637d8..3f1161c 100644 --- a/API-Reference/Flow.Launcher.Plugin/FlowLauncherQueryEventArgs/Query.md +++ b/API-Reference/Flow.Launcher.Plugin/FlowLauncherQueryEventArgs/Query.md @@ -1,5 +1,7 @@ # FlowLauncherQueryEventArgs.Query property +The actual query + ```csharp public Query Query { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/GlyphInfo.md b/API-Reference/Flow.Launcher.Plugin/GlyphInfo.md index 820fafc..ff7c911 100644 --- a/API-Reference/Flow.Launcher.Plugin/GlyphInfo.md +++ b/API-Reference/Flow.Launcher.Plugin/GlyphInfo.md @@ -11,8 +11,8 @@ public record GlyphInfo | name | description | | --- | --- | | [GlyphInfo](GlyphInfo/GlyphInfo.md)(…) | Text with FontFamily specified | -| [FontFamily](GlyphInfo/FontFamily.md) { get; set; } | | -| [Glyph](GlyphInfo/Glyph.md) { get; set; } | | +| [FontFamily](GlyphInfo/FontFamily.md) { get; set; } | Font Family of this Glyph | +| [Glyph](GlyphInfo/Glyph.md) { get; set; } | Text/Unicode of the Glyph | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/GlyphInfo/FontFamily.md b/API-Reference/Flow.Launcher.Plugin/GlyphInfo/FontFamily.md index ab898d0..175c732 100644 --- a/API-Reference/Flow.Launcher.Plugin/GlyphInfo/FontFamily.md +++ b/API-Reference/Flow.Launcher.Plugin/GlyphInfo/FontFamily.md @@ -1,5 +1,7 @@ # GlyphInfo.FontFamily property +Font Family of this Glyph + ```csharp public string FontFamily { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/GlyphInfo/Glyph.md b/API-Reference/Flow.Launcher.Plugin/GlyphInfo/Glyph.md index 1920755..deb8674 100644 --- a/API-Reference/Flow.Launcher.Plugin/GlyphInfo/Glyph.md +++ b/API-Reference/Flow.Launcher.Plugin/GlyphInfo/Glyph.md @@ -1,5 +1,7 @@ # GlyphInfo.Glyph property +Text/Unicode of the Glyph + ```csharp public string Glyph { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/IAsyncDialogJump.md b/API-Reference/Flow.Launcher.Plugin/IAsyncDialogJump.md new file mode 100644 index 0000000..829cfaf --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IAsyncDialogJump.md @@ -0,0 +1,20 @@ +# IAsyncDialogJump interface + +Asynchronous Dialog Jump Model + +```csharp +public interface IAsyncDialogJump : IFeatures +``` + +## Members + +| name | description | +| --- | --- | +| [QueryDialogJumpAsync](IAsyncDialogJump/QueryDialogJumpAsync.md)(…) | Asynchronous querying for Dialog Jump window | + +## See Also + +* interface [IFeatures](./IFeatures.md) +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IAsyncDialogJump/QueryDialogJumpAsync.md b/API-Reference/Flow.Launcher.Plugin/IAsyncDialogJump/QueryDialogJumpAsync.md new file mode 100644 index 0000000..fed4249 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IAsyncDialogJump/QueryDialogJumpAsync.md @@ -0,0 +1,21 @@ +# IAsyncDialogJump.QueryDialogJumpAsync method + +Asynchronous querying for Dialog Jump window + +```csharp +public Task> QueryDialogJumpAsync(Query query, CancellationToken token) +``` + +| parameter | description | +| --- | --- | +| query | Query to search | +| token | Cancel when querying job is obsolete | + +## See Also + +* class [DialogJumpResult](../DialogJumpResult.md) +* class [Query](../Query.md) +* interface [IAsyncDialogJump](../IAsyncDialogJump.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview.md b/API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview.md new file mode 100644 index 0000000..2e7e5a0 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview.md @@ -0,0 +1,23 @@ +# IAsyncExternalPreview interface + +This interface is for plugins that wish to provide file preview (external preview) via a third party app instead of the default preview. + +```csharp +public interface IAsyncExternalPreview : IFeatures +``` + +## Members + +| name | description | +| --- | --- | +| [AllowAlwaysPreview](IAsyncExternalPreview/AllowAlwaysPreview.md)() | Allows the preview plugin to override the AlwaysPreview setting. Typically useful if plugin's preview does not fully work well with being shown together when the query window appears with results. When AlwaysPreview setting is on and this is set to false, the preview will not be shown when query window appears with results, instead the internal preview will be shown. | +| [ClosePreviewAsync](IAsyncExternalPreview/ClosePreviewAsync.md)() | Method for closing/hiding the preview. | +| [OpenPreviewAsync](IAsyncExternalPreview/OpenPreviewAsync.md)(…) | Method for opening/showing the preview. | +| [SwitchPreviewAsync](IAsyncExternalPreview/SwitchPreviewAsync.md)(…) | Method for switching the preview to the next file result. This requires the external preview be already open/showing | + +## See Also + +* interface [IFeatures](./IFeatures.md) +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview/AllowAlwaysPreview.md b/API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview/AllowAlwaysPreview.md new file mode 100644 index 0000000..bba9e6e --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview/AllowAlwaysPreview.md @@ -0,0 +1,14 @@ +# IAsyncExternalPreview.AllowAlwaysPreview method + +Allows the preview plugin to override the AlwaysPreview setting. Typically useful if plugin's preview does not fully work well with being shown together when the query window appears with results. When AlwaysPreview setting is on and this is set to false, the preview will not be shown when query window appears with results, instead the internal preview will be shown. + +```csharp +public bool AllowAlwaysPreview() +``` + +## See Also + +* interface [IAsyncExternalPreview](../IAsyncExternalPreview.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview/ClosePreviewAsync.md b/API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview/ClosePreviewAsync.md new file mode 100644 index 0000000..a4fe77b --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview/ClosePreviewAsync.md @@ -0,0 +1,14 @@ +# IAsyncExternalPreview.ClosePreviewAsync method + +Method for closing/hiding the preview. + +```csharp +public Task ClosePreviewAsync() +``` + +## See Also + +* interface [IAsyncExternalPreview](../IAsyncExternalPreview.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview/OpenPreviewAsync.md b/API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview/OpenPreviewAsync.md new file mode 100644 index 0000000..c6f54da --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview/OpenPreviewAsync.md @@ -0,0 +1,19 @@ +# IAsyncExternalPreview.OpenPreviewAsync method + +Method for opening/showing the preview. + +```csharp +public Task OpenPreviewAsync(string path, bool sendFailToast = true) +``` + +| parameter | description | +| --- | --- | +| path | The file path to open the preview for | +| sendFailToast | Whether to send a toast message notification on failure for the user | + +## See Also + +* interface [IAsyncExternalPreview](../IAsyncExternalPreview.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview/SwitchPreviewAsync.md b/API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview/SwitchPreviewAsync.md new file mode 100644 index 0000000..962b7f8 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IAsyncExternalPreview/SwitchPreviewAsync.md @@ -0,0 +1,19 @@ +# IAsyncExternalPreview.SwitchPreviewAsync method + +Method for switching the preview to the next file result. This requires the external preview be already open/showing + +```csharp +public Task SwitchPreviewAsync(string path, bool sendFailToast = true) +``` + +| parameter | description | +| --- | --- | +| path | The file path to switch the preview for | +| sendFailToast | Whether to send a toast message notification on failure for the user | + +## See Also + +* interface [IAsyncExternalPreview](../IAsyncExternalPreview.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IAsyncHomeQuery.md b/API-Reference/Flow.Launcher.Plugin/IAsyncHomeQuery.md new file mode 100644 index 0000000..7a0340a --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IAsyncHomeQuery.md @@ -0,0 +1,20 @@ +# IAsyncHomeQuery interface + +Asynchronous Query Model for Flow Launcher When Query Text is Empty + +```csharp +public interface IAsyncHomeQuery : IFeatures +``` + +## Members + +| name | description | +| --- | --- | +| [HomeQueryAsync](IAsyncHomeQuery/HomeQueryAsync.md)(…) | Asynchronous Querying When Query Text is Empty | + +## See Also + +* interface [IFeatures](./IFeatures.md) +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IAsyncHomeQuery/HomeQueryAsync.md b/API-Reference/Flow.Launcher.Plugin/IAsyncHomeQuery/HomeQueryAsync.md new file mode 100644 index 0000000..79fa476 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IAsyncHomeQuery/HomeQueryAsync.md @@ -0,0 +1,19 @@ +# IAsyncHomeQuery.HomeQueryAsync method + +Asynchronous Querying When Query Text is Empty + +```csharp +public Task> HomeQueryAsync(CancellationToken token) +``` + +| parameter | description | +| --- | --- | +| token | Cancel when querying job is obsolete | + +## See Also + +* class [Result](../Result.md) +* interface [IAsyncHomeQuery](../IAsyncHomeQuery.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IAsyncPlugin.md b/API-Reference/Flow.Launcher.Plugin/IAsyncPlugin.md index c15bda8..2b91e68 100644 --- a/API-Reference/Flow.Launcher.Plugin/IAsyncPlugin.md +++ b/API-Reference/Flow.Launcher.Plugin/IAsyncPlugin.md @@ -10,7 +10,7 @@ public interface IAsyncPlugin | name | description | | --- | --- | -| [InitAsync](IAsyncPlugin/InitAsync.md)(…) | Initialize plugin asynchronously (will still wait finish to continue) | +| [InitAsync](IAsyncPlugin/InitAsync.md)(…) | Initialize plugin asynchrously (will still wait finish to continue) | | [QueryAsync](IAsyncPlugin/QueryAsync.md)(…) | Asynchronous Querying | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/IAsyncPlugin/InitAsync.md b/API-Reference/Flow.Launcher.Plugin/IAsyncPlugin/InitAsync.md index 8b6e37e..a7852b8 100644 --- a/API-Reference/Flow.Launcher.Plugin/IAsyncPlugin/InitAsync.md +++ b/API-Reference/Flow.Launcher.Plugin/IAsyncPlugin/InitAsync.md @@ -1,6 +1,6 @@ # IAsyncPlugin.InitAsync method -Initialize plugin asynchronously (will still wait finish to continue) +Initialize plugin asynchrously (will still wait finish to continue) ```csharp public Task InitAsync(PluginInitContext context) diff --git a/API-Reference/Flow.Launcher.Plugin/IAsyncReloadable.md b/API-Reference/Flow.Launcher.Plugin/IAsyncReloadable.md index 900b76b..abcbf22 100644 --- a/API-Reference/Flow.Launcher.Plugin/IAsyncReloadable.md +++ b/API-Reference/Flow.Launcher.Plugin/IAsyncReloadable.md @@ -1,6 +1,6 @@ # IAsyncReloadable interface -This interface is to indicate and allow plugins to asynchronously reload their in memory data cache or other mediums when user makes a new change that is not immediately captured. For example, for BrowserBookmark and Program plugin does not automatically detect when a user added a new bookmark or program, so this interface's function is exposed to allow user manually do the reloading after those new additions. The command that allows user to manual reload is exposed via Plugin.Sys, and it will call the plugins that have implemented this interface. +This interface is to indicate and allow plugins to asyncronously reload their in memory data cache or other mediums when user makes a new change that is not immediately captured. For example, for BrowserBookmark and Program plugin does not automatically detect when a user added a new bookmark or program, so this interface's function is exposed to allow user manually do the reloading after those new additions. The command that allows user to manual reload is exposed via Plugin.Sys, and it will call the plugins that have implemented this interface. ```csharp public interface IAsyncReloadable : IFeatures @@ -10,7 +10,7 @@ public interface IAsyncReloadable : IFeatures | name | description | | --- | --- | -| [ReloadDataAsync](IAsyncReloadable/ReloadDataAsync.md)() | | +| [ReloadDataAsync](IAsyncReloadable/ReloadDataAsync.md)() | Reload plugin data | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/IAsyncReloadable/ReloadDataAsync.md b/API-Reference/Flow.Launcher.Plugin/IAsyncReloadable/ReloadDataAsync.md index fcf48f1..004c764 100644 --- a/API-Reference/Flow.Launcher.Plugin/IAsyncReloadable/ReloadDataAsync.md +++ b/API-Reference/Flow.Launcher.Plugin/IAsyncReloadable/ReloadDataAsync.md @@ -1,5 +1,7 @@ # IAsyncReloadable.ReloadDataAsync method +Reload plugin data + ```csharp public Task ReloadDataAsync() ``` diff --git a/API-Reference/Flow.Launcher.Plugin/IContextMenu.md b/API-Reference/Flow.Launcher.Plugin/IContextMenu.md index 8d73421..e1899da 100644 --- a/API-Reference/Flow.Launcher.Plugin/IContextMenu.md +++ b/API-Reference/Flow.Launcher.Plugin/IContextMenu.md @@ -1,5 +1,7 @@ # IContextMenu interface +Adds support for presenting additional options for a given [`Result`](./Result.md) from a context menu. + ```csharp public interface IContextMenu : IFeatures ``` @@ -8,7 +10,7 @@ public interface IContextMenu : IFeatures | name | description | | --- | --- | -| [LoadContextMenus](IContextMenu/LoadContextMenus.md)(…) | | +| [LoadContextMenus](IContextMenu/LoadContextMenus.md)(…) | Load context menu items for the given result. | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/IContextMenu/LoadContextMenus.md b/API-Reference/Flow.Launcher.Plugin/IContextMenu/LoadContextMenus.md index 718fcb8..0414547 100644 --- a/API-Reference/Flow.Launcher.Plugin/IContextMenu/LoadContextMenus.md +++ b/API-Reference/Flow.Launcher.Plugin/IContextMenu/LoadContextMenus.md @@ -1,9 +1,15 @@ # IContextMenu.LoadContextMenus method +Load context menu items for the given result. + ```csharp public List LoadContextMenus(Result selectedResult) ``` +| parameter | description | +| --- | --- | +| selectedResult | The [`Result`](../Result.md) for which the user has activated the context menu. | + ## See Also * class [Result](../Result.md) diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJump.md b/API-Reference/Flow.Launcher.Plugin/IDialogJump.md new file mode 100644 index 0000000..b5e0d42 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJump.md @@ -0,0 +1,22 @@ +# IDialogJump interface + +Synchronous Dialog Jump Model + +If the Querying method requires high IO transmission or performing CPU intense jobs (performing better with cancellation), please try the IAsyncDialogJump interface + +```csharp +public interface IDialogJump : IAsyncDialogJump +``` + +## Members + +| name | description | +| --- | --- | +| [QueryDialogJump](IDialogJump/QueryDialogJump.md)(…) | Querying for Dialog Jump window | + +## See Also + +* interface [IAsyncDialogJump](./IAsyncDialogJump.md) +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJump/QueryDialogJump.md b/API-Reference/Flow.Launcher.Plugin/IDialogJump/QueryDialogJump.md new file mode 100644 index 0000000..3e94b3c --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJump/QueryDialogJump.md @@ -0,0 +1,22 @@ +# IDialogJump.QueryDialogJump method + +Querying for Dialog Jump window + +This method will be called within a Task.Run, so please avoid synchrously wait for long. + +```csharp +public List QueryDialogJump(Query query) +``` + +| parameter | description | +| --- | --- | +| query | Query to search | + +## See Also + +* class [DialogJumpResult](../DialogJumpResult.md) +* class [Query](../Query.md) +* interface [IDialogJump](../IDialogJump.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialog.md b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialog.md new file mode 100644 index 0000000..65241d8 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialog.md @@ -0,0 +1,20 @@ +# IDialogJumpDialog interface + +Interface for handling file dialog instances in DialogJump. + +```csharp +public interface IDialogJumpDialog : IDisposable, IFeatures +``` + +## Members + +| name | description | +| --- | --- | +| [CheckDialogWindow](IDialogJumpDialog/CheckDialogWindow.md)(…) | Check if the foreground window is a file dialog instance. | + +## See Also + +* interface [IFeatures](./IFeatures.md) +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialog/CheckDialogWindow.md b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialog/CheckDialogWindow.md new file mode 100644 index 0000000..8ce8224 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialog/CheckDialogWindow.md @@ -0,0 +1,23 @@ +# IDialogJumpDialog.CheckDialogWindow method + +Check if the foreground window is a file dialog instance. + +```csharp +public IDialogJumpDialogWindow? CheckDialogWindow(IntPtr hwnd) +``` + +| parameter | description | +| --- | --- | +| hwnd | The handle of the foreground window to check. | + +## Return Value + +The window if the foreground window is a file dialog instance. Null if it is not. + +## See Also + +* interface [IDialogJumpDialogWindow](../IDialogJumpDialogWindow.md) +* interface [IDialogJumpDialog](../IDialogJumpDialog.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindow.md b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindow.md new file mode 100644 index 0000000..bc0cfbf --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindow.md @@ -0,0 +1,20 @@ +# IDialogJumpDialogWindow interface + +Interface for handling a specific file dialog window in DialogJump. + +```csharp +public interface IDialogJumpDialogWindow : IDisposable +``` + +## Members + +| name | description | +| --- | --- | +| [Handle](IDialogJumpDialogWindow/Handle.md) { get; } | The handle of the dialog window. | +| [GetCurrentTab](IDialogJumpDialogWindow/GetCurrentTab.md)() | Get the current tab of the dialog window. | + +## See Also + +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindow/GetCurrentTab.md b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindow/GetCurrentTab.md new file mode 100644 index 0000000..2b9ecfe --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindow/GetCurrentTab.md @@ -0,0 +1,15 @@ +# IDialogJumpDialogWindow.GetCurrentTab method + +Get the current tab of the dialog window. + +```csharp +public IDialogJumpDialogWindowTab GetCurrentTab() +``` + +## See Also + +* interface [IDialogJumpDialogWindowTab](../IDialogJumpDialogWindowTab.md) +* interface [IDialogJumpDialogWindow](../IDialogJumpDialogWindow.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindow/Handle.md b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindow/Handle.md new file mode 100644 index 0000000..49266aa --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindow/Handle.md @@ -0,0 +1,14 @@ +# IDialogJumpDialogWindow.Handle property + +The handle of the dialog window. + +```csharp +public IntPtr Handle { get; } +``` + +## See Also + +* interface [IDialogJumpDialogWindow](../IDialogJumpDialogWindow.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab.md b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab.md new file mode 100644 index 0000000..c202949 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab.md @@ -0,0 +1,24 @@ +# IDialogJumpDialogWindowTab interface + +Interface for handling a specific tab in a file dialog window in DialogJump. + +```csharp +public interface IDialogJumpDialogWindowTab : IDisposable +``` + +## Members + +| name | description | +| --- | --- | +| [Handle](IDialogJumpDialogWindowTab/Handle.md) { get; } | The handle of the dialog tab. | +| [GetCurrentFile](IDialogJumpDialogWindowTab/GetCurrentFile.md)() | Get the current file of the dialog tab. | +| [GetCurrentFolder](IDialogJumpDialogWindowTab/GetCurrentFolder.md)() | Get the current folder path of the dialog tab. | +| [JumpFile](IDialogJumpDialogWindowTab/JumpFile.md)(…) | Jump to a file in the dialog tab. | +| [JumpFolder](IDialogJumpDialogWindowTab/JumpFolder.md)(…) | Jump to a folder in the dialog tab. | +| [Open](IDialogJumpDialogWindowTab/Open.md)() | Open the file in the dialog tab. | + +## See Also + +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/GetCurrentFile.md b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/GetCurrentFile.md new file mode 100644 index 0000000..7ba6f1e --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/GetCurrentFile.md @@ -0,0 +1,14 @@ +# IDialogJumpDialogWindowTab.GetCurrentFile method + +Get the current file of the dialog tab. + +```csharp +public string GetCurrentFile() +``` + +## See Also + +* interface [IDialogJumpDialogWindowTab](../IDialogJumpDialogWindowTab.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/GetCurrentFolder.md b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/GetCurrentFolder.md new file mode 100644 index 0000000..5b50602 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/GetCurrentFolder.md @@ -0,0 +1,14 @@ +# IDialogJumpDialogWindowTab.GetCurrentFolder method + +Get the current folder path of the dialog tab. + +```csharp +public string GetCurrentFolder() +``` + +## See Also + +* interface [IDialogJumpDialogWindowTab](../IDialogJumpDialogWindowTab.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/Handle.md b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/Handle.md new file mode 100644 index 0000000..390a32b --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/Handle.md @@ -0,0 +1,14 @@ +# IDialogJumpDialogWindowTab.Handle property + +The handle of the dialog tab. + +```csharp +public IntPtr Handle { get; } +``` + +## See Also + +* interface [IDialogJumpDialogWindowTab](../IDialogJumpDialogWindowTab.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/JumpFile.md b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/JumpFile.md new file mode 100644 index 0000000..1a8d286 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/JumpFile.md @@ -0,0 +1,22 @@ +# IDialogJumpDialogWindowTab.JumpFile method + +Jump to a file in the dialog tab. + +```csharp +public bool JumpFile(string path) +``` + +| parameter | description | +| --- | --- | +| path | The path to the file to jump to. | + +## Return Value + +True if the jump was successful, false otherwise. + +## See Also + +* interface [IDialogJumpDialogWindowTab](../IDialogJumpDialogWindowTab.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/JumpFolder.md b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/JumpFolder.md new file mode 100644 index 0000000..b9645a3 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/JumpFolder.md @@ -0,0 +1,23 @@ +# IDialogJumpDialogWindowTab.JumpFolder method + +Jump to a folder in the dialog tab. + +```csharp +public bool JumpFolder(string path, bool auto) +``` + +| parameter | description | +| --- | --- | +| path | The path to the folder to jump to. | +| auto | Whether folder jump is under automatical mode. | + +## Return Value + +True if the jump was successful, false otherwise. + +## See Also + +* interface [IDialogJumpDialogWindowTab](../IDialogJumpDialogWindowTab.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/Open.md b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/Open.md new file mode 100644 index 0000000..f3e13c0 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJumpDialogWindowTab/Open.md @@ -0,0 +1,18 @@ +# IDialogJumpDialogWindowTab.Open method + +Open the file in the dialog tab. + +```csharp +public bool Open() +``` + +## Return Value + +True if the file was opened successfully, false otherwise. + +## See Also + +* interface [IDialogJumpDialogWindowTab](../IDialogJumpDialogWindowTab.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorer.md b/API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorer.md new file mode 100644 index 0000000..17fa97b --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorer.md @@ -0,0 +1,20 @@ +# IDialogJumpExplorer interface + +Interface for handling file explorer instances in DialogJump. + +```csharp +public interface IDialogJumpExplorer : IDisposable, IFeatures +``` + +## Members + +| name | description | +| --- | --- | +| [CheckExplorerWindow](IDialogJumpExplorer/CheckExplorerWindow.md)(…) | Check if the foreground window is a Windows Explorer instance. | + +## See Also + +* interface [IFeatures](./IFeatures.md) +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorer/CheckExplorerWindow.md b/API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorer/CheckExplorerWindow.md new file mode 100644 index 0000000..8457920 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorer/CheckExplorerWindow.md @@ -0,0 +1,23 @@ +# IDialogJumpExplorer.CheckExplorerWindow method + +Check if the foreground window is a Windows Explorer instance. + +```csharp +public IDialogJumpExplorerWindow? CheckExplorerWindow(IntPtr hwnd) +``` + +| parameter | description | +| --- | --- | +| hwnd | The handle of the foreground window to check. | + +## Return Value + +The window if the foreground window is a file explorer instance. Null if it is not. + +## See Also + +* interface [IDialogJumpExplorerWindow](../IDialogJumpExplorerWindow.md) +* interface [IDialogJumpExplorer](../IDialogJumpExplorer.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorerWindow.md b/API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorerWindow.md new file mode 100644 index 0000000..92cfcf6 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorerWindow.md @@ -0,0 +1,20 @@ +# IDialogJumpExplorerWindow interface + +Interface for handling a specific file explorer window in DialogJump. + +```csharp +public interface IDialogJumpExplorerWindow : IDisposable +``` + +## Members + +| name | description | +| --- | --- | +| [Handle](IDialogJumpExplorerWindow/Handle.md) { get; } | The handle of the explorer window. | +| [GetExplorerPath](IDialogJumpExplorerWindow/GetExplorerPath.md)() | Get the current folder path of the explorer window. | + +## See Also + +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorerWindow/GetExplorerPath.md b/API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorerWindow/GetExplorerPath.md new file mode 100644 index 0000000..e9c5f1c --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorerWindow/GetExplorerPath.md @@ -0,0 +1,14 @@ +# IDialogJumpExplorerWindow.GetExplorerPath method + +Get the current folder path of the explorer window. + +```csharp +public string? GetExplorerPath() +``` + +## See Also + +* interface [IDialogJumpExplorerWindow](../IDialogJumpExplorerWindow.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorerWindow/Handle.md b/API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorerWindow/Handle.md new file mode 100644 index 0000000..667f79e --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IDialogJumpExplorerWindow/Handle.md @@ -0,0 +1,14 @@ +# IDialogJumpExplorerWindow.Handle property + +The handle of the explorer window. + +```csharp +public IntPtr Handle { get; } +``` + +## See Also + +* interface [IDialogJumpExplorerWindow](../IDialogJumpExplorerWindow.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IHomeQuery.md b/API-Reference/Flow.Launcher.Plugin/IHomeQuery.md new file mode 100644 index 0000000..188cc64 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IHomeQuery.md @@ -0,0 +1,22 @@ +# IHomeQuery interface + +Synchronous Query Model for Flow Launcher When Query Text is Empty + +If the Querying method requires high IO transmission or performing CPU intense jobs (performing better with cancellation), please try the IAsyncHomeQuery interface + +```csharp +public interface IHomeQuery : IAsyncHomeQuery +``` + +## Members + +| name | description | +| --- | --- | +| [HomeQuery](IHomeQuery/HomeQuery.md)() | Querying When Query Text is Empty | + +## See Also + +* interface [IAsyncHomeQuery](./IAsyncHomeQuery.md) +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IHomeQuery/HomeQuery.md b/API-Reference/Flow.Launcher.Plugin/IHomeQuery/HomeQuery.md new file mode 100644 index 0000000..c7903c1 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IHomeQuery/HomeQuery.md @@ -0,0 +1,17 @@ +# IHomeQuery.HomeQuery method + +Querying When Query Text is Empty + +This method will be called within a Task.Run, so please avoid synchronously wait for long. + +```csharp +public List HomeQuery() +``` + +## See Also + +* class [Result](../Result.md) +* interface [IHomeQuery](../IHomeQuery.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPlugin.md b/API-Reference/Flow.Launcher.Plugin/IPlugin.md index e0eda9b..2309e26 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPlugin.md +++ b/API-Reference/Flow.Launcher.Plugin/IPlugin.md @@ -2,7 +2,7 @@ Synchronous Plugin Model for Flow Launcher -If the Querying or Init method requires high IO transmission or performing CPU intense jobs (performing better with cancellation), please try the IAsyncPlugin interface +If the Querying or Init method requires high IO transmission or performaing CPU intense jobs (performing better with cancellation), please try the IAsyncPlugin interface ```csharp public interface IPlugin : IAsyncPlugin diff --git a/API-Reference/Flow.Launcher.Plugin/IPlugin/Query.md b/API-Reference/Flow.Launcher.Plugin/IPlugin/Query.md index 33f78b7..f061488 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPlugin/Query.md +++ b/API-Reference/Flow.Launcher.Plugin/IPlugin/Query.md @@ -2,7 +2,7 @@ Querying when user's search changes -This method will be called within a Task.Run, so please avoid synchronously wait for long. +This method will be called within a Task.Run, so please avoid synchrously wait for long. ```csharp public List Query(Query query) diff --git a/API-Reference/Flow.Launcher.Plugin/IPluginI18n.md b/API-Reference/Flow.Launcher.Plugin/IPluginI18n.md index aaee16c..d0f4856 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPluginI18n.md +++ b/API-Reference/Flow.Launcher.Plugin/IPluginI18n.md @@ -10,8 +10,8 @@ public interface IPluginI18n : IFeatures | name | description | | --- | --- | -| [GetTranslatedPluginDescription](IPluginI18n/GetTranslatedPluginDescription.md)() | | -| [GetTranslatedPluginTitle](IPluginI18n/GetTranslatedPluginTitle.md)() | | +| [GetTranslatedPluginDescription](IPluginI18n/GetTranslatedPluginDescription.md)() | Get a localised version of the plugin's description | +| [GetTranslatedPluginTitle](IPluginI18n/GetTranslatedPluginTitle.md)() | Get a localised version of the plugin's title | | [OnCultureInfoChanged](IPluginI18n/OnCultureInfoChanged.md)(…) | The method will be invoked when language of flow changed | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/IPluginI18n/GetTranslatedPluginDescription.md b/API-Reference/Flow.Launcher.Plugin/IPluginI18n/GetTranslatedPluginDescription.md index b42b2dc..559d71b 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPluginI18n/GetTranslatedPluginDescription.md +++ b/API-Reference/Flow.Launcher.Plugin/IPluginI18n/GetTranslatedPluginDescription.md @@ -1,5 +1,7 @@ # IPluginI18n.GetTranslatedPluginDescription method +Get a localised version of the plugin's description + ```csharp public string GetTranslatedPluginDescription() ``` diff --git a/API-Reference/Flow.Launcher.Plugin/IPluginI18n/GetTranslatedPluginTitle.md b/API-Reference/Flow.Launcher.Plugin/IPluginI18n/GetTranslatedPluginTitle.md index ed8a50e..15e05f6 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPluginI18n/GetTranslatedPluginTitle.md +++ b/API-Reference/Flow.Launcher.Plugin/IPluginI18n/GetTranslatedPluginTitle.md @@ -1,5 +1,7 @@ # IPluginI18n.GetTranslatedPluginTitle method +Get a localised version of the plugin's title + ```csharp public string GetTranslatedPluginTitle() ``` diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI.md index 1ac0fa6..5435c66 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPublicAPI.md +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI.md @@ -10,36 +10,77 @@ public interface IPublicAPI | name | description | | --- | --- | -| [AddActionKeyword](IPublicAPI/AddActionKeyword.md)(…) | Add ActionKeyword for specific plugin | -| [ChangeQuery](IPublicAPI/ChangeQuery.md)(…) | Change Flow.Launcher query | +| event [ActualApplicationThemeChanged](IPublicAPI/ActualApplicationThemeChanged.md) | Invoked when the actual theme of the application has changed. Currently, the plugin will continue to be subscribed even if it is turned off. | +| event [VisibilityChanged](IPublicAPI/VisibilityChanged.md) | Invoked when the visibility of the main window has changed. Currently, the plugin will continue to be subscribed even if it is turned off. | +| [ActionKeywordAssigned](IPublicAPI/ActionKeywordAssigned.md)(…) | Check whether specific ActionKeyword is assigned to any of the plugin | +| [AddActionKeyword](IPublicAPI/AddActionKeyword.md)(…) | Add ActionKeyword and update action keyword metadata for specific plugin. Before adding, please check if action keyword is already assigned by [`ActionKeywordAssigned`](./IPublicAPI/ActionKeywordAssigned.md) | +| [BackToQueryResults](IPublicAPI/BackToQueryResults.md)() | Back to the query results. This method should run when selected item is from context menu or history. | +| [ChangeQuery](IPublicAPI/ChangeQuery.md)(…) | Change Flow.Launcher query. When current results are from context menu or history, it will go back to query results before changing query. | | [CheckForNewUpdate](IPublicAPI/CheckForNewUpdate.md)() | Check for new Flow Launcher update | -| [CopyToClipboard](IPublicAPI/CopyToClipboard.md)(…) | Copy Text to clipboard | +| [CopyToClipboard](IPublicAPI/CopyToClipboard.md)(…) | Copies the passed in text and shows a message indicating whether the operation was completed successfully. When directCopy is set to true and passed in text is the path to a file or directory, the actual file/directory will be copied to clipboard. Otherwise the text itself will still be copied to clipboard. | +| [FocusQueryTextBox](IPublicAPI/FocusQueryTextBox.md)() | Focus the query text box in the main window | | [FuzzySearch](IPublicAPI/FuzzySearch.md)(…) | Fuzzy Search the string with the given query. This is the core search mechanism Flow uses | +| [GetAllInitializedPlugins](IPublicAPI/GetAllInitializedPlugins.md)(…) | Get all initialized plugins | | [GetAllPlugins](IPublicAPI/GetAllPlugins.md)() | Get all loaded plugins | +| [GetAvailableThemes](IPublicAPI/GetAvailableThemes.md)() | Get all available themes | +| [GetCurrentTheme](IPublicAPI/GetCurrentTheme.md)() | Get the current theme | +| [GetDataDirectory](IPublicAPI/GetDataDirectory.md)() | Get the user data directory of Flow Launcher. | +| [GetLogDirectory](IPublicAPI/GetLogDirectory.md)() | Get the log directory of Flow Launcher. | +| [GetPluginManifest](IPublicAPI/GetPluginManifest.md)() | Get the current plugin manifest entries known to Flow Launcher. | | [GetTranslation](IPublicAPI/GetTranslation.md)(…) | Get translation of current language You need to implement IPluginI18n if you want to support multiple languages for your plugin | -| [HttpDownloadAsync](IPublicAPI/HttpDownloadAsync.md)(…) | Download the specific url to a certain file path | +| [HideMainWindow](IPublicAPI/HideMainWindow.md)() | Hide MainWindow | +| [HttpDownloadAsync](IPublicAPI/HttpDownloadAsync.md)(…) | Download the specific url to a cretain file path | | [HttpGetStreamAsync](IPublicAPI/HttpGetStreamAsync.md)(…) | Http download the specific url and return as stream | | [HttpGetStringAsync](IPublicAPI/HttpGetStringAsync.md)(…) | Http download the specific url and return as string | +| [InstallPlugin](IPublicAPI/InstallPlugin.md)(…) | Install a plugin. By default will remove the zip file if installation is from url, unless it's a local path installation | +| [IsApplicationDarkTheme](IPublicAPI/IsApplicationDarkTheme.md)() | Representing whether the application is using a dark theme | +| [IsGameModeOn](IPublicAPI/IsGameModeOn.md)() | Representing Game Mode status | +| [IsMainWindowVisible](IPublicAPI/IsMainWindowVisible.md)() | Representing whether the main window is visible | +| [LoadCacheBinaryStorageAsync<T>](IPublicAPI/LoadCacheBinaryStorageAsync.md)(…) | Load BinaryStorage for current plugin's cache. This is the method used to load cache from binary in Flow. When the file is not exist, it will create a new instance for the specific type. | +| [LoadImageAsync](IPublicAPI/LoadImageAsync.md)(…) | Load image from path. Support local, remote and data:image url. Support png, jpg, jpeg, gif, bmp, tiff, ico, svg image files. If image path is missing, it will return a missing icon. | | [LoadSettingJsonStorage<T>](IPublicAPI/LoadSettingJsonStorage.md)() | Load JsonStorage for current plugin's setting. This is the method used to load settings from json in Flow. When the file is not exist, it will create a new instance for the specific type. | | [LogDebug](IPublicAPI/LogDebug.md)(…) | Log debug message Message will only be logged in Debug mode | -| [LogException](IPublicAPI/LogException.md)(…) | Log an Exception. Will throw if in debug mode so developer will be aware, otherwise logs the error message. This is the primary logging method used for Flow | +| [LogError](IPublicAPI/LogError.md)(…) | Log error message. Preferred error logging method for plugins. | +| [LogException](IPublicAPI/LogException.md)(…) | Log an Exception. Will throw if in debug mode so developer will be aware, otherwise logs the eror message. This is the primary logging method used for Flow | | [LogInfo](IPublicAPI/LogInfo.md)(…) | Log info message | | [LogWarn](IPublicAPI/LogWarn.md)(…) | Log warning message | +| [OpenAppUri](IPublicAPI/OpenAppUri.md)(…) | Opens the application URI with the given Uri object, e.g. obsidian://search-query-example (2 methods) | | [OpenDirectory](IPublicAPI/OpenDirectory.md)(…) | Open directory in an explorer configured by user via Flow's Settings. The default is Windows Explorer | | [OpenSettingDialog](IPublicAPI/OpenSettingDialog.md)() | Open setting dialog | -| [OpenUrl](IPublicAPI/OpenUrl.md)(…) | Opens the url. The browser and mode used is based on what's configured in Flow's default browser settings. | -| [RegisterGlobalKeyboardCallback](IPublicAPI/RegisterGlobalKeyboardCallback.md)(…) | Register a callback for Global Keyboard Event | -| [ReloadAllPluginData](IPublicAPI/ReloadAllPluginData.md)() | Reloads any Plugins that have the IReloadable implemented. It refreshes Plugin's in memory data with new content added by user. | -| [RemoveActionKeyword](IPublicAPI/RemoveActionKeyword.md)(…) | Remove ActionKeyword for specific plugin | +| [OpenUrl](IPublicAPI/OpenUrl.md)(…) | Opens the URL with the given Uri object in browser if scheme is Http or Https. If the URL is a local file, it will instead be opened with the default application for that file type. The browser and mode used is based on what's configured in Flow's default browser settings. (2 methods) | +| [OpenWebUrl](IPublicAPI/OpenWebUrl.md)(…) | Opens the URL using the browser with the given Uri object, even if the URL is a local file. The browser and mode used is based on what's configured in Flow's default browser settings. (2 methods) | +| [PluginModified](IPublicAPI/PluginModified.md)(…) | Check if the plugin has been modified. If this plugin is updated, installed or uninstalled and users do not restart the app, it will be marked as modified | +| [RegisterGlobalKeyboardCallback](IPublicAPI/RegisterGlobalKeyboardCallback.md)(…) | Registers a callback function for global keyboard events. | +| [ReloadAllPluginData](IPublicAPI/ReloadAllPluginData.md)() | Reloads any Plugins that have the IReloadable implemented. It refeshes Plugin's in memory data with new content added by user. | +| [RemoveActionKeyword](IPublicAPI/RemoveActionKeyword.md)(…) | Remove ActionKeyword and update action keyword metadata for specific plugin | | [RemoveGlobalKeyboardCallback](IPublicAPI/RemoveGlobalKeyboardCallback.md)(…) | Remove a callback for Global Keyboard Event | +| [ReQuery](IPublicAPI/ReQuery.md)(…) | Reloads the query. When current results are from context menu or history, it will go back to query results before re-querying. | | [RestartApp](IPublicAPI/RestartApp.md)() | Restart Flow Launcher | | [SaveAppAllSettings](IPublicAPI/SaveAppAllSettings.md)() | Save everything, all of Flow Launcher and plugins' data and settings | +| [SaveCacheBinaryStorageAsync<T>](IPublicAPI/SaveCacheBinaryStorageAsync.md)(…) | Save BinaryStorage for current plugin's cache. This is the method used to save cache to binary in Flow. This method will save the original instance loaded with LoadCacheBinaryStorageAsync. This API call is for manually Save. Flow will automatically save all cache type that has called [`LoadCacheBinaryStorageAsync`](./IPublicAPI/LoadCacheBinaryStorageAsync.md) or [`SaveCacheBinaryStorageAsync`](./IPublicAPI/SaveCacheBinaryStorageAsync.md) previously. | +| [SavePluginCaches](IPublicAPI/SavePluginCaches.md)() | Save all Flow's plugins caches | | [SavePluginSettings](IPublicAPI/SavePluginSettings.md)() | Save all Flow's plugins settings | -| [SaveSettingJsonStorage<T>](IPublicAPI/SaveSettingJsonStorage.md)() | Save JsonStorage for current plugin's setting. This is the method used to save settings to json in Flow.Launcher This method will save the original instance loaded with LoadJsonStorage. This API call is for manually Save. Flow will automatically save all setting type that has called LoadSettingJsonStorage or SaveSettingJsonStorage previously. | +| [SaveSettingJsonStorage<T>](IPublicAPI/SaveSettingJsonStorage.md)() | Save JsonStorage for current plugin's setting. This is the method used to save settings to json in Flow. This method will save the original instance loaded with LoadJsonStorage. This API call is for manually Save. Flow will automatically save all setting type that has called [`LoadSettingJsonStorage`](./IPublicAPI/LoadSettingJsonStorage.md) or [`SaveSettingJsonStorage`](./IPublicAPI/SaveSettingJsonStorage.md) previously. | +| [SetCurrentTheme](IPublicAPI/SetCurrentTheme.md)(…) | Set the current theme | +| [SetGameMode](IPublicAPI/SetGameMode.md)(…) | Switches Game Mode to given value | | [ShellRun](IPublicAPI/ShellRun.md)(…) | Run a shell command | | [ShowMainWindow](IPublicAPI/ShowMainWindow.md)() | Show the MainWindow when hiding | | [ShowMsg](IPublicAPI/ShowMsg.md)(…) | Show message box (2 methods) | +| [ShowMsgBox](IPublicAPI/ShowMsgBox.md)(…) | Displays a standardised Flow message box. | | [ShowMsgError](IPublicAPI/ShowMsgError.md)(…) | Show the error message using Flow's standard error icon. | +| [ShowMsgErrorWithButton](IPublicAPI/ShowMsgErrorWithButton.md)(…) | Show the error message using Flow's standard error icon. | +| [ShowMsgWithButton](IPublicAPI/ShowMsgWithButton.md)(…) | Show message box with button (2 methods) | +| [ShowProgressBoxAsync](IPublicAPI/ShowProgressBoxAsync.md)(…) | Displays a standardised Flow progress box. | +| [StartLoadingBar](IPublicAPI/StartLoadingBar.md)() | Start the loading bar in main window | +| [StopLoadingBar](IPublicAPI/StopLoadingBar.md)() | Stop the loading bar in main window | +| [StopwatchLogDebug](IPublicAPI/StopwatchLogDebug.md)(…) | Log debug message of the time taken to execute a method Message will only be logged in Debug mode | +| [StopwatchLogDebugAsync](IPublicAPI/StopwatchLogDebugAsync.md)(…) | Log debug message of the time taken to execute a method asynchronously Message will only be logged in Debug mode | +| [StopwatchLogInfo](IPublicAPI/StopwatchLogInfo.md)(…) | Log info message of the time taken to execute a method | +| [StopwatchLogInfoAsync](IPublicAPI/StopwatchLogInfoAsync.md)(…) | Log info message of the time taken to execute a method asynchronously | +| [ToggleGameMode](IPublicAPI/ToggleGameMode.md)() | Toggles Game Mode. off -> on and backwards | +| [UninstallPluginAsync](IPublicAPI/UninstallPluginAsync.md)(…) | Uninstall a plugin | +| [UpdatePluginAsync](IPublicAPI/UpdatePluginAsync.md)(…) | Update a plugin to new version, from a zip file. By default will remove the zip file if update is via url, unless it's a local path installation | +| [UpdatePluginManifestAsync](IPublicAPI/UpdatePluginManifestAsync.md)(…) | Update the plugin manifest | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ActionKeywordAssigned.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ActionKeywordAssigned.md new file mode 100644 index 0000000..ddf90c4 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ActionKeywordAssigned.md @@ -0,0 +1,22 @@ +# IPublicAPI.ActionKeywordAssigned method + +Check whether specific ActionKeyword is assigned to any of the plugin + +```csharp +public bool ActionKeywordAssigned(string actionKeyword) +``` + +| parameter | description | +| --- | --- | +| actionKeyword | The actionkeyword for checking | + +## Return Value + +True if the actionkeyword is already assigned, False otherwise + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ActualApplicationThemeChanged.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ActualApplicationThemeChanged.md new file mode 100644 index 0000000..9a2bef0 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ActualApplicationThemeChanged.md @@ -0,0 +1,15 @@ +# IPublicAPI.ActualApplicationThemeChanged event + +Invoked when the actual theme of the application has changed. Currently, the plugin will continue to be subscribed even if it is turned off. + +```csharp +public event ActualApplicationThemeChangedEventHandler ActualApplicationThemeChanged; +``` + +## See Also + +* delegate [ActualApplicationThemeChangedEventHandler](../ActualApplicationThemeChangedEventHandler.md) +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/AddActionKeyword.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/AddActionKeyword.md index 4521675..48a6ce7 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/AddActionKeyword.md +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/AddActionKeyword.md @@ -1,6 +1,6 @@ # IPublicAPI.AddActionKeyword method -Add ActionKeyword for specific plugin +Add ActionKeyword and update action keyword metadata for specific plugin. Before adding, please check if action keyword is already assigned by [`ActionKeywordAssigned`](./ActionKeywordAssigned.md) ```csharp public void AddActionKeyword(string pluginId, string newActionKeyword) @@ -11,6 +11,10 @@ public void AddActionKeyword(string pluginId, string newActionKeyword) | pluginId | ID for plugin that needs to add action keyword | | newActionKeyword | The actionkeyword that is supposed to be added | +## Remarks + +If new action keyword contains any whitespace, FL will still add it but it will not work for users. So plugin should check the whitespace before calling this function. + ## See Also * interface [IPublicAPI](../IPublicAPI.md) diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/BackToQueryResults.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/BackToQueryResults.md new file mode 100644 index 0000000..c866143 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/BackToQueryResults.md @@ -0,0 +1,14 @@ +# IPublicAPI.BackToQueryResults method + +Back to the query results. This method should run when selected item is from context menu or history. + +```csharp +public void BackToQueryResults() +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ChangeQuery.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ChangeQuery.md index 4b9fb2b..5c424bb 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ChangeQuery.md +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ChangeQuery.md @@ -1,6 +1,6 @@ # IPublicAPI.ChangeQuery method -Change Flow.Launcher query +Change Flow.Launcher query. When current results are from context menu or history, it will go back to query results before changing query. ```csharp public void ChangeQuery(string query, bool requery = false) @@ -9,7 +9,7 @@ public void ChangeQuery(string query, bool requery = false) | parameter | description | | --- | --- | | query | query text | -| requery | force requery By default, Flow Launcher will not fire query if your query is same with existing one. Set this to true to force Flow Launcher requerying | +| requery | Force requery. By default, Flow Launcher will not fire query if your query is same with existing one. Set this to `true` to force Flow Launcher re-querying | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/CopyToClipboard.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/CopyToClipboard.md index 34c4bcd..7ef369c 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/CopyToClipboard.md +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/CopyToClipboard.md @@ -1,14 +1,17 @@ # IPublicAPI.CopyToClipboard method -Copy Text to clipboard +Copies the passed in text and shows a message indicating whether the operation was completed successfully. When directCopy is set to true and passed in text is the path to a file or directory, the actual file/directory will be copied to clipboard. Otherwise the text itself will still be copied to clipboard. ```csharp -public void CopyToClipboard(string text) +public void CopyToClipboard(string text, bool directCopy = false, + bool showDefaultNotification = true) ``` | parameter | description | | --- | --- | -| Text | Text to save on clipboard | +| text | Text to save on clipboard | +| directCopy | When true it will directly copy the file/folder from the path specified in text | +| showDefaultNotification | Whether to show the default notification from this method after copy is done. It will show file/folder/text is copied successfully. Turn this off to show your own notification after copy is done. | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/FocusQueryTextBox.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/FocusQueryTextBox.md new file mode 100644 index 0000000..a202c21 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/FocusQueryTextBox.md @@ -0,0 +1,14 @@ +# IPublicAPI.FocusQueryTextBox method + +Focus the query text box in the main window + +```csharp +public void FocusQueryTextBox() +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetAllInitializedPlugins.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetAllInitializedPlugins.md new file mode 100644 index 0000000..e5492f4 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetAllInitializedPlugins.md @@ -0,0 +1,19 @@ +# IPublicAPI.GetAllInitializedPlugins method + +Get all initialized plugins + +```csharp +public List GetAllInitializedPlugins(bool includeFailed) +``` + +| parameter | description | +| --- | --- | +| includeFailed | Whether to include plugins that failed to initialize | + +## See Also + +* class [PluginPair](../PluginPair.md) +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetAllPlugins.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetAllPlugins.md index 18f91e7..c62d9e0 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetAllPlugins.md +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetAllPlugins.md @@ -6,6 +6,10 @@ Get all loaded plugins public List GetAllPlugins() ``` +## Remarks + +Will also return any plugins not fully initialized yet + ## See Also * class [PluginPair](../PluginPair.md) diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetAvailableThemes.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetAvailableThemes.md new file mode 100644 index 0000000..8d63e3d --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetAvailableThemes.md @@ -0,0 +1,15 @@ +# IPublicAPI.GetAvailableThemes method + +Get all available themes + +```csharp +public List GetAvailableThemes() +``` + +## See Also + +* class [ThemeData](../../Flow.Launcher.Plugin.SharedModels/ThemeData.md) +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetCurrentTheme.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetCurrentTheme.md new file mode 100644 index 0000000..b49cac9 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetCurrentTheme.md @@ -0,0 +1,15 @@ +# IPublicAPI.GetCurrentTheme method + +Get the current theme + +```csharp +public ThemeData GetCurrentTheme() +``` + +## See Also + +* class [ThemeData](../../Flow.Launcher.Plugin.SharedModels/ThemeData.md) +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetDataDirectory.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetDataDirectory.md new file mode 100644 index 0000000..e19d62e --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetDataDirectory.md @@ -0,0 +1,14 @@ +# IPublicAPI.GetDataDirectory method + +Get the user data directory of Flow Launcher. + +```csharp +public string GetDataDirectory() +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetLogDirectory.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetLogDirectory.md new file mode 100644 index 0000000..1e50c3f --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetLogDirectory.md @@ -0,0 +1,14 @@ +# IPublicAPI.GetLogDirectory method + +Get the log directory of Flow Launcher. + +```csharp +public string GetLogDirectory() +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetPluginManifest.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetPluginManifest.md new file mode 100644 index 0000000..fe73a11 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/GetPluginManifest.md @@ -0,0 +1,19 @@ +# IPublicAPI.GetPluginManifest method + +Get the current plugin manifest entries known to Flow Launcher. + +```csharp +public IReadOnlyList GetPluginManifest() +``` + +## Return Value + +A non-null read-only list of [`UserPlugin`](../UserPlugin.md) entries. The list may be empty if the manifest has not been loaded yet, or if no successful manifest fetch has completed in the current session. + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/HideMainWindow.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/HideMainWindow.md new file mode 100644 index 0000000..1b88f70 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/HideMainWindow.md @@ -0,0 +1,14 @@ +# IPublicAPI.HideMainWindow method + +Hide MainWindow + +```csharp +public void HideMainWindow() +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/HttpDownloadAsync.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/HttpDownloadAsync.md index a5a908e..655ef84 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/HttpDownloadAsync.md +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/HttpDownloadAsync.md @@ -1,14 +1,17 @@ # IPublicAPI.HttpDownloadAsync method -Download the specific url to a certain file path +Download the specific url to a cretain file path ```csharp -public Task HttpDownloadAsync(string url, string filePath, CancellationToken token = default) +public Task HttpDownloadAsync(string url, string filePath, Action reportProgress = null, + CancellationToken token = default) ``` | parameter | description | | --- | --- | | url | URL to download file | +| filePath | path to save downloaded file | +| reportProgress | Action to report progress. The input of the action is the progress value which is a double value between 0 and 100. It will be called if url support range request and the reportProgress is not null. | | token | place to store file | ## Return Value diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/InstallPlugin.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/InstallPlugin.md new file mode 100644 index 0000000..ae7362c --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/InstallPlugin.md @@ -0,0 +1,24 @@ +# IPublicAPI.InstallPlugin method + +Install a plugin. By default will remove the zip file if installation is from url, unless it's a local path installation + +```csharp +public bool InstallPlugin(UserPlugin plugin, string zipFilePath) +``` + +| parameter | description | +| --- | --- | +| plugin | The plugin to install | +| zipFilePath | Path to the zip file containing the plugin. It will be unzipped to the temporary directory, removed and installed. | + +## Return Value + +True if the plugin is installed successfully, false otherwise. + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/IsApplicationDarkTheme.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/IsApplicationDarkTheme.md new file mode 100644 index 0000000..5725ba7 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/IsApplicationDarkTheme.md @@ -0,0 +1,14 @@ +# IPublicAPI.IsApplicationDarkTheme method + +Representing whether the application is using a dark theme + +```csharp +public bool IsApplicationDarkTheme() +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/IsGameModeOn.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/IsGameModeOn.md new file mode 100644 index 0000000..5fb249a --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/IsGameModeOn.md @@ -0,0 +1,14 @@ +# IPublicAPI.IsGameModeOn method + +Representing Game Mode status + +```csharp +public bool IsGameModeOn() +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/IsMainWindowVisible.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/IsMainWindowVisible.md new file mode 100644 index 0000000..752a84d --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/IsMainWindowVisible.md @@ -0,0 +1,14 @@ +# IPublicAPI.IsMainWindowVisible method + +Representing whether the main window is visible + +```csharp +public bool IsMainWindowVisible() +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/LoadCacheBinaryStorageAsync.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/LoadCacheBinaryStorageAsync.md new file mode 100644 index 0000000..394a3a9 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/LoadCacheBinaryStorageAsync.md @@ -0,0 +1,27 @@ +# IPublicAPI.LoadCacheBinaryStorageAsync<T> method + +Load BinaryStorage for current plugin's cache. This is the method used to load cache from binary in Flow. When the file is not exist, it will create a new instance for the specific type. + +```csharp +public Task LoadCacheBinaryStorageAsync(string cacheName, string cacheDirectory, + T defaultData) + where T : new() +``` + +| parameter | description | +| --- | --- | +| T | Type for deserialization | +| cacheName | Cache file name | +| cacheDirectory | Cache directory from plugin metadata | +| defaultData | Default data to return | + +## Remarks + +BinaryStorage utilizes MemoryPack, which means the object must be MemoryPackSerializable [https://github.com/Cysharp/MemoryPack](https://github.com/Cysharp/MemoryPack) + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/LoadImageAsync.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/LoadImageAsync.md new file mode 100644 index 0000000..42a939b --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/LoadImageAsync.md @@ -0,0 +1,21 @@ +# IPublicAPI.LoadImageAsync method + +Load image from path. Support local, remote and data:image url. Support png, jpg, jpeg, gif, bmp, tiff, ico, svg image files. If image path is missing, it will return a missing icon. + +```csharp +public ValueTask LoadImageAsync(string path, bool loadFullImage = false, + bool cacheImage = true) +``` + +| parameter | description | +| --- | --- | +| path | The path of the image. | +| loadFullImage | Load full image or not. | +| cacheImage | Cache the image or not. Cached image will be stored in FL cache. If the image is just used one time, it's better to set this to false. | + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/LogError.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/LogError.md new file mode 100644 index 0000000..a848286 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/LogError.md @@ -0,0 +1,14 @@ +# IPublicAPI.LogError method + +Log error message. Preferred error logging method for plugins. + +```csharp +public void LogError(string className, string message, [CallerMemberName] string methodName = "") +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/LogException.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/LogException.md index 2763fe7..1727c56 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/LogException.md +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/LogException.md @@ -1,6 +1,6 @@ # IPublicAPI.LogException method -Log an Exception. Will throw if in debug mode so developer will be aware, otherwise logs the error message. This is the primary logging method used for Flow +Log an Exception. Will throw if in debug mode so developer will be aware, otherwise logs the eror message. This is the primary logging method used for Flow ```csharp public void LogException(string className, string message, Exception e, diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/OpenAppUri.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/OpenAppUri.md new file mode 100644 index 0000000..8e89ca5 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/OpenAppUri.md @@ -0,0 +1,29 @@ +# IPublicAPI.OpenAppUri method (1 of 2) + +Opens the application URI with the given string, e.g. obsidian://search-query-example Non-C# plugins should use this method + +```csharp +public void OpenAppUri(string appUri) +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + +--- + +# IPublicAPI.OpenAppUri method (2 of 2) + +Opens the application URI with the given Uri object, e.g. obsidian://search-query-example + +```csharp +public void OpenAppUri(Uri appUri) +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/OpenDirectory.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/OpenDirectory.md index fdf8ec7..56afb31 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/OpenDirectory.md +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/OpenDirectory.md @@ -3,13 +3,13 @@ Open directory in an explorer configured by user via Flow's Settings. The default is Windows Explorer ```csharp -public void OpenDirectory(string DirectoryPath, string FileName = null) +public void OpenDirectory(string DirectoryPath, string FileNameOrFilePath = null) ``` | parameter | description | | --- | --- | | DirectoryPath | Directory Path to open | -| FileName | Extra FileName Info | +| FileNameOrFilePath | Extra FileName Info | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/OpenUrl.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/OpenUrl.md index 735888c..30f4120 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/OpenUrl.md +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/OpenUrl.md @@ -1,6 +1,6 @@ -# IPublicAPI.OpenUrl method +# IPublicAPI.OpenUrl method (1 of 2) -Opens the url. The browser and mode used is based on what's configured in Flow's default browser settings. +Opens the URL with the given string in browser if scheme is Http or Https. If the URL is a local file, it will instead be opened with the default application for that file type. The browser and mode used is based on what's configured in Flow's default browser settings. Non-C# plugins should use this method. ```csharp public void OpenUrl(string url, bool? inPrivate = null) @@ -11,4 +11,19 @@ public void OpenUrl(string url, bool? inPrivate = null) * interface [IPublicAPI](../IPublicAPI.md) * namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) +--- + +# IPublicAPI.OpenUrl method (2 of 2) + +Opens the URL with the given Uri object in browser if scheme is Http or Https. If the URL is a local file, it will instead be opened with the default application for that file type. The browser and mode used is based on what's configured in Flow's default browser settings. + +```csharp +public void OpenUrl(Uri url, bool? inPrivate = null) +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/OpenWebUrl.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/OpenWebUrl.md new file mode 100644 index 0000000..d72896c --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/OpenWebUrl.md @@ -0,0 +1,29 @@ +# IPublicAPI.OpenWebUrl method (1 of 2) + +Opens the URL using the browser with the given string, even if the URL is a local file. The browser and mode used is based on what's configured in Flow's default browser settings. Non-C# plugins should use this method. + +```csharp +public void OpenWebUrl(string url, bool? inPrivate = null) +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + +--- + +# IPublicAPI.OpenWebUrl method (2 of 2) + +Opens the URL using the browser with the given Uri object, even if the URL is a local file. The browser and mode used is based on what's configured in Flow's default browser settings. + +```csharp +public void OpenWebUrl(Uri url, bool? inPrivate = null) +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/PluginModified.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/PluginModified.md new file mode 100644 index 0000000..147810b --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/PluginModified.md @@ -0,0 +1,18 @@ +# IPublicAPI.PluginModified method + +Check if the plugin has been modified. If this plugin is updated, installed or uninstalled and users do not restart the app, it will be marked as modified + +```csharp +public bool PluginModified(string id) +``` + +| parameter | description | +| --- | --- | +| id | Plugin id | + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ReQuery.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ReQuery.md new file mode 100644 index 0000000..42393e1 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ReQuery.md @@ -0,0 +1,18 @@ +# IPublicAPI.ReQuery method + +Reloads the query. When current results are from context menu or history, it will go back to query results before re-querying. + +```csharp +public void ReQuery(bool reselect = true) +``` + +| parameter | description | +| --- | --- | +| reselect | Choose the first result after reload if true; keep the last selected result if false. Default is true. | + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/RegisterGlobalKeyboardCallback.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/RegisterGlobalKeyboardCallback.md index a990812..ec5fa5f 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/RegisterGlobalKeyboardCallback.md +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/RegisterGlobalKeyboardCallback.md @@ -1,6 +1,6 @@ # IPublicAPI.RegisterGlobalKeyboardCallback method -Register a callback for Global Keyboard Event +Registers a callback function for global keyboard events. ```csharp public void RegisterGlobalKeyboardCallback(Func callback) @@ -8,7 +8,11 @@ public void RegisterGlobalKeyboardCallback(Func | parameter | description | | --- | --- | -| callback | | +| callback | The callback function to invoke when a global keyboard event occurs. | + +## Remarks + +This callback will be invoked for all keyboard events system-wide. Use with caution as intercepting system keys may affect normal system operation. ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ReloadAllPluginData.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ReloadAllPluginData.md index 382f91a..80c8b08 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ReloadAllPluginData.md +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ReloadAllPluginData.md @@ -1,6 +1,6 @@ # IPublicAPI.ReloadAllPluginData method -Reloads any Plugins that have the IReloadable implemented. It refreshes Plugin's in memory data with new content added by user. +Reloads any Plugins that have the IReloadable implemented. It refeshes Plugin's in memory data with new content added by user. ```csharp public Task ReloadAllPluginData() diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/RemoveActionKeyword.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/RemoveActionKeyword.md index dfafcc0..2d2bd45 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/RemoveActionKeyword.md +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/RemoveActionKeyword.md @@ -1,6 +1,6 @@ # IPublicAPI.RemoveActionKeyword method -Remove ActionKeyword for specific plugin +Remove ActionKeyword and update action keyword metadata for specific plugin ```csharp public void RemoveActionKeyword(string pluginId, string oldActionKeyword) @@ -9,7 +9,7 @@ public void RemoveActionKeyword(string pluginId, string oldActionKeyword) | parameter | description | | --- | --- | | pluginId | ID for plugin that needs to remove action keyword | -| newActionKeyword | The actionkeyword that is supposed to be removed | +| oldActionKeyword | The actionkeyword that is supposed to be removed | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/RemoveGlobalKeyboardCallback.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/RemoveGlobalKeyboardCallback.md index 9b6eaff..2dc155b 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/RemoveGlobalKeyboardCallback.md +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/RemoveGlobalKeyboardCallback.md @@ -8,7 +8,7 @@ public void RemoveGlobalKeyboardCallback(Func c | parameter | description | | --- | --- | -| callback | | +| callback | The callback function to invoke when a global keyboard event occurs. | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/SaveCacheBinaryStorageAsync.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/SaveCacheBinaryStorageAsync.md new file mode 100644 index 0000000..0613784 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/SaveCacheBinaryStorageAsync.md @@ -0,0 +1,25 @@ +# IPublicAPI.SaveCacheBinaryStorageAsync<T> method + +Save BinaryStorage for current plugin's cache. This is the method used to save cache to binary in Flow. This method will save the original instance loaded with LoadCacheBinaryStorageAsync. This API call is for manually Save. Flow will automatically save all cache type that has called [`LoadCacheBinaryStorageAsync`](./LoadCacheBinaryStorageAsync.md) or `SaveCacheBinaryStorageAsync` previously. + +```csharp +public Task SaveCacheBinaryStorageAsync(string cacheName, string cacheDirectory) + where T : new() +``` + +| parameter | description | +| --- | --- | +| T | Type for Serialization | +| cacheName | Cache file name | +| cacheDirectory | Cache directory from plugin metadata | + +## Remarks + +BinaryStorage utilizes MemoryPack, which means the object must be MemoryPackSerializable [https://github.com/Cysharp/MemoryPack](https://github.com/Cysharp/MemoryPack) + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/SavePluginCaches.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/SavePluginCaches.md new file mode 100644 index 0000000..eaa6ec7 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/SavePluginCaches.md @@ -0,0 +1,14 @@ +# IPublicAPI.SavePluginCaches method + +Save all Flow's plugins caches + +```csharp +public void SavePluginCaches() +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/SaveSettingJsonStorage.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/SaveSettingJsonStorage.md index e68cc1d..32b5da1 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/SaveSettingJsonStorage.md +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/SaveSettingJsonStorage.md @@ -1,6 +1,6 @@ # IPublicAPI.SaveSettingJsonStorage<T> method -Save JsonStorage for current plugin's setting. This is the method used to save settings to json in Flow.Launcher This method will save the original instance loaded with LoadJsonStorage. This API call is for manually Save. Flow will automatically save all setting type that has called LoadSettingJsonStorage or SaveSettingJsonStorage previously. +Save JsonStorage for current plugin's setting. This is the method used to save settings to json in Flow. This method will save the original instance loaded with LoadJsonStorage. This API call is for manually Save. Flow will automatically save all setting type that has called [`LoadSettingJsonStorage`](./LoadSettingJsonStorage.md) or `SaveSettingJsonStorage` previously. ```csharp public void SaveSettingJsonStorage() diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/SetCurrentTheme.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/SetCurrentTheme.md new file mode 100644 index 0000000..c446a9a --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/SetCurrentTheme.md @@ -0,0 +1,23 @@ +# IPublicAPI.SetCurrentTheme method + +Set the current theme + +```csharp +public bool SetCurrentTheme(ThemeData theme) +``` + +| parameter | description | +| --- | --- | +| theme | | + +## Return Value + +True if the theme is set successfully, false otherwise. + +## See Also + +* class [ThemeData](../../Flow.Launcher.Plugin.SharedModels/ThemeData.md) +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/SetGameMode.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/SetGameMode.md new file mode 100644 index 0000000..4cd9910 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/SetGameMode.md @@ -0,0 +1,18 @@ +# IPublicAPI.SetGameMode method + +Switches Game Mode to given value + +```csharp +public void SetGameMode(bool value) +``` + +| parameter | description | +| --- | --- | +| value | New Game Mode status | + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShellRun.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShellRun.md index 611a94c..f7936ca 100644 --- a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShellRun.md +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShellRun.md @@ -16,7 +16,7 @@ public void ShellRun(string cmd, string filename = "cmd.exe") | exception | condition | | --- | --- | | FileNotFoundException | Thrown when unable to find the file specified in the command | -| !:Win32Exception | Thrown when error occurs during the execution of the command | +| Win32Exception | Thrown when error occurs during the execution of the command | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShowMsgBox.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShowMsgBox.md new file mode 100644 index 0000000..9c15706 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShowMsgBox.md @@ -0,0 +1,28 @@ +# IPublicAPI.ShowMsgBox method + +Displays a standardised Flow message box. + +```csharp +public MessageBoxResult ShowMsgBox(string messageBoxText, string caption = "", + MessageBoxButton button = MessageBoxButton.OK, MessageBoxImage icon = MessageBoxImage.None, + MessageBoxResult defaultResult = MessageBoxResult.OK) +``` + +| parameter | description | +| --- | --- | +| messageBoxText | The message of the message box. | +| caption | The caption of the message box. | +| button | Specifies which button or buttons to display. | +| icon | Specifies the icon to display. | +| defaultResult | Specifies the default result of the message box. | + +## Return Value + +Specifies which message box button is clicked by the user. + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShowMsgErrorWithButton.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShowMsgErrorWithButton.md new file mode 100644 index 0000000..09424c1 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShowMsgErrorWithButton.md @@ -0,0 +1,22 @@ +# IPublicAPI.ShowMsgErrorWithButton method + +Show the error message using Flow's standard error icon. + +```csharp +public void ShowMsgErrorWithButton(string title, string buttonText, Action buttonAction, + string subTitle = "") +``` + +| parameter | description | +| --- | --- | +| title | Message title | +| buttonText | Message button content | +| buttonAction | Message button action | +| subTitle | Optional message subtitle | + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShowMsgWithButton.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShowMsgWithButton.md new file mode 100644 index 0000000..660394f --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShowMsgWithButton.md @@ -0,0 +1,48 @@ +# IPublicAPI.ShowMsgWithButton method (1 of 2) + +Show message box with button + +```csharp +public void ShowMsgWithButton(string title, string buttonText, Action buttonAction, + string subTitle = "", string iconPath = "") +``` + +| parameter | description | +| --- | --- | +| title | Message title | +| buttonText | Message button content | +| buttonAction | Message button action | +| subTitle | Message subtitle | +| iconPath | Message icon path (relative path to your plugin folder) | + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + +--- + +# IPublicAPI.ShowMsgWithButton method (2 of 2) + +Show message box with button + +```csharp +public void ShowMsgWithButton(string title, string buttonText, Action buttonAction, + string subTitle, string iconPath, bool useMainWindowAsOwner = true) +``` + +| parameter | description | +| --- | --- | +| title | Message title | +| buttonText | Message button content | +| buttonAction | Message button action | +| subTitle | Message subtitle | +| iconPath | Message icon path (relative path to your plugin folder) | +| useMainWindowAsOwner | when true will use main windows as the owner | + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShowProgressBoxAsync.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShowProgressBoxAsync.md new file mode 100644 index 0000000..92710ee --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ShowProgressBoxAsync.md @@ -0,0 +1,21 @@ +# IPublicAPI.ShowProgressBoxAsync method + +Displays a standardised Flow progress box. + +```csharp +public Task ShowProgressBoxAsync(string caption, Func, Task> reportProgressAsync, + Action cancelProgress = null) +``` + +| parameter | description | +| --- | --- | +| caption | The caption of the progress box. | +| reportProgressAsync | Time-consuming task function, whose input is the action to report progress. The input of the action is the progress value which is a double value between 0 and 100. If there are any exceptions, this action will be null. | +| cancelProgress | When user cancel the progress, this action will be called. | + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StartLoadingBar.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StartLoadingBar.md new file mode 100644 index 0000000..d076249 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StartLoadingBar.md @@ -0,0 +1,14 @@ +# IPublicAPI.StartLoadingBar method + +Start the loading bar in main window + +```csharp +public void StartLoadingBar() +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopLoadingBar.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopLoadingBar.md new file mode 100644 index 0000000..9063609 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopLoadingBar.md @@ -0,0 +1,14 @@ +# IPublicAPI.StopLoadingBar method + +Stop the loading bar in main window + +```csharp +public void StopLoadingBar() +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopwatchLogDebug.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopwatchLogDebug.md new file mode 100644 index 0000000..c58eea6 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopwatchLogDebug.md @@ -0,0 +1,19 @@ +# IPublicAPI.StopwatchLogDebug method + +Log debug message of the time taken to execute a method Message will only be logged in Debug mode + +```csharp +public long StopwatchLogDebug(string className, string message, Action action, + [CallerMemberName] string methodName = "") +``` + +## Return Value + +The time taken to execute the method in milliseconds + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopwatchLogDebugAsync.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopwatchLogDebugAsync.md new file mode 100644 index 0000000..4521976 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopwatchLogDebugAsync.md @@ -0,0 +1,19 @@ +# IPublicAPI.StopwatchLogDebugAsync method + +Log debug message of the time taken to execute a method asynchronously Message will only be logged in Debug mode + +```csharp +public Task StopwatchLogDebugAsync(string className, string message, Func action, + [CallerMemberName] string methodName = "") +``` + +## Return Value + +The time taken to execute the method in milliseconds + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopwatchLogInfo.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopwatchLogInfo.md new file mode 100644 index 0000000..a7a590c --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopwatchLogInfo.md @@ -0,0 +1,19 @@ +# IPublicAPI.StopwatchLogInfo method + +Log info message of the time taken to execute a method + +```csharp +public long StopwatchLogInfo(string className, string message, Action action, + [CallerMemberName] string methodName = "") +``` + +## Return Value + +The time taken to execute the method in milliseconds + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopwatchLogInfoAsync.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopwatchLogInfoAsync.md new file mode 100644 index 0000000..a56aed2 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/StopwatchLogInfoAsync.md @@ -0,0 +1,19 @@ +# IPublicAPI.StopwatchLogInfoAsync method + +Log info message of the time taken to execute a method asynchronously + +```csharp +public Task StopwatchLogInfoAsync(string className, string message, Func action, + [CallerMemberName] string methodName = "") +``` + +## Return Value + +The time taken to execute the method in milliseconds + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ToggleGameMode.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ToggleGameMode.md new file mode 100644 index 0000000..15e821a --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/ToggleGameMode.md @@ -0,0 +1,14 @@ +# IPublicAPI.ToggleGameMode method + +Toggles Game Mode. off -> on and backwards + +```csharp +public void ToggleGameMode() +``` + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/UninstallPluginAsync.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/UninstallPluginAsync.md new file mode 100644 index 0000000..67031bb --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/UninstallPluginAsync.md @@ -0,0 +1,25 @@ +# IPublicAPI.UninstallPluginAsync method + +Uninstall a plugin + +```csharp +public Task UninstallPluginAsync(PluginMetadata pluginMetadata, + bool removePluginSettings = false) +``` + +| parameter | description | +| --- | --- | +| pluginMetadata | The metadata of the plugin to uninstall | +| removePluginSettings | Plugin has their own settings. If this is set to true, the plugin settings will be removed. | + +## Return Value + +True if the plugin is updated successfully, false otherwise. + +## See Also + +* class [PluginMetadata](../PluginMetadata.md) +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/UpdatePluginAsync.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/UpdatePluginAsync.md new file mode 100644 index 0000000..5e410ee --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/UpdatePluginAsync.md @@ -0,0 +1,27 @@ +# IPublicAPI.UpdatePluginAsync method + +Update a plugin to new version, from a zip file. By default will remove the zip file if update is via url, unless it's a local path installation + +```csharp +public Task UpdatePluginAsync(PluginMetadata pluginMetadata, UserPlugin plugin, + string zipFilePath) +``` + +| parameter | description | +| --- | --- | +| pluginMetadata | The metadata of the old plugin to update | +| plugin | The new plugin to update | +| zipFilePath | Path to the zip file containing the plugin. It will be unzipped to the temporary directory, removed and installed. | + +## Return Value + +True if the plugin is updated successfully, false otherwise. + +## See Also + +* class [PluginMetadata](../PluginMetadata.md) +* record [UserPlugin](../UserPlugin.md) +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/UpdatePluginManifestAsync.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/UpdatePluginManifestAsync.md new file mode 100644 index 0000000..86eafca --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/UpdatePluginManifestAsync.md @@ -0,0 +1,24 @@ +# IPublicAPI.UpdatePluginManifestAsync method + +Update the plugin manifest + +```csharp +public Task UpdatePluginManifestAsync(bool usePrimaryUrlOnly = false, + CancellationToken token = default) +``` + +| parameter | description | +| --- | --- | +| usePrimaryUrlOnly | FL has multiple urls to download the plugin manifest. Set this to true to only use the primary url. | +| token | | + +## Return Value + +True if the manifest is updated successfully, false otherwise + +## See Also + +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IPublicAPI/VisibilityChanged.md b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/VisibilityChanged.md new file mode 100644 index 0000000..75266e8 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/IPublicAPI/VisibilityChanged.md @@ -0,0 +1,15 @@ +# IPublicAPI.VisibilityChanged event + +Invoked when the visibility of the main window has changed. Currently, the plugin will continue to be subscribed even if it is turned off. + +```csharp +public event VisibilityChangedEventHandler VisibilityChanged; +``` + +## See Also + +* delegate [VisibilityChangedEventHandler](../VisibilityChangedEventHandler.md) +* interface [IPublicAPI](../IPublicAPI.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/IReloadable.md b/API-Reference/Flow.Launcher.Plugin/IReloadable.md index 85586a8..5c0e9b9 100644 --- a/API-Reference/Flow.Launcher.Plugin/IReloadable.md +++ b/API-Reference/Flow.Launcher.Plugin/IReloadable.md @@ -12,7 +12,7 @@ public interface IReloadable : IFeatures | name | description | | --- | --- | -| [ReloadData](IReloadable/ReloadData.md)() | | +| [ReloadData](IReloadable/ReloadData.md)() | Synchronously reload plugin data | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/IReloadable/ReloadData.md b/API-Reference/Flow.Launcher.Plugin/IReloadable/ReloadData.md index 90e163a..17ac110 100644 --- a/API-Reference/Flow.Launcher.Plugin/IReloadable/ReloadData.md +++ b/API-Reference/Flow.Launcher.Plugin/IReloadable/ReloadData.md @@ -1,5 +1,7 @@ # IReloadable.ReloadData method +Synchronously reload plugin data + ```csharp public void ReloadData() ``` diff --git a/API-Reference/Flow.Launcher.Plugin/IResultUpdated.md b/API-Reference/Flow.Launcher.Plugin/IResultUpdated.md index 4ad9e75..6758dbe 100644 --- a/API-Reference/Flow.Launcher.Plugin/IResultUpdated.md +++ b/API-Reference/Flow.Launcher.Plugin/IResultUpdated.md @@ -1,5 +1,7 @@ # IResultUpdated interface +Interface for plugins that want to manually update their results + ```csharp public interface IResultUpdated : IFeatures ``` @@ -8,7 +10,7 @@ public interface IResultUpdated : IFeatures | name | description | | --- | --- | -| event [ResultsUpdated](IResultUpdated/ResultsUpdated.md) | | +| event [ResultsUpdated](IResultUpdated/ResultsUpdated.md) | Event that is triggered when the results are updated | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/IResultUpdated/ResultsUpdated.md b/API-Reference/Flow.Launcher.Plugin/IResultUpdated/ResultsUpdated.md index f1857ef..a076e8c 100644 --- a/API-Reference/Flow.Launcher.Plugin/IResultUpdated/ResultsUpdated.md +++ b/API-Reference/Flow.Launcher.Plugin/IResultUpdated/ResultsUpdated.md @@ -1,5 +1,7 @@ # IResultUpdated.ResultsUpdated event +Event that is triggered when the results are updated + ```csharp public event ResultUpdatedEventHandler ResultsUpdated; ``` diff --git a/API-Reference/Flow.Launcher.Plugin/ISavable.md b/API-Reference/Flow.Launcher.Plugin/ISavable.md index 78ab265..fdfaab2 100644 --- a/API-Reference/Flow.Launcher.Plugin/ISavable.md +++ b/API-Reference/Flow.Launcher.Plugin/ISavable.md @@ -1,6 +1,6 @@ # ISavable interface -Save additional plugin data. Inherit this interface if additional data e.g. cache needs to be saved, Otherwise if LoadSettingJsonStorage or SaveSettingJsonStorage has been called, plugin settings will be automatically saved (see Flow.Launcher/PublicAPIInstance.SavePluginSettings) by Flow +Inherit this interface if you need to save additional data which is not a setting or cache, please implement this interface. ```csharp public interface ISavable : IFeatures @@ -10,7 +10,11 @@ public interface ISavable : IFeatures | name | description | | --- | --- | -| [Save](ISavable/Save.md)() | | +| [Save](ISavable/Save.md)() | Save additional plugin data. | + +## Remarks + +For storing plugin settings, prefer [`LoadSettingJsonStorage`](./IPublicAPI/LoadSettingJsonStorage.md) or [`SaveSettingJsonStorage`](./IPublicAPI/SaveSettingJsonStorage.md). For storing plugin caches, prefer [`LoadCacheBinaryStorageAsync`](./IPublicAPI/LoadCacheBinaryStorageAsync.md) or [`SaveCacheBinaryStorageAsync`](./IPublicAPI/SaveCacheBinaryStorageAsync.md). Once called, those settings and caches will be automatically saved by Flow. ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/ISavable/Save.md b/API-Reference/Flow.Launcher.Plugin/ISavable/Save.md index 88bdcf1..9a84792 100644 --- a/API-Reference/Flow.Launcher.Plugin/ISavable/Save.md +++ b/API-Reference/Flow.Launcher.Plugin/ISavable/Save.md @@ -1,5 +1,7 @@ # ISavable.Save method +Save additional plugin data. + ```csharp public void Save() ``` diff --git a/API-Reference/Flow.Launcher.Plugin/ISettingProvider.md b/API-Reference/Flow.Launcher.Plugin/ISettingProvider.md index 28ad7b9..4b8e3af 100644 --- a/API-Reference/Flow.Launcher.Plugin/ISettingProvider.md +++ b/API-Reference/Flow.Launcher.Plugin/ISettingProvider.md @@ -1,5 +1,7 @@ # ISettingProvider interface +This interface is used to create settings panel for .Net plugins + ```csharp public interface ISettingProvider ``` @@ -8,7 +10,7 @@ public interface ISettingProvider | name | description | | --- | --- | -| [CreateSettingPanel](ISettingProvider/CreateSettingPanel.md)() | | +| [CreateSettingPanel](ISettingProvider/CreateSettingPanel.md)() | Create settings panel control for .Net plugins | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/ISettingProvider/CreateSettingPanel.md b/API-Reference/Flow.Launcher.Plugin/ISettingProvider/CreateSettingPanel.md index 73e53e4..adc14c6 100644 --- a/API-Reference/Flow.Launcher.Plugin/ISettingProvider/CreateSettingPanel.md +++ b/API-Reference/Flow.Launcher.Plugin/ISettingProvider/CreateSettingPanel.md @@ -1,5 +1,7 @@ # ISettingProvider.CreateSettingPanel method +Create settings panel control for .Net plugins + ```csharp public Control CreateSettingPanel() ``` diff --git a/API-Reference/Flow.Launcher.Plugin/KeyEvent.md b/API-Reference/Flow.Launcher.Plugin/KeyEvent.md new file mode 100644 index 0000000..c9c32bb --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/KeyEvent.md @@ -0,0 +1,22 @@ +# KeyEvent enumeration + +Enumeration of key events for [`RegisterGlobalKeyboardCallback`](./IPublicAPI/RegisterGlobalKeyboardCallback.md) and [`RemoveGlobalKeyboardCallback`](./IPublicAPI/RemoveGlobalKeyboardCallback.md) + +```csharp +public enum KeyEvent +``` + +## Values + +| name | value | description | +| --- | --- | --- | +| WM_KEYDOWN | `256` | Key down | +| WM_KEYUP | `257` | Key up | +| WM_SYSKEYUP | `261` | System key up | +| WM_SYSKEYDOWN | `260` | System key down | + +## See Also + +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/PluginInitContext.md b/API-Reference/Flow.Launcher.Plugin/PluginInitContext.md index 85e3023..517467c 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginInitContext.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginInitContext.md @@ -1,5 +1,7 @@ # PluginInitContext class +Carries data passed to a plugin when it gets initialized. + ```csharp public class PluginInitContext ``` @@ -8,10 +10,10 @@ public class PluginInitContext | name | description | | --- | --- | -| [PluginInitContext](PluginInitContext/PluginInitContext.md)() | The default constructor. | -| [PluginInitContext](PluginInitContext/PluginInitContext.md)(…) | | +| [PluginInitContext](PluginInitContext/PluginInitContext.md)() | Default constructor. | +| [PluginInitContext](PluginInitContext/PluginInitContext.md)(…) | Constructor. | | [API](PluginInitContext/API.md) { get; set; } | Public APIs for plugin invocation | -| [CurrentPluginMetadata](PluginInitContext/CurrentPluginMetadata.md) { get; } | | +| [CurrentPluginMetadata](PluginInitContext/CurrentPluginMetadata.md) { get; } | The metadata of the plugin being initialized. | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/PluginInitContext/CurrentPluginMetadata.md b/API-Reference/Flow.Launcher.Plugin/PluginInitContext/CurrentPluginMetadata.md index 47ba233..4d540a7 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginInitContext/CurrentPluginMetadata.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginInitContext/CurrentPluginMetadata.md @@ -1,5 +1,7 @@ # PluginInitContext.CurrentPluginMetadata property +The metadata of the plugin being initialized. + ```csharp public PluginMetadata CurrentPluginMetadata { get; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginInitContext/PluginInitContext.md b/API-Reference/Flow.Launcher.Plugin/PluginInitContext/PluginInitContext.md index 42207e3..3b93723 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginInitContext/PluginInitContext.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginInitContext/PluginInitContext.md @@ -1,6 +1,6 @@ # PluginInitContext constructor (1 of 2) -The default constructor. +Default constructor. ```csharp public PluginInitContext() @@ -15,10 +15,17 @@ public PluginInitContext() # PluginInitContext constructor (2 of 2) +Constructor. + ```csharp public PluginInitContext(PluginMetadata currentPluginMetadata, IPublicAPI api) ``` +| parameter | description | +| --- | --- | +| currentPluginMetadata | | +| api | | + ## See Also * class [PluginMetadata](../PluginMetadata.md) diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata.md index eac5d0e..7b801bc 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata.md @@ -1,5 +1,7 @@ # PluginMetadata class +Plugin metadata + ```csharp public class PluginMetadata : BaseModel ``` @@ -9,25 +11,31 @@ public class PluginMetadata : BaseModel | name | description | | --- | --- | | [PluginMetadata](PluginMetadata/PluginMetadata.md)() | The default constructor. | -| [ActionKeyword](PluginMetadata/ActionKeyword.md) { get; set; } | | -| [ActionKeywords](PluginMetadata/ActionKeywords.md) { get; set; } | | -| [Author](PluginMetadata/Author.md) { get; set; } | | -| [AvgQueryTime](PluginMetadata/AvgQueryTime.md) { get; set; } | | -| [Description](PluginMetadata/Description.md) { get; set; } | | -| [Disabled](PluginMetadata/Disabled.md) { get; set; } | | -| [ExecuteFileName](PluginMetadata/ExecuteFileName.md) { get; set; } | | -| [ExecuteFilePath](PluginMetadata/ExecuteFilePath.md) { get; } | | -| [IcoPath](PluginMetadata/IcoPath.md) { get; set; } | | -| [ID](PluginMetadata/ID.md) { get; set; } | | -| [InitTime](PluginMetadata/InitTime.md) { get; set; } | Init time include both plugin load time and init time | -| [Language](PluginMetadata/Language.md) { get; set; } | | -| [Name](PluginMetadata/Name.md) { get; set; } | | -| [PluginDirectory](PluginMetadata/PluginDirectory.md) { get; } | | -| [Priority](PluginMetadata/Priority.md) { get; set; } | | -| [QueryCount](PluginMetadata/QueryCount.md) { get; set; } | | -| [Version](PluginMetadata/Version.md) { get; set; } | | -| [Website](PluginMetadata/Website.md) { get; set; } | | -| override [ToString](PluginMetadata/ToString.md)() | | +| [ActionKeyword](PluginMetadata/ActionKeyword.md) { get; set; } | The first action keyword of plugin. | +| [ActionKeywords](PluginMetadata/ActionKeywords.md) { get; set; } | All action keywords of plugin. | +| [AssemblyName](PluginMetadata/AssemblyName.md) { get; } | Plugin assembly name. Only available for .Net plugins. | +| [Author](PluginMetadata/Author.md) { get; set; } | Plugin author. | +| [AvgQueryTime](PluginMetadata/AvgQueryTime.md) { get; set; } | Average query time. | +| [Description](PluginMetadata/Description.md) { get; set; } | Plugin description. | +| [Disabled](PluginMetadata/Disabled.md) { get; set; } | Whether plugin is disabled. | +| [ExecuteFileName](PluginMetadata/ExecuteFileName.md) { get; set; } | Plugin execute file name. | +| [ExecuteFilePath](PluginMetadata/ExecuteFilePath.md) { get; } | Plugin execute file path. | +| [HideActionKeywordPanel](PluginMetadata/HideActionKeywordPanel.md) { get; set; } | Hide plugin keyword setting panel. | +| [HomeDisabled](PluginMetadata/HomeDisabled.md) { get; set; } | Whether plugin is disabled in home query. | +| [IcoPath](PluginMetadata/IcoPath.md) { get; set; } | Plugin icon path. | +| [ID](PluginMetadata/ID.md) { get; set; } | Plugin ID. | +| [InitTime](PluginMetadata/InitTime.md) { get; set; } | Init time include both plugin load time and init time. | +| [Language](PluginMetadata/Language.md) { get; set; } | Plugin language. See [`AllowedLanguage`](./AllowedLanguage.md) | +| [Name](PluginMetadata/Name.md) { get; set; } | Plugin name. | +| [PluginCacheDirectoryPath](PluginMetadata/PluginCacheDirectoryPath.md) { get; } | The path to the plugin cache directory which is not validated. It is used to store cache files. When plugin is deleted, this directory will be deleted as well. | +| [PluginDirectory](PluginMetadata/PluginDirectory.md) { get; } | Plugin source directory. | +| [PluginSettingsDirectoryPath](PluginMetadata/PluginSettingsDirectoryPath.md) { get; } | The path to the plugin settings directory which is not validated. It is used to store plugin settings files and data files. When plugin is deleted, FL will ask users whether to keep its settings. If users do not want to keep, this directory will be deleted. | +| [Priority](PluginMetadata/Priority.md) { get; set; } | Plugin priority. | +| [QueryCount](PluginMetadata/QueryCount.md) { get; set; } | Query count. | +| [SearchDelayTime](PluginMetadata/SearchDelayTime.md) { get; set; } | Plugin search delay time in ms. Null means use default search delay time. | +| [Version](PluginMetadata/Version.md) { get; set; } | Plugin version. | +| [Website](PluginMetadata/Website.md) { get; set; } | Plugin website. | +| override [ToString](PluginMetadata/ToString.md)() | Convert [`PluginMetadata`](./PluginMetadata.md) to string. | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ActionKeyword.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ActionKeyword.md index 2b7e3f5..7597697 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ActionKeyword.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ActionKeyword.md @@ -1,5 +1,7 @@ # PluginMetadata.ActionKeyword property +The first action keyword of plugin. + ```csharp public string ActionKeyword { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ActionKeywords.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ActionKeywords.md index f037a9d..8df5553 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ActionKeywords.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ActionKeywords.md @@ -1,5 +1,7 @@ # PluginMetadata.ActionKeywords property +All action keywords of plugin. + ```csharp public List ActionKeywords { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/AssemblyName.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/AssemblyName.md new file mode 100644 index 0000000..3bc715e --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/AssemblyName.md @@ -0,0 +1,14 @@ +# PluginMetadata.AssemblyName property + +Plugin assembly name. Only available for .Net plugins. + +```csharp +public string AssemblyName { get; } +``` + +## See Also + +* class [PluginMetadata](../PluginMetadata.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Author.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Author.md index e9c25ea..aaed791 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Author.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Author.md @@ -1,5 +1,7 @@ # PluginMetadata.Author property +Plugin author. + ```csharp public string Author { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/AvgQueryTime.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/AvgQueryTime.md index c375b5f..0ea4d98 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/AvgQueryTime.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/AvgQueryTime.md @@ -1,5 +1,7 @@ # PluginMetadata.AvgQueryTime property +Average query time. + ```csharp public long AvgQueryTime { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Description.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Description.md index 29c374b..9c5ce45 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Description.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Description.md @@ -1,5 +1,7 @@ # PluginMetadata.Description property +Plugin description. + ```csharp public string Description { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Disabled.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Disabled.md index 3b46193..8aa1773 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Disabled.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Disabled.md @@ -1,5 +1,7 @@ # PluginMetadata.Disabled property +Whether plugin is disabled. + ```csharp public bool Disabled { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ExecuteFileName.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ExecuteFileName.md index 400703d..490fb01 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ExecuteFileName.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ExecuteFileName.md @@ -1,5 +1,7 @@ # PluginMetadata.ExecuteFileName property +Plugin execute file name. + ```csharp public string ExecuteFileName { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ExecuteFilePath.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ExecuteFilePath.md index 83f6082..af434df 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ExecuteFilePath.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ExecuteFilePath.md @@ -1,5 +1,7 @@ # PluginMetadata.ExecuteFilePath property +Plugin execute file path. + ```csharp public string ExecuteFilePath { get; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/HideActionKeywordPanel.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/HideActionKeywordPanel.md new file mode 100644 index 0000000..2c1b216 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/HideActionKeywordPanel.md @@ -0,0 +1,14 @@ +# PluginMetadata.HideActionKeywordPanel property + +Hide plugin keyword setting panel. + +```csharp +public bool HideActionKeywordPanel { get; set; } +``` + +## See Also + +* class [PluginMetadata](../PluginMetadata.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/HomeDisabled.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/HomeDisabled.md new file mode 100644 index 0000000..a99c71a --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/HomeDisabled.md @@ -0,0 +1,14 @@ +# PluginMetadata.HomeDisabled property + +Whether plugin is disabled in home query. + +```csharp +public bool HomeDisabled { get; set; } +``` + +## See Also + +* class [PluginMetadata](../PluginMetadata.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ID.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ID.md index 7578d55..f62f6d3 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ID.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ID.md @@ -1,5 +1,7 @@ # PluginMetadata.ID property +Plugin ID. + ```csharp public string ID { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/IcoPath.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/IcoPath.md index c55321b..86614fc 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/IcoPath.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/IcoPath.md @@ -1,5 +1,7 @@ # PluginMetadata.IcoPath property +Plugin icon path. + ```csharp public string IcoPath { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/InitTime.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/InitTime.md index 139ef7e..87e9613 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/InitTime.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/InitTime.md @@ -1,6 +1,6 @@ # PluginMetadata.InitTime property -Init time include both plugin load time and init time +Init time include both plugin load time and init time. ```csharp public long InitTime { get; set; } diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Language.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Language.md index fedc7a6..ae22a97 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Language.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Language.md @@ -1,5 +1,7 @@ # PluginMetadata.Language property +Plugin language. See [`AllowedLanguage`](../AllowedLanguage.md) + ```csharp public string Language { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Name.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Name.md index 925cdb1..84ecd68 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Name.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Name.md @@ -1,5 +1,7 @@ # PluginMetadata.Name property +Plugin name. + ```csharp public string Name { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/PluginCacheDirectoryPath.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/PluginCacheDirectoryPath.md new file mode 100644 index 0000000..168a2ed --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/PluginCacheDirectoryPath.md @@ -0,0 +1,14 @@ +# PluginMetadata.PluginCacheDirectoryPath property + +The path to the plugin cache directory which is not validated. It is used to store cache files. When plugin is deleted, this directory will be deleted as well. + +```csharp +public string PluginCacheDirectoryPath { get; } +``` + +## See Also + +* class [PluginMetadata](../PluginMetadata.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/PluginDirectory.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/PluginDirectory.md index 87bc6d7..1e03773 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/PluginDirectory.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/PluginDirectory.md @@ -1,5 +1,7 @@ # PluginMetadata.PluginDirectory property +Plugin source directory. + ```csharp public string PluginDirectory { get; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/PluginSettingsDirectoryPath.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/PluginSettingsDirectoryPath.md new file mode 100644 index 0000000..c380675 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/PluginSettingsDirectoryPath.md @@ -0,0 +1,14 @@ +# PluginMetadata.PluginSettingsDirectoryPath property + +The path to the plugin settings directory which is not validated. It is used to store plugin settings files and data files. When plugin is deleted, FL will ask users whether to keep its settings. If users do not want to keep, this directory will be deleted. + +```csharp +public string PluginSettingsDirectoryPath { get; } +``` + +## See Also + +* class [PluginMetadata](../PluginMetadata.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Priority.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Priority.md index f28cf84..d336e0a 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Priority.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Priority.md @@ -1,5 +1,7 @@ # PluginMetadata.Priority property +Plugin priority. + ```csharp public int Priority { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/QueryCount.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/QueryCount.md index 1320f3a..f74f345 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/QueryCount.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/QueryCount.md @@ -1,5 +1,7 @@ # PluginMetadata.QueryCount property +Query count. + ```csharp public int QueryCount { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/SearchDelayTime.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/SearchDelayTime.md new file mode 100644 index 0000000..a971e46 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/SearchDelayTime.md @@ -0,0 +1,14 @@ +# PluginMetadata.SearchDelayTime property + +Plugin search delay time in ms. Null means use default search delay time. + +```csharp +public int? SearchDelayTime { get; set; } +``` + +## See Also + +* class [PluginMetadata](../PluginMetadata.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ToString.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ToString.md index dc7fd45..07e3e9d 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ToString.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/ToString.md @@ -1,5 +1,7 @@ # PluginMetadata.ToString method +Convert [`PluginMetadata`](../PluginMetadata.md) to string. + ```csharp public override string ToString() ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Version.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Version.md index 5899800..d185761 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Version.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Version.md @@ -1,5 +1,7 @@ # PluginMetadata.Version property +Plugin version. + ```csharp public string Version { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Website.md b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Website.md index 2293a48..45447b2 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Website.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginMetadata/Website.md @@ -1,5 +1,7 @@ # PluginMetadata.Website property +Plugin website. + ```csharp public string Website { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginPair.md b/API-Reference/Flow.Launcher.Plugin/PluginPair.md index c9d1ca6..e4faee7 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginPair.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginPair.md @@ -1,5 +1,7 @@ # PluginPair class +Plugin instance and plugin metadata + ```csharp public class PluginPair ``` @@ -9,11 +11,11 @@ public class PluginPair | name | description | | --- | --- | | [PluginPair](PluginPair/PluginPair.md)() | The default constructor. | -| [Metadata](PluginPair/Metadata.md) { get; } | | -| [Plugin](PluginPair/Plugin.md) { get; } | | -| override [Equals](PluginPair/Equals.md)(…) | | -| override [GetHashCode](PluginPair/GetHashCode.md)() | | -| override [ToString](PluginPair/ToString.md)() | | +| [Metadata](PluginPair/Metadata.md) { get; } | Plugin metadata | +| [Plugin](PluginPair/Plugin.md) { get; } | Plugin instance | +| override [Equals](PluginPair/Equals.md)(…) | Compare by plugin metadata ID | +| override [GetHashCode](PluginPair/GetHashCode.md)() | Get hash code | +| override [ToString](PluginPair/ToString.md)() | Convert to string | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/PluginPair/Equals.md b/API-Reference/Flow.Launcher.Plugin/PluginPair/Equals.md index ae70a35..72fe29c 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginPair/Equals.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginPair/Equals.md @@ -1,9 +1,15 @@ # PluginPair.Equals method +Compare by plugin metadata ID + ```csharp public override bool Equals(object obj) ``` +| parameter | description | +| --- | --- | +| obj | | + ## See Also * class [PluginPair](../PluginPair.md) diff --git a/API-Reference/Flow.Launcher.Plugin/PluginPair/GetHashCode.md b/API-Reference/Flow.Launcher.Plugin/PluginPair/GetHashCode.md index d3b5797..5126d71 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginPair/GetHashCode.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginPair/GetHashCode.md @@ -1,5 +1,7 @@ # PluginPair.GetHashCode method +Get hash code + ```csharp public override int GetHashCode() ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginPair/Metadata.md b/API-Reference/Flow.Launcher.Plugin/PluginPair/Metadata.md index 56a64fb..631f034 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginPair/Metadata.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginPair/Metadata.md @@ -1,5 +1,7 @@ # PluginPair.Metadata property +Plugin metadata + ```csharp public PluginMetadata Metadata { get; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginPair/Plugin.md b/API-Reference/Flow.Launcher.Plugin/PluginPair/Plugin.md index b96767b..3d17570 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginPair/Plugin.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginPair/Plugin.md @@ -1,5 +1,7 @@ # PluginPair.Plugin property +Plugin instance + ```csharp public IAsyncPlugin Plugin { get; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/PluginPair/ToString.md b/API-Reference/Flow.Launcher.Plugin/PluginPair/ToString.md index 5a1608d..c0bc70a 100644 --- a/API-Reference/Flow.Launcher.Plugin/PluginPair/ToString.md +++ b/API-Reference/Flow.Launcher.Plugin/PluginPair/ToString.md @@ -1,5 +1,7 @@ # PluginPair.ToString method +Convert to string + ```csharp public override string ToString() ``` diff --git a/API-Reference/Flow.Launcher.Plugin/Query.md b/API-Reference/Flow.Launcher.Plugin/Query.md index 5f16803..432bf2f 100644 --- a/API-Reference/Flow.Launcher.Plugin/Query.md +++ b/API-Reference/Flow.Launcher.Plugin/Query.md @@ -1,5 +1,7 @@ # Query class +Represents a query that is sent to a plugin. + ```csharp public class Query ``` @@ -9,19 +11,21 @@ public class Query | name | description | | --- | --- | | [Query](Query/Query.md)() | The default constructor. | -| [Query](Query/Query.md)(…) | to allow unit tests for plug ins | -| [ActionKeyword](Query/ActionKeyword.md) { get; set; } | | -| [FirstSearch](Query/FirstSearch.md) { get; } | Return first search split by space if it has | -| [RawQuery](Query/RawQuery.md) { get; } | Raw query, this includes action keyword if it has We didn't recommend use this property directly. You should always use Search property. | -| [Search](Query/Search.md) { get; } | Search part of a query. This will not include action keyword if exclusive plugin gets it, otherwise it should be same as RawQuery. Since we allow user to switch a exclusive plugin to generic plugin, so this property will always give you the "real" query part of the query | -| [SearchTerms](Query/SearchTerms.md) { get; set; } | The search string split into a string array. | -| [SecondSearch](Query/SecondSearch.md) { get; } | Return second search split by space if it has | +| [ActionKeyword](Query/ActionKeyword.md) { get; set; } | The action keyword part of this query. For global plugins this value will be empty. | +| [FirstSearch](Query/FirstSearch.md) { get; } | Splits [`SearchTerms`](./Query/SearchTerms.md) by spaces and returns the first item. | +| [IsHomeQuery](Query/IsHomeQuery.md) { get; } | Determines whether the query is a home query. | +| [IsReQuery](Query/IsReQuery.md) { get; } | Determines whether the query was forced to execute again. For example, the value will be true when the user presses Ctrl + R. When this property is true, plugins handling this query should avoid serving cached results. | +| [OriginalQuery](Query/OriginalQuery.md) { get; } | Original query, exactly how the user has typed into the search box. We don't recommend using this property directly. You should always use Search property. | +| [Search](Query/Search.md) { get; } | Search part of a query. This will not include action keyword if exclusive plugin gets it, otherwise it should be same as TrimmedQuery. Since we allow user to switch a exclusive plugin to generic plugin, so this property will always give you the "real" query part of the query | +| [SearchTerms](Query/SearchTerms.md) { get; set; } | The search string split into a string array. Does not include the [`ActionKeyword`](./Query/ActionKeyword.md). | +| [SecondSearch](Query/SecondSearch.md) { get; } | Splits [`SearchTerms`](./Query/SearchTerms.md) by spaces and returns the second item. | | [SecondToEndSearch](Query/SecondToEndSearch.md) { get; } | strings from second search (including) to last search | -| [ThirdSearch](Query/ThirdSearch.md) { get; } | Return third search split by space if it has | +| [ThirdSearch](Query/ThirdSearch.md) { get; } | Splits [`SearchTerms`](./Query/SearchTerms.md) by spaces and returns the third item. | +| [TrimmedQuery](Query/TrimmedQuery.md) { get; } | Original query but with trimmed whitespace. Includes action keyword. It has handled built-in custom query hotkeys and build-in shortcuts. If you need the exact original query from the search box, use OriginalQuery property instead. We don't recommend using this property directly. You should always use Search property. | | override [ToString](Query/ToString.md)() | | -| const [ActionKeywordSeparator](Query/ActionKeywordSeparator.md) | User can set multiple action keywords separated by ';' | -| const [GlobalPluginWildcardSign](Query/GlobalPluginWildcardSign.md) | '*' is used for System Plugin | -| const [TermSeparator](Query/TermSeparator.md) | Query can be splitted into multiple terms by whitespace | +| const [ActionKeywordSeparator](Query/ActionKeywordSeparator.md) | User can set multiple action keywords seperated by whitespace | +| const [GlobalPluginWildcardSign](Query/GlobalPluginWildcardSign.md) | Wildcard action keyword. Plugins using this value will be queried on every search. | +| const [TermSeparator](Query/TermSeparator.md) | Query can be splited into multiple terms by whitespace | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/Query/ActionKeyword.md b/API-Reference/Flow.Launcher.Plugin/Query/ActionKeyword.md index 11d0bec..6ecc2fb 100644 --- a/API-Reference/Flow.Launcher.Plugin/Query/ActionKeyword.md +++ b/API-Reference/Flow.Launcher.Plugin/Query/ActionKeyword.md @@ -1,5 +1,7 @@ # Query.ActionKeyword property +The action keyword part of this query. For global plugins this value will be empty. + ```csharp public string ActionKeyword { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/Query/ActionKeywordSeparator.md b/API-Reference/Flow.Launcher.Plugin/Query/ActionKeywordSeparator.md index 4c8e29a..8420d69 100644 --- a/API-Reference/Flow.Launcher.Plugin/Query/ActionKeywordSeparator.md +++ b/API-Reference/Flow.Launcher.Plugin/Query/ActionKeywordSeparator.md @@ -1,6 +1,6 @@ # Query.ActionKeywordSeparator field -User can set multiple action keywords separated by ';' +User can set multiple action keywords seperated by whitespace ```csharp public const string ActionKeywordSeparator; diff --git a/API-Reference/Flow.Launcher.Plugin/Query/FirstSearch.md b/API-Reference/Flow.Launcher.Plugin/Query/FirstSearch.md index 0a4fd07..28af559 100644 --- a/API-Reference/Flow.Launcher.Plugin/Query/FirstSearch.md +++ b/API-Reference/Flow.Launcher.Plugin/Query/FirstSearch.md @@ -1,11 +1,15 @@ # Query.FirstSearch property -Return first search split by space if it has +Splits [`SearchTerms`](./SearchTerms.md) by spaces and returns the first item. ```csharp public string FirstSearch { get; } ``` +## Remarks + +returns an empty string when [`SearchTerms`](./SearchTerms.md) does not have enough items. + ## See Also * class [Query](../Query.md) diff --git a/API-Reference/Flow.Launcher.Plugin/Query/GlobalPluginWildcardSign.md b/API-Reference/Flow.Launcher.Plugin/Query/GlobalPluginWildcardSign.md index 7c9624b..ec70003 100644 --- a/API-Reference/Flow.Launcher.Plugin/Query/GlobalPluginWildcardSign.md +++ b/API-Reference/Flow.Launcher.Plugin/Query/GlobalPluginWildcardSign.md @@ -1,6 +1,6 @@ # Query.GlobalPluginWildcardSign field -'*' is used for System Plugin +Wildcard action keyword. Plugins using this value will be queried on every search. ```csharp public const string GlobalPluginWildcardSign; diff --git a/API-Reference/Flow.Launcher.Plugin/Query/RawQuery.md b/API-Reference/Flow.Launcher.Plugin/Query/IsHomeQuery.md similarity index 50% rename from API-Reference/Flow.Launcher.Plugin/Query/RawQuery.md rename to API-Reference/Flow.Launcher.Plugin/Query/IsHomeQuery.md index b8875b7..a7c8922 100644 --- a/API-Reference/Flow.Launcher.Plugin/Query/RawQuery.md +++ b/API-Reference/Flow.Launcher.Plugin/Query/IsHomeQuery.md @@ -1,9 +1,9 @@ -# Query.RawQuery property +# Query.IsHomeQuery property -Raw query, this includes action keyword if it has We didn't recommend use this property directly. You should always use Search property. +Determines whether the query is a home query. ```csharp -public string RawQuery { get; } +public bool IsHomeQuery { get; } ``` ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/Query/IsReQuery.md b/API-Reference/Flow.Launcher.Plugin/Query/IsReQuery.md new file mode 100644 index 0000000..7f296c5 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Query/IsReQuery.md @@ -0,0 +1,14 @@ +# Query.IsReQuery property + +Determines whether the query was forced to execute again. For example, the value will be true when the user presses Ctrl + R. When this property is true, plugins handling this query should avoid serving cached results. + +```csharp +public bool IsReQuery { get; } +``` + +## See Also + +* class [Query](../Query.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Query/OriginalQuery.md b/API-Reference/Flow.Launcher.Plugin/Query/OriginalQuery.md new file mode 100644 index 0000000..dd9d0fb --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Query/OriginalQuery.md @@ -0,0 +1,14 @@ +# Query.OriginalQuery property + +Original query, exactly how the user has typed into the search box. We don't recommend using this property directly. You should always use Search property. + +```csharp +public string OriginalQuery { get; } +``` + +## See Also + +* class [Query](../Query.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Query/Query.md b/API-Reference/Flow.Launcher.Plugin/Query/Query.md index 5588432..e0418f9 100644 --- a/API-Reference/Flow.Launcher.Plugin/Query/Query.md +++ b/API-Reference/Flow.Launcher.Plugin/Query/Query.md @@ -1,4 +1,4 @@ -# Query constructor (1 of 2) +# Query constructor The default constructor. @@ -11,20 +11,4 @@ public Query() * class [Query](../Query.md) * namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) ---- - -# Query constructor (2 of 2) - -to allow unit tests for plug ins - -```csharp -public Query(string rawQuery, string search, string[] terms, string[] searchTerms, - string actionKeyword = "") -``` - -## See Also - -* class [Query](../Query.md) -* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) - diff --git a/API-Reference/Flow.Launcher.Plugin/Query/Search.md b/API-Reference/Flow.Launcher.Plugin/Query/Search.md index cd60d03..c51ab71 100644 --- a/API-Reference/Flow.Launcher.Plugin/Query/Search.md +++ b/API-Reference/Flow.Launcher.Plugin/Query/Search.md @@ -1,6 +1,6 @@ # Query.Search property -Search part of a query. This will not include action keyword if exclusive plugin gets it, otherwise it should be same as RawQuery. Since we allow user to switch a exclusive plugin to generic plugin, so this property will always give you the "real" query part of the query +Search part of a query. This will not include action keyword if exclusive plugin gets it, otherwise it should be same as TrimmedQuery. Since we allow user to switch a exclusive plugin to generic plugin, so this property will always give you the "real" query part of the query ```csharp public string Search { get; } diff --git a/API-Reference/Flow.Launcher.Plugin/Query/SearchTerms.md b/API-Reference/Flow.Launcher.Plugin/Query/SearchTerms.md index 97aa6fa..4f5b993 100644 --- a/API-Reference/Flow.Launcher.Plugin/Query/SearchTerms.md +++ b/API-Reference/Flow.Launcher.Plugin/Query/SearchTerms.md @@ -1,6 +1,6 @@ # Query.SearchTerms property -The search string split into a string array. +The search string split into a string array. Does not include the [`ActionKeyword`](./ActionKeyword.md). ```csharp public string[] SearchTerms { get; set; } diff --git a/API-Reference/Flow.Launcher.Plugin/Query/SecondSearch.md b/API-Reference/Flow.Launcher.Plugin/Query/SecondSearch.md index 65457b0..466e247 100644 --- a/API-Reference/Flow.Launcher.Plugin/Query/SecondSearch.md +++ b/API-Reference/Flow.Launcher.Plugin/Query/SecondSearch.md @@ -1,11 +1,15 @@ # Query.SecondSearch property -Return second search split by space if it has +Splits [`SearchTerms`](./SearchTerms.md) by spaces and returns the second item. ```csharp public string SecondSearch { get; } ``` +## Remarks + +returns an empty string when [`SearchTerms`](./SearchTerms.md) does not have enough items. + ## See Also * class [Query](../Query.md) diff --git a/API-Reference/Flow.Launcher.Plugin/Query/TermSeparator.md b/API-Reference/Flow.Launcher.Plugin/Query/TermSeparator.md index fefc88b..97babd1 100644 --- a/API-Reference/Flow.Launcher.Plugin/Query/TermSeparator.md +++ b/API-Reference/Flow.Launcher.Plugin/Query/TermSeparator.md @@ -1,6 +1,6 @@ # Query.TermSeparator field -Query can be splitted into multiple terms by whitespace +Query can be splited into multiple terms by whitespace ```csharp public const string TermSeparator; diff --git a/API-Reference/Flow.Launcher.Plugin/Query/ThirdSearch.md b/API-Reference/Flow.Launcher.Plugin/Query/ThirdSearch.md index 475457b..84b6a06 100644 --- a/API-Reference/Flow.Launcher.Plugin/Query/ThirdSearch.md +++ b/API-Reference/Flow.Launcher.Plugin/Query/ThirdSearch.md @@ -1,11 +1,15 @@ # Query.ThirdSearch property -Return third search split by space if it has +Splits [`SearchTerms`](./SearchTerms.md) by spaces and returns the third item. ```csharp public string ThirdSearch { get; } ``` +## Remarks + +returns an empty string when [`SearchTerms`](./SearchTerms.md) does not have enough items. + ## See Also * class [Query](../Query.md) diff --git a/API-Reference/Flow.Launcher.Plugin/Query/TrimmedQuery.md b/API-Reference/Flow.Launcher.Plugin/Query/TrimmedQuery.md new file mode 100644 index 0000000..be6a87b --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Query/TrimmedQuery.md @@ -0,0 +1,14 @@ +# Query.TrimmedQuery property + +Original query but with trimmed whitespace. Includes action keyword. It has handled built-in custom query hotkeys and build-in shortcuts. If you need the exact original query from the search box, use OriginalQuery property instead. We don't recommend using this property directly. You should always use Search property. + +```csharp +public string TrimmedQuery { get; } +``` + +## See Also + +* class [Query](../Query.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result.IconDelegate.md b/API-Reference/Flow.Launcher.Plugin/Result.IconDelegate.md index 23199c7..e7456b0 100644 --- a/API-Reference/Flow.Launcher.Plugin/Result.IconDelegate.md +++ b/API-Reference/Flow.Launcher.Plugin/Result.IconDelegate.md @@ -1,5 +1,7 @@ # Result.IconDelegate delegate +Delegate function that produces an ImageSource + ```csharp public delegate ImageSource IconDelegate(); ``` diff --git a/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo.md b/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo.md new file mode 100644 index 0000000..31a4036 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo.md @@ -0,0 +1,26 @@ +# Result.PreviewInfo record + +Info of the preview section of a [`Result`](./Result.md) + +```csharp +public record PreviewInfo +``` + +## Public Members + +| name | description | +| --- | --- | +| [PreviewInfo](Result.PreviewInfo/PreviewInfo.md)() | The default constructor. | +| static [Default](Result.PreviewInfo/Default.md) { get; } | Default instance of [`PreviewInfo`](./Result.PreviewInfo.md) | +| [Description](Result.PreviewInfo/Description.md) { get; set; } | Result description text that is shown at the bottom of the preview panel. | +| [FilePath](Result.PreviewInfo/FilePath.md) { get; set; } | File path of the result. For third-party programs providing external preview. | +| [IsMedia](Result.PreviewInfo/IsMedia.md) { get; set; } | Determines if the preview image should occupy the full width of the preview panel. | +| [PreviewDelegate](Result.PreviewInfo/PreviewDelegate.md) { get; set; } | Delegate to get the preview panel's image | +| [PreviewImagePath](Result.PreviewInfo/PreviewImagePath.md) { get; set; } | Full image used for preview panel | + +## See Also + +* class [Result](./Result.md) +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/Default.md b/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/Default.md new file mode 100644 index 0000000..b3fdc16 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/Default.md @@ -0,0 +1,14 @@ +# Result.PreviewInfo.Default property + +Default instance of [`PreviewInfo`](../Result.PreviewInfo.md) + +```csharp +public static PreviewInfo Default { get; } +``` + +## See Also + +* record [PreviewInfo](../Result.PreviewInfo.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/Description.md b/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/Description.md new file mode 100644 index 0000000..bf7bb8a --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/Description.md @@ -0,0 +1,18 @@ +# Result.PreviewInfo.Description property + +Result description text that is shown at the bottom of the preview panel. + +```csharp +public string Description { get; set; } +``` + +## Remarks + +When a value is not set, the [`SubTitle`](../Result/SubTitle.md) will be used. + +## See Also + +* record [PreviewInfo](../Result.PreviewInfo.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/FilePath.md b/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/FilePath.md new file mode 100644 index 0000000..b09d616 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/FilePath.md @@ -0,0 +1,14 @@ +# Result.PreviewInfo.FilePath property + +File path of the result. For third-party programs providing external preview. + +```csharp +public string FilePath { get; set; } +``` + +## See Also + +* record [PreviewInfo](../Result.PreviewInfo.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/IsMedia.md b/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/IsMedia.md new file mode 100644 index 0000000..3bc029d --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/IsMedia.md @@ -0,0 +1,14 @@ +# Result.PreviewInfo.IsMedia property + +Determines if the preview image should occupy the full width of the preview panel. + +```csharp +public bool IsMedia { get; set; } +``` + +## See Also + +* record [PreviewInfo](../Result.PreviewInfo.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/PreviewDelegate.md b/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/PreviewDelegate.md new file mode 100644 index 0000000..c33d83f --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/PreviewDelegate.md @@ -0,0 +1,15 @@ +# Result.PreviewInfo.PreviewDelegate property + +Delegate to get the preview panel's image + +```csharp +public IconDelegate PreviewDelegate { get; set; } +``` + +## See Also + +* delegate [IconDelegate](../Result.IconDelegate.md) +* record [PreviewInfo](../Result.PreviewInfo.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/PreviewImagePath.md b/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/PreviewImagePath.md new file mode 100644 index 0000000..fb4e826 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/PreviewImagePath.md @@ -0,0 +1,14 @@ +# Result.PreviewInfo.PreviewImagePath property + +Full image used for preview panel + +```csharp +public string PreviewImagePath { get; set; } +``` + +## See Also + +* record [PreviewInfo](../Result.PreviewInfo.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/PreviewInfo.md b/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/PreviewInfo.md new file mode 100644 index 0000000..eaa009e --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result.PreviewInfo/PreviewInfo.md @@ -0,0 +1,14 @@ +# Result.PreviewInfo constructor + +The default constructor. + +```csharp +public PreviewInfo() +``` + +## See Also + +* record [PreviewInfo](../Result.PreviewInfo.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result.md b/API-Reference/Flow.Launcher.Plugin/Result.md index cbeca3d..230f5a9 100644 --- a/API-Reference/Flow.Launcher.Plugin/Result.md +++ b/API-Reference/Flow.Launcher.Plugin/Result.md @@ -1,5 +1,7 @@ # Result class +Describes a result of a [`Query`](./Query.md) executed by a plugin + ```csharp public class Result ``` @@ -9,25 +11,40 @@ public class Result | name | description | | --- | --- | | [Result](Result/Result.md)() | The default constructor. | -| [Action](Result/Action.md) { get; set; } | Delegate. An action to take in the form of a function call when the result has been selected true to hide flowlauncher after select result | +| [Action](Result/Action.md) { get; set; } | An action to take in the form of a function call when the result has been selected. | | [ActionKeywordAssigned](Result/ActionKeywordAssigned.md) { get; set; } | This holds the action keyword that triggered the result. If result is triggered by global keyword: *, this should be empty. | +| [AddSelectedCount](Result/AddSelectedCount.md) { get; set; } | Determines if the user selection count should be added to the score. This can be useful when set to false to allow the result sequence order to be the same everytime instead of changing based on selection. | +| [AsyncAction](Result/AsyncAction.md) { get; set; } | An async action to take in the form of a function call when the result has been selected. | | [AutoCompleteText](Result/AutoCompleteText.md) { get; set; } | This holds the text which can be provided by plugin to help Flow autocomplete text for user on the plugin result. If autocomplete action for example is tab, pressing tab will have the default constructed autocomplete text (result's Title), or the text provided here if not empty. | -| [ContextData](Result/ContextData.md) { get; set; } | Additional data associated with this result As external information for ContextMenu | +| [BadgeIcoPath](Result/BadgeIcoPath.md) { get; set; } | The image to be displayed for the badge of the result. | +| [ContextData](Result/ContextData.md) { get; set; } | Additional data associated with this result | +| [CopyText](Result/CopyText.md) { get; set; } | This holds the text which can be provided by plugin to be copied to the user's clipboard when Ctrl + C is pressed on a result. If the text is a file/directory path flow will copy the actual file/folder instead of just the path text. | | [Glyph](Result/Glyph.md) { get; set; } | Information for Glyph Icon (Prioritized than IcoPath/Icon if user enable Glyph Icons) | -| [IcoPath](Result/IcoPath.md) { get; set; } | Image Displayed on the result Relative Path to the Image FileGlyphInfo is prioritized if not null | +| [IcoPath](Result/IcoPath.md) { get; set; } | The image to be displayed for the result. | | [PluginDirectory](Result/PluginDirectory.md) { get; set; } | Plugin directory | | [PluginID](Result/PluginID.md) { get; } | Plugin ID that generated this result | -| [Score](Result/Score.md) { get; set; } | Priority of the current result default: 0 | +| [Preview](Result/Preview.md) { get; set; } | Contains data used to populate the preview section of this result. | +| [PreviewPanel](Result/PreviewPanel.md) { get; set; } | Customized Preview Panel | +| [ProgressBar](Result/ProgressBar.md) { get; set; } | Progress bar display. Providing an int value between 0-100 will trigger the progress bar to be displayed on the result | +| [ProgressBarColor](Result/ProgressBarColor.md) { get; set; } | Optionally set the color of the progress bar | +| [QuerySuggestionText](Result/QuerySuggestionText.md) { get; set; } | This holds the text which can be shown as a query suggestion. | +| [RecordKey](Result/RecordKey.md) { get; set; } | The key to identify the record. This is used when FL checks whether the result is the topmost record. Or FL calculates the hashcode of the result for user selected records. This can be useful when your plugin will change the Title or SubTitle of the result dynamically. If the plugin does not specific this, FL just uses Title and SubTitle to identify this result. Note: Because old data does not have this key, we should use null as the default value for consistency. | +| [RoundedIcon](Result/RoundedIcon.md) { get; set; } | Determines if Icon has a border radius | +| [Score](Result/Score.md) { get; set; } | Priority of the current result | +| [ShowBadge](Result/ShowBadge.md) { get; set; } | Determines if the badge icon should be shown. If users want to show the result badges and here you set this to true, the results will show the badge icon. | | [SubTitle](Result/SubTitle.md) { get; set; } | Provides additional details for the result. This is optional | | [SubTitleToolTip](Result/SubTitleToolTip.md) { get; set; } | Show message as ToolTip on result SubTitle hover over | | [Title](Result/Title.md) { get; set; } | The title of the result. This is always required. | | [TitleHighlightData](Result/TitleHighlightData.md) { get; set; } | A list of indexes for the characters to be highlighted in Title | | [TitleToolTip](Result/TitleToolTip.md) { get; set; } | Show message as ToolTip on result Title hover over | -| [Icon](Result/Icon.md) | Delegate to Get Image Source | -| override [Equals](Result/Equals.md)(…) | | -| override [GetHashCode](Result/GetHashCode.md)() | | +| [BadgeIcon](Result/BadgeIcon.md) | Delegate to load an icon for the badge of this result. | +| [Icon](Result/Icon.md) | Delegate to load an icon for this result. | +| [Clone](Result/Clone.md)() | Clones the current result | +| [ExecuteAsync](Result/ExecuteAsync.md)(…) | Run this result, asynchronously | | override [ToString](Result/ToString.md)() | | -| delegate [IconDelegate](Result.IconDelegate.md) | | +| const [MaxScore](Result/MaxScore.md) | Maximum score. This can be useful when set one result to the top by default. This is the score for the results set to the topmost by users. | +| delegate [IconDelegate](Result.IconDelegate.md) | Delegate function that produces an ImageSource | +| record [PreviewInfo](Result.PreviewInfo.md) | Info of the preview section of a [`Result`](./Result.md) | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/Result/Action.md b/API-Reference/Flow.Launcher.Plugin/Result/Action.md index 998016e..8f323c8 100644 --- a/API-Reference/Flow.Launcher.Plugin/Result/Action.md +++ b/API-Reference/Flow.Launcher.Plugin/Result/Action.md @@ -1,11 +1,15 @@ # Result.Action property -Delegate. An action to take in the form of a function call when the result has been selected true to hide flowlauncher after select result +An action to take in the form of a function call when the result has been selected. ```csharp public Func Action { get; set; } ``` +## Remarks + +The function is invoked with an [`ActionContext`](../ActionContext.md) as the only parameter. Its result determines what happens to Flow Launcher's query form: when true, the form will be hidden; when false, it will stay in focus. + ## See Also * class [ActionContext](../ActionContext.md) diff --git a/API-Reference/Flow.Launcher.Plugin/Result/AddSelectedCount.md b/API-Reference/Flow.Launcher.Plugin/Result/AddSelectedCount.md new file mode 100644 index 0000000..727d607 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result/AddSelectedCount.md @@ -0,0 +1,14 @@ +# Result.AddSelectedCount property + +Determines if the user selection count should be added to the score. This can be useful when set to false to allow the result sequence order to be the same everytime instead of changing based on selection. + +```csharp +public bool AddSelectedCount { get; set; } +``` + +## See Also + +* class [Result](../Result.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result/AsyncAction.md b/API-Reference/Flow.Launcher.Plugin/Result/AsyncAction.md new file mode 100644 index 0000000..8219398 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result/AsyncAction.md @@ -0,0 +1,19 @@ +# Result.AsyncAction property + +An async action to take in the form of a function call when the result has been selected. + +```csharp +public Func> AsyncAction { get; set; } +``` + +## Remarks + +The function is invoked with an [`ActionContext`](../ActionContext.md) as the only parameter and awaited. Its result determines what happens to Flow Launcher's query form: when true, the form will be hidden; when false, it will stay in focus. + +## See Also + +* class [ActionContext](../ActionContext.md) +* class [Result](../Result.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result/AutoCompleteText.md b/API-Reference/Flow.Launcher.Plugin/Result/AutoCompleteText.md index 3f5baa5..0ff4a37 100644 --- a/API-Reference/Flow.Launcher.Plugin/Result/AutoCompleteText.md +++ b/API-Reference/Flow.Launcher.Plugin/Result/AutoCompleteText.md @@ -6,6 +6,10 @@ This holds the text which can be provided by plugin to help Flow autocomplete te public string AutoCompleteText { get; set; } ``` +## Remarks + +When a value is not set, the [`Title`](./Title.md) will be used. Please include the action keyword prefix when necessary because Flow does not prepend it automatically. + ## See Also * class [Result](../Result.md) diff --git a/API-Reference/Flow.Launcher.Plugin/Result/BadgeIcoPath.md b/API-Reference/Flow.Launcher.Plugin/Result/BadgeIcoPath.md new file mode 100644 index 0000000..c578f5e --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result/BadgeIcoPath.md @@ -0,0 +1,22 @@ +# Result.BadgeIcoPath property + +The image to be displayed for the badge of the result. + +```csharp +public string BadgeIcoPath { get; set; } +``` + +## Property Value + +Can be a local file path or a URL. + +## Remarks + +If null or empty, will use plugin icon + +## See Also + +* class [Result](../Result.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result/BadgeIcon.md b/API-Reference/Flow.Launcher.Plugin/Result/BadgeIcon.md new file mode 100644 index 0000000..54443ed --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result/BadgeIcon.md @@ -0,0 +1,15 @@ +# Result.BadgeIcon field + +Delegate to load an icon for the badge of this result. + +```csharp +public IconDelegate BadgeIcon; +``` + +## See Also + +* delegate [IconDelegate](../Result.IconDelegate.md) +* class [Result](../Result.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result/Equals.md b/API-Reference/Flow.Launcher.Plugin/Result/Clone.md similarity index 73% rename from API-Reference/Flow.Launcher.Plugin/Result/Equals.md rename to API-Reference/Flow.Launcher.Plugin/Result/Clone.md index f8a5c3b..20d4b72 100644 --- a/API-Reference/Flow.Launcher.Plugin/Result/Equals.md +++ b/API-Reference/Flow.Launcher.Plugin/Result/Clone.md @@ -1,7 +1,9 @@ -# Result.Equals method +# Result.Clone method + +Clones the current result ```csharp -public override bool Equals(object obj) +public Result Clone() ``` ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/Result/ContextData.md b/API-Reference/Flow.Launcher.Plugin/Result/ContextData.md index 5212291..84bedf7 100644 --- a/API-Reference/Flow.Launcher.Plugin/Result/ContextData.md +++ b/API-Reference/Flow.Launcher.Plugin/Result/ContextData.md @@ -1,11 +1,15 @@ # Result.ContextData property -Additional data associated with this result As external information for ContextMenu +Additional data associated with this result ```csharp public object ContextData { get; set; } ``` +## Examples + +As external information for ContextMenu + ## See Also * class [Result](../Result.md) diff --git a/API-Reference/Flow.Launcher.Plugin/Result/CopyText.md b/API-Reference/Flow.Launcher.Plugin/Result/CopyText.md new file mode 100644 index 0000000..91c6973 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result/CopyText.md @@ -0,0 +1,14 @@ +# Result.CopyText property + +This holds the text which can be provided by plugin to be copied to the user's clipboard when Ctrl + C is pressed on a result. If the text is a file/directory path flow will copy the actual file/folder instead of just the path text. + +```csharp +public string CopyText { get; set; } +``` + +## See Also + +* class [Result](../Result.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result/ExecuteAsync.md b/API-Reference/Flow.Launcher.Plugin/Result/ExecuteAsync.md new file mode 100644 index 0000000..ca2e0b2 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result/ExecuteAsync.md @@ -0,0 +1,19 @@ +# Result.ExecuteAsync method + +Run this result, asynchronously + +```csharp +public ValueTask ExecuteAsync(ActionContext context) +``` + +| parameter | description | +| --- | --- | +| context | | + +## See Also + +* class [ActionContext](../ActionContext.md) +* class [Result](../Result.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result/IcoPath.md b/API-Reference/Flow.Launcher.Plugin/Result/IcoPath.md index 55baf4c..9238122 100644 --- a/API-Reference/Flow.Launcher.Plugin/Result/IcoPath.md +++ b/API-Reference/Flow.Launcher.Plugin/Result/IcoPath.md @@ -1,11 +1,19 @@ # Result.IcoPath property -Image Displayed on the result Relative Path to the Image FileGlyphInfo is prioritized if not null +The image to be displayed for the result. ```csharp public string IcoPath { get; set; } ``` +## Property Value + +Can be a local file path or a URL. + +## Remarks + +GlyphInfo is prioritized if not null + ## See Also * class [Result](../Result.md) diff --git a/API-Reference/Flow.Launcher.Plugin/Result/Icon.md b/API-Reference/Flow.Launcher.Plugin/Result/Icon.md index 8d08325..23617c1 100644 --- a/API-Reference/Flow.Launcher.Plugin/Result/Icon.md +++ b/API-Reference/Flow.Launcher.Plugin/Result/Icon.md @@ -1,6 +1,6 @@ # Result.Icon field -Delegate to Get Image Source +Delegate to load an icon for this result. ```csharp public IconDelegate Icon; diff --git a/API-Reference/Flow.Launcher.Plugin/Result/MaxScore.md b/API-Reference/Flow.Launcher.Plugin/Result/MaxScore.md new file mode 100644 index 0000000..26d1912 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result/MaxScore.md @@ -0,0 +1,14 @@ +# Result.MaxScore field + +Maximum score. This can be useful when set one result to the top by default. This is the score for the results set to the topmost by users. + +```csharp +public const int MaxScore; +``` + +## See Also + +* class [Result](../Result.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result/Preview.md b/API-Reference/Flow.Launcher.Plugin/Result/Preview.md new file mode 100644 index 0000000..607827e --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result/Preview.md @@ -0,0 +1,15 @@ +# Result.Preview property + +Contains data used to populate the preview section of this result. + +```csharp +public PreviewInfo Preview { get; set; } +``` + +## See Also + +* record [PreviewInfo](../Result.PreviewInfo.md) +* class [Result](../Result.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result/PreviewPanel.md b/API-Reference/Flow.Launcher.Plugin/Result/PreviewPanel.md new file mode 100644 index 0000000..9b318cf --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result/PreviewPanel.md @@ -0,0 +1,14 @@ +# Result.PreviewPanel property + +Customized Preview Panel + +```csharp +public Lazy PreviewPanel { get; set; } +``` + +## See Also + +* class [Result](../Result.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result/ProgressBar.md b/API-Reference/Flow.Launcher.Plugin/Result/ProgressBar.md new file mode 100644 index 0000000..ec9d573 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result/ProgressBar.md @@ -0,0 +1,14 @@ +# Result.ProgressBar property + +Progress bar display. Providing an int value between 0-100 will trigger the progress bar to be displayed on the result + +```csharp +public int? ProgressBar { get; set; } +``` + +## See Also + +* class [Result](../Result.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result/ProgressBarColor.md b/API-Reference/Flow.Launcher.Plugin/Result/ProgressBarColor.md new file mode 100644 index 0000000..69b8fba --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result/ProgressBarColor.md @@ -0,0 +1,14 @@ +# Result.ProgressBarColor property + +Optionally set the color of the progress bar + +```csharp +public string ProgressBarColor { get; set; } +``` + +## See Also + +* class [Result](../Result.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result/QuerySuggestionText.md b/API-Reference/Flow.Launcher.Plugin/Result/QuerySuggestionText.md new file mode 100644 index 0000000..3aaf14a --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result/QuerySuggestionText.md @@ -0,0 +1,18 @@ +# Result.QuerySuggestionText property + +This holds the text which can be shown as a query suggestion. + +```csharp +public string QuerySuggestionText { get; set; } +``` + +## Remarks + +When a value is not set, the [`Title`](./Title.md) will be used. Do not include the action keyword prefix because Flow prepends it automatically. If the it does not start with the query text, it will not be shown as a suggestion. So make sure to set this value to start with the query text. + +## See Also + +* class [Result](../Result.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result/RecordKey.md b/API-Reference/Flow.Launcher.Plugin/Result/RecordKey.md new file mode 100644 index 0000000..e4b49db --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result/RecordKey.md @@ -0,0 +1,14 @@ +# Result.RecordKey property + +The key to identify the record. This is used when FL checks whether the result is the topmost record. Or FL calculates the hashcode of the result for user selected records. This can be useful when your plugin will change the Title or SubTitle of the result dynamically. If the plugin does not specific this, FL just uses Title and SubTitle to identify this result. Note: Because old data does not have this key, we should use null as the default value for consistency. + +```csharp +public string RecordKey { get; set; } +``` + +## See Also + +* class [Result](../Result.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/Result/GetHashCode.md b/API-Reference/Flow.Launcher.Plugin/Result/RoundedIcon.md similarity index 65% rename from API-Reference/Flow.Launcher.Plugin/Result/GetHashCode.md rename to API-Reference/Flow.Launcher.Plugin/Result/RoundedIcon.md index af4ad6a..f89176b 100644 --- a/API-Reference/Flow.Launcher.Plugin/Result/GetHashCode.md +++ b/API-Reference/Flow.Launcher.Plugin/Result/RoundedIcon.md @@ -1,7 +1,9 @@ -# Result.GetHashCode method +# Result.RoundedIcon property + +Determines if Icon has a border radius ```csharp -public override int GetHashCode() +public bool RoundedIcon { get; set; } ``` ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/Result/Score.md b/API-Reference/Flow.Launcher.Plugin/Result/Score.md index 3a0448a..b225d96 100644 --- a/API-Reference/Flow.Launcher.Plugin/Result/Score.md +++ b/API-Reference/Flow.Launcher.Plugin/Result/Score.md @@ -1,11 +1,15 @@ # Result.Score property -Priority of the current result default: 0 +Priority of the current result ```csharp public int Score { get; set; } ``` +## Property Value + +default: 0 + ## See Also * class [Result](../Result.md) diff --git a/API-Reference/Flow.Launcher.Plugin/Result/ShowBadge.md b/API-Reference/Flow.Launcher.Plugin/Result/ShowBadge.md new file mode 100644 index 0000000..ab912d5 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/Result/ShowBadge.md @@ -0,0 +1,14 @@ +# Result.ShowBadge property + +Determines if the badge icon should be shown. If users want to show the result badges and here you set this to true, the results will show the badge icon. + +```csharp +public bool ShowBadge { get; set; } +``` + +## See Also + +* class [Result](../Result.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/ResultItemDropEventHandler.md b/API-Reference/Flow.Launcher.Plugin/ResultItemDropEventHandler.md index 76f8617..e18c89e 100644 --- a/API-Reference/Flow.Launcher.Plugin/ResultItemDropEventHandler.md +++ b/API-Reference/Flow.Launcher.Plugin/ResultItemDropEventHandler.md @@ -1,10 +1,18 @@ # ResultItemDropEventHandler delegate +Delegate for drop events [unused?] + ```csharp public delegate void ResultItemDropEventHandler(Result result, IDataObject dropObject, DragEventArgs e); ``` +| parameter | description | +| --- | --- | +| result | | +| dropObject | | +| e | | + ## See Also * class [Result](./Result.md) diff --git a/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventArgs.md b/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventArgs.md index 58810cd..5c17626 100644 --- a/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventArgs.md +++ b/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventArgs.md @@ -1,5 +1,7 @@ # ResultUpdatedEventArgs class +Event arguments for the ResultsUpdated event + ```csharp public class ResultUpdatedEventArgs : EventArgs ``` @@ -9,9 +11,9 @@ public class ResultUpdatedEventArgs : EventArgs | name | description | | --- | --- | | [ResultUpdatedEventArgs](ResultUpdatedEventArgs/ResultUpdatedEventArgs.md)() | The default constructor. | -| [Token](ResultUpdatedEventArgs/Token.md) { get; set; } | | -| [Query](ResultUpdatedEventArgs/Query.md) | | -| [Results](ResultUpdatedEventArgs/Results.md) | | +| [Token](ResultUpdatedEventArgs/Token.md) { get; set; } | Token that can be used to cancel the update | +| [Query](ResultUpdatedEventArgs/Query.md) | Query that triggered the update | +| [Results](ResultUpdatedEventArgs/Results.md) | List of results that should be displayed | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventArgs/Query.md b/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventArgs/Query.md index fd78834..3095c79 100644 --- a/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventArgs/Query.md +++ b/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventArgs/Query.md @@ -1,5 +1,7 @@ # ResultUpdatedEventArgs.Query field +Query that triggered the update + ```csharp public Query Query; ``` diff --git a/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventArgs/Results.md b/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventArgs/Results.md index 1e30af2..b3d19a7 100644 --- a/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventArgs/Results.md +++ b/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventArgs/Results.md @@ -1,5 +1,7 @@ # ResultUpdatedEventArgs.Results field +List of results that should be displayed + ```csharp public List Results; ``` diff --git a/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventArgs/Token.md b/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventArgs/Token.md index cb70027..996a247 100644 --- a/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventArgs/Token.md +++ b/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventArgs/Token.md @@ -1,5 +1,7 @@ # ResultUpdatedEventArgs.Token property +Token that can be used to cancel the update + ```csharp public CancellationToken Token { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventHandler.md b/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventHandler.md index 63d075f..600c132 100644 --- a/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventHandler.md +++ b/API-Reference/Flow.Launcher.Plugin/ResultUpdatedEventHandler.md @@ -1,9 +1,16 @@ # ResultUpdatedEventHandler delegate +Delegate for the ResultsUpdated event + ```csharp public delegate void ResultUpdatedEventHandler(IResultUpdated sender, ResultUpdatedEventArgs e); ``` +| parameter | description | +| --- | --- | +| sender | | +| e | | + ## See Also * interface [IResultUpdated](./IResultUpdated.md) diff --git a/API-Reference/Flow.Launcher.Plugin/SpecialKeyState.md b/API-Reference/Flow.Launcher.Plugin/SpecialKeyState.md index d395f62..f34db80 100644 --- a/API-Reference/Flow.Launcher.Plugin/SpecialKeyState.md +++ b/API-Reference/Flow.Launcher.Plugin/SpecialKeyState.md @@ -1,5 +1,7 @@ # SpecialKeyState class +Contains the press state of certain special keys. + ```csharp public class SpecialKeyState ``` @@ -9,10 +11,12 @@ public class SpecialKeyState | name | description | | --- | --- | | [SpecialKeyState](SpecialKeyState/SpecialKeyState.md)() | The default constructor. | -| [AltPressed](SpecialKeyState/AltPressed.md) { get; set; } | | -| [CtrlPressed](SpecialKeyState/CtrlPressed.md) { get; set; } | | -| [ShiftPressed](SpecialKeyState/ShiftPressed.md) { get; set; } | | -| [WinPressed](SpecialKeyState/WinPressed.md) { get; set; } | | +| static readonly [Default](SpecialKeyState/Default.md) | Default [`SpecialKeyState`](./SpecialKeyState.md) object with all keys not pressed. | +| [AltPressed](SpecialKeyState/AltPressed.md) { get; set; } | True if the Alt key is pressed. | +| [CtrlPressed](SpecialKeyState/CtrlPressed.md) { get; set; } | True if the Ctrl key is pressed. | +| [ShiftPressed](SpecialKeyState/ShiftPressed.md) { get; set; } | True if the Shift key is pressed. | +| [WinPressed](SpecialKeyState/WinPressed.md) { get; set; } | True if the Windows key is pressed. | +| [ToModifierKeys](SpecialKeyState/ToModifierKeys.md)() | Get this object represented as a ModifierKeys flag combination. | ## See Also diff --git a/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/AltPressed.md b/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/AltPressed.md index 535406a..f9f438a 100644 --- a/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/AltPressed.md +++ b/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/AltPressed.md @@ -1,5 +1,7 @@ # SpecialKeyState.AltPressed property +True if the Alt key is pressed. + ```csharp public bool AltPressed { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/CtrlPressed.md b/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/CtrlPressed.md index 5356387..38b6aae 100644 --- a/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/CtrlPressed.md +++ b/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/CtrlPressed.md @@ -1,5 +1,7 @@ # SpecialKeyState.CtrlPressed property +True if the Ctrl key is pressed. + ```csharp public bool CtrlPressed { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/Default.md b/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/Default.md new file mode 100644 index 0000000..1c221b4 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/Default.md @@ -0,0 +1,14 @@ +# SpecialKeyState.Default field + +Default [`SpecialKeyState`](../SpecialKeyState.md) object with all keys not pressed. + +```csharp +public static readonly SpecialKeyState Default; +``` + +## See Also + +* class [SpecialKeyState](../SpecialKeyState.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/ShiftPressed.md b/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/ShiftPressed.md index d3ed62c..26547b1 100644 --- a/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/ShiftPressed.md +++ b/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/ShiftPressed.md @@ -1,5 +1,7 @@ # SpecialKeyState.ShiftPressed property +True if the Shift key is pressed. + ```csharp public bool ShiftPressed { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/ToModifierKeys.md b/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/ToModifierKeys.md new file mode 100644 index 0000000..22905d8 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/ToModifierKeys.md @@ -0,0 +1,14 @@ +# SpecialKeyState.ToModifierKeys method + +Get this object represented as a ModifierKeys flag combination. + +```csharp +public ModifierKeys ToModifierKeys() +``` + +## See Also + +* class [SpecialKeyState](../SpecialKeyState.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/WinPressed.md b/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/WinPressed.md index cddfc8f..de0095c 100644 --- a/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/WinPressed.md +++ b/API-Reference/Flow.Launcher.Plugin/SpecialKeyState/WinPressed.md @@ -1,5 +1,7 @@ # SpecialKeyState.WinPressed property +True if the Windows key is pressed. + ```csharp public bool WinPressed { get; set; } ``` diff --git a/API-Reference/Flow.Launcher.Plugin/UserPlugin.md b/API-Reference/Flow.Launcher.Plugin/UserPlugin.md new file mode 100644 index 0000000..de41b0d --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/UserPlugin.md @@ -0,0 +1,34 @@ +# UserPlugin record + +User Plugin Model for Flow Launcher + +```csharp +public record UserPlugin +``` + +## Public Members + +| name | description | +| --- | --- | +| [UserPlugin](UserPlugin/UserPlugin.md)() | The default constructor. | +| [Author](UserPlugin/Author.md) { get; set; } | Author of the plugin | +| [DateAdded](UserPlugin/DateAdded.md) { get; set; } | The date when the plugin was added to the local system | +| [Description](UserPlugin/Description.md) { get; set; } | Description of the plugin | +| [IcoPath](UserPlugin/IcoPath.md) { get; set; } | Icon path of the plugin | +| [ID](UserPlugin/ID.md) { get; set; } | Unique identifier of the plugin | +| [IsFromLocalInstallPath](UserPlugin/IsFromLocalInstallPath.md) { get; } | Indicates whether the plugin is installed from a local path | +| [Language](UserPlugin/Language.md) { get; set; } | Allow language of the plugin [`AllowedLanguage`](./AllowedLanguage.md) | +| [LatestReleaseDate](UserPlugin/LatestReleaseDate.md) { get; set; } | The date when the plugin was last updated | +| [LocalInstallPath](UserPlugin/LocalInstallPath.md) { get; set; } | Local path where the plugin is installed | +| [MinimumAppVersion](UserPlugin/MinimumAppVersion.md) { get; set; } | The minimum Flow Launcher version required for this plugin. Default is "". | +| [Name](UserPlugin/Name.md) { get; set; } | Name of the plugin | +| [UrlDownload](UserPlugin/UrlDownload.md) { get; set; } | URL to download the plugin | +| [UrlSourceCode](UserPlugin/UrlSourceCode.md) { get; set; } | URL to the source code of the plugin | +| [Version](UserPlugin/Version.md) { get; set; } | Version of the plugin | +| [Website](UserPlugin/Website.md) { get; set; } | Website of the plugin | + +## See Also + +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/UserPlugin/Author.md b/API-Reference/Flow.Launcher.Plugin/UserPlugin/Author.md new file mode 100644 index 0000000..014dfc1 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/UserPlugin/Author.md @@ -0,0 +1,14 @@ +# UserPlugin.Author property + +Author of the plugin + +```csharp +public string Author { get; set; } +``` + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/UserPlugin/DateAdded.md b/API-Reference/Flow.Launcher.Plugin/UserPlugin/DateAdded.md new file mode 100644 index 0000000..193bc18 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/UserPlugin/DateAdded.md @@ -0,0 +1,14 @@ +# UserPlugin.DateAdded property + +The date when the plugin was added to the local system + +```csharp +public DateTime? DateAdded { get; set; } +``` + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/UserPlugin/Description.md b/API-Reference/Flow.Launcher.Plugin/UserPlugin/Description.md new file mode 100644 index 0000000..0f6e7de --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/UserPlugin/Description.md @@ -0,0 +1,14 @@ +# UserPlugin.Description property + +Description of the plugin + +```csharp +public string Description { get; set; } +``` + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/UserPlugin/ID.md b/API-Reference/Flow.Launcher.Plugin/UserPlugin/ID.md new file mode 100644 index 0000000..91e4835 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/UserPlugin/ID.md @@ -0,0 +1,14 @@ +# UserPlugin.ID property + +Unique identifier of the plugin + +```csharp +public string ID { get; set; } +``` + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/UserPlugin/IcoPath.md b/API-Reference/Flow.Launcher.Plugin/UserPlugin/IcoPath.md new file mode 100644 index 0000000..8a5b03a --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/UserPlugin/IcoPath.md @@ -0,0 +1,14 @@ +# UserPlugin.IcoPath property + +Icon path of the plugin + +```csharp +public string IcoPath { get; set; } +``` + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/UserPlugin/IsFromLocalInstallPath.md b/API-Reference/Flow.Launcher.Plugin/UserPlugin/IsFromLocalInstallPath.md new file mode 100644 index 0000000..52304cb --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/UserPlugin/IsFromLocalInstallPath.md @@ -0,0 +1,14 @@ +# UserPlugin.IsFromLocalInstallPath property + +Indicates whether the plugin is installed from a local path + +```csharp +public bool IsFromLocalInstallPath { get; } +``` + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/UserPlugin/Language.md b/API-Reference/Flow.Launcher.Plugin/UserPlugin/Language.md new file mode 100644 index 0000000..5c03545 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/UserPlugin/Language.md @@ -0,0 +1,14 @@ +# UserPlugin.Language property + +Allow language of the plugin [`AllowedLanguage`](../AllowedLanguage.md) + +```csharp +public string Language { get; set; } +``` + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/UserPlugin/LatestReleaseDate.md b/API-Reference/Flow.Launcher.Plugin/UserPlugin/LatestReleaseDate.md new file mode 100644 index 0000000..918131c --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/UserPlugin/LatestReleaseDate.md @@ -0,0 +1,14 @@ +# UserPlugin.LatestReleaseDate property + +The date when the plugin was last updated + +```csharp +public DateTime? LatestReleaseDate { get; set; } +``` + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/UserPlugin/LocalInstallPath.md b/API-Reference/Flow.Launcher.Plugin/UserPlugin/LocalInstallPath.md new file mode 100644 index 0000000..10478cf --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/UserPlugin/LocalInstallPath.md @@ -0,0 +1,14 @@ +# UserPlugin.LocalInstallPath property + +Local path where the plugin is installed + +```csharp +public string LocalInstallPath { get; set; } +``` + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/UserPlugin/MinimumAppVersion.md b/API-Reference/Flow.Launcher.Plugin/UserPlugin/MinimumAppVersion.md new file mode 100644 index 0000000..9dbc8f6 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/UserPlugin/MinimumAppVersion.md @@ -0,0 +1,14 @@ +# UserPlugin.MinimumAppVersion property + +The minimum Flow Launcher version required for this plugin. Default is "". + +```csharp +public string MinimumAppVersion { get; set; } +``` + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/UserPlugin/Name.md b/API-Reference/Flow.Launcher.Plugin/UserPlugin/Name.md new file mode 100644 index 0000000..d18957b --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/UserPlugin/Name.md @@ -0,0 +1,14 @@ +# UserPlugin.Name property + +Name of the plugin + +```csharp +public string Name { get; set; } +``` + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/UserPlugin/UrlDownload.md b/API-Reference/Flow.Launcher.Plugin/UserPlugin/UrlDownload.md new file mode 100644 index 0000000..9148cbc --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/UserPlugin/UrlDownload.md @@ -0,0 +1,14 @@ +# UserPlugin.UrlDownload property + +URL to download the plugin + +```csharp +public string UrlDownload { get; set; } +``` + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/UserPlugin/UrlSourceCode.md b/API-Reference/Flow.Launcher.Plugin/UserPlugin/UrlSourceCode.md new file mode 100644 index 0000000..9837747 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/UserPlugin/UrlSourceCode.md @@ -0,0 +1,14 @@ +# UserPlugin.UrlSourceCode property + +URL to the source code of the plugin + +```csharp +public string UrlSourceCode { get; set; } +``` + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/UserPlugin/UserPlugin.md b/API-Reference/Flow.Launcher.Plugin/UserPlugin/UserPlugin.md new file mode 100644 index 0000000..3e780a9 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/UserPlugin/UserPlugin.md @@ -0,0 +1,14 @@ +# UserPlugin constructor + +The default constructor. + +```csharp +public UserPlugin() +``` + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/UserPlugin/Version.md b/API-Reference/Flow.Launcher.Plugin/UserPlugin/Version.md new file mode 100644 index 0000000..683b0aa --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/UserPlugin/Version.md @@ -0,0 +1,14 @@ +# UserPlugin.Version property + +Version of the plugin + +```csharp +public string Version { get; set; } +``` + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/UserPlugin/Website.md b/API-Reference/Flow.Launcher.Plugin/UserPlugin/Website.md new file mode 100644 index 0000000..da6cf51 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/UserPlugin/Website.md @@ -0,0 +1,14 @@ +# UserPlugin.Website property + +Website of the plugin + +```csharp +public string Website { get; set; } +``` + +## See Also + +* record [UserPlugin](../UserPlugin.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/VisibilityChangedEventArgs.md b/API-Reference/Flow.Launcher.Plugin/VisibilityChangedEventArgs.md new file mode 100644 index 0000000..1f2a2ca --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/VisibilityChangedEventArgs.md @@ -0,0 +1,20 @@ +# VisibilityChangedEventArgs class + +The event args for [`VisibilityChangedEventHandler`](./VisibilityChangedEventHandler.md) + +```csharp +public class VisibilityChangedEventArgs : EventArgs +``` + +## Public Members + +| name | description | +| --- | --- | +| [VisibilityChangedEventArgs](VisibilityChangedEventArgs/VisibilityChangedEventArgs.md)() | The default constructor. | +| [IsVisible](VisibilityChangedEventArgs/IsVisible.md) { get; set; } | `true` if the main window has become visible | + +## See Also + +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/VisibilityChangedEventArgs/IsVisible.md b/API-Reference/Flow.Launcher.Plugin/VisibilityChangedEventArgs/IsVisible.md new file mode 100644 index 0000000..05cc612 --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/VisibilityChangedEventArgs/IsVisible.md @@ -0,0 +1,14 @@ +# VisibilityChangedEventArgs.IsVisible property + +`true` if the main window has become visible + +```csharp +public bool IsVisible { get; set; } +``` + +## See Also + +* class [VisibilityChangedEventArgs](../VisibilityChangedEventArgs.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/VisibilityChangedEventArgs/VisibilityChangedEventArgs.md b/API-Reference/Flow.Launcher.Plugin/VisibilityChangedEventArgs/VisibilityChangedEventArgs.md new file mode 100644 index 0000000..1b0e48f --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/VisibilityChangedEventArgs/VisibilityChangedEventArgs.md @@ -0,0 +1,14 @@ +# VisibilityChangedEventArgs constructor + +The default constructor. + +```csharp +public VisibilityChangedEventArgs() +``` + +## See Also + +* class [VisibilityChangedEventArgs](../VisibilityChangedEventArgs.md) +* namespace [Flow.Launcher.Plugin](../../Flow.Launcher.Plugin.md) + + diff --git a/API-Reference/Flow.Launcher.Plugin/VisibilityChangedEventHandler.md b/API-Reference/Flow.Launcher.Plugin/VisibilityChangedEventHandler.md new file mode 100644 index 0000000..d266aad --- /dev/null +++ b/API-Reference/Flow.Launcher.Plugin/VisibilityChangedEventHandler.md @@ -0,0 +1,19 @@ +# VisibilityChangedEventHandler delegate + +A delegate for when the visibility is changed + +```csharp +public delegate void VisibilityChangedEventHandler(object sender, VisibilityChangedEventArgs args); +``` + +| parameter | description | +| --- | --- | +| sender | | +| args | | + +## See Also + +* class [VisibilityChangedEventArgs](./VisibilityChangedEventArgs.md) +* namespace [Flow.Launcher.Plugin](../Flow.Launcher.Plugin.md) + +