CurvaLauncher is a simple desktop launcher for Windows.
- Run applications or programs
- Calculate math expressions
- Get a summary of data
- Translate texts
- Search everyting on your PC
- Detect or generate QR code
- ...
- Download the Latest release.
- Unzip it, and you will can find
CurvaLauncher.exe
in the directory. - Run
CurvaLauncher.exe
and enjoy it!
Notice: Ensure that the .NET Desktop Runtime 8.0.0 (x64) is installed on your computer.
- Use
Alt + Space
to open the launcher - Input something to get the result
- Use
Up
andDown
to select the item - Press
Enter
to invoke the selected item
Tips: Some invoking result are copied to the clipboard.
Most of CurvaLauncher's features are available in the form of plugins
- RunApplication: Input the name of the application to run. (Applications in the start menu and desktop are supported)
- RunProgram: Input a command to run. (You can configure the include and exclude directories in the settings)
- Calculator: Input a math expression with prefix '=' to calculate.
(Common math functions are supported,
PI
andE
are also supported) - OpenUrl: Input a url to open. (Use your default browser)
- Translator: Input
>trans
and a text to translate. (A space character is required between>trans
and the text, you can also configure the source and target language or switch translation engine in the settings) - Hashing: Input
#
and a hashing method, then type a text or file path to get summary (For example, '#md5 123' or '#sha256 C:\Users\OrgEleCho\Desktop\test.txt'. Now supportmd5
,sha1
,sha256
,sha384
,sha512
) - Everything: Input
*
and keyword to search everything on your PC. (For example,*qwq*
will search all folders and files which name contains 'qwq') - ZXing: Detect 2D Barcode and QR code or generate QR code. (Input '>zxing' for detecting image in your clipboard, input '>qrcode' for generating QR code and save it to your clipboard)
- Clone the repository code.
- Create a new project with the target framework
net8.0-windows
. - Add 'CurvaLauncher.Plugin' to the project reference.
- Create a plugin class that implements the
ISyncPlugin
orIAsyncPlugin
interface. - Implement the interface members, and write the main logic.
Tip: Synchronous and asynchronous plug-ins indicate whether your plug-in performs queries synchronously or asynchronously. You can choose one of them based on your plug-in logic. Query results are also divided into synchronous and asynchronous, just inherit the corresponding QueryResult.
For example, a translator plug-in returns immediately after triggering a keyword. It does not require any asynchronous operation, so the plug-in is synchronous. However, when the user presses Enter to perform a translation operation, this process requires a network request. In other words, this plug-in The result is asynchronous, so you should use
ISyncPlugin
andAsyncQueryResult
to implement this plugin.
- Securify.ShellLink: A .NET Class Library for processing ShellLink (LNK) files
- ZXing.NET: .Net port of the original java-based barcode reader and generator library zxing