This is a keystroke launcher for Windows and macOS.
Note: because the executables are not signed Windows will probably prevent you from executing the installer or the program itself. You can click "Run anyway" to install/run the program.
- Download the latest version here
- Run the installer or unzip
- Run the application
- Press the global hot key to show/hide the window (default is
alt+space
) - Start typing a program name
- Press Enter to launch the program
- You can search for installed programs
- Use the arrow keys to scroll up and down
- Presss Enter to launch the selected program
- You can search files and folders
- Press Enter to open the selected file/folder
- You can customize the folders which are scanned for files and folders
- Type in a URL
- Press enter to open the URL with your default web browser
- Type in a email address
- Press enter to open your default mail program with an empty email to the specified email address
- You can use web search engines with a prefix and
?
.- Example:
g?{your search term}
- Example:
Default web search engines:
Prefix | Web Search Engine |
---|---|
d |
DuckDuckGo |
g |
|
gi |
Google Images |
l |
Linguee |
w |
Wikipedia |
yt |
YouTube |
- You can customize web search engines like this:
"webSearches": [
{
"icon": "<svg>...</svg>",
"name": "My Search Engine",
"prefix": "m",
"url": "https://my-search-engine.com/search?q="
}
]
- Start a commandline tool with the
>
prefix- Example:
>ipconfig /all
- Example:
- Stop an executing commandline tool with
Ctrl+c
Note: you can not interact with the commandline tool. You only see the output.
- You can browse your file system by typing in a filepath
- Example:
C:\Users
or/Applications
- Example:
- Press
Enter
to open the file or folder - Press
Tab
for autocompletion
- Calculate simple math, matrix, symbolic function, convert unit and a lot more.
- Example:
23 * 24 / 2 + (6 * 7) ^ 2
1 km/h to mile/h
a = [1, 2, 3]; a * 2
- Example:
- You can customize custom commands to
- Start command line tools
- Open websites
- Open files/folders
- Launch programs
"customCommands": [
{
"name": "ping",
"executionArgument": ">ping 8.8.8.8 -t",
"icon": "<svg>...</svg>"
},
{
"name": "Whatsapp",
"executionArgument": "https://web.whatsapp.com",
"icon": "<svg>...</svg"
},
{
"name": "Data",
"executionArgument": "C:\\Data"
},
{
"name": "my-project",
"executionArgument": "!code C:\\my-project"
}
]
This feature is deactivated by default. You have to activate this via customization.
- Search for environment variables
- Use
Tab
to autocomplete if it shows a valid file path
Keyboard shortcut | Description |
---|---|
Enter |
Execute selected search result |
Tab |
Autocomplete file path |
Ctrl+o |
Open the selected program or file at it's location |
ArrowUp |
Scroll up |
ArrowDown |
Scroll down |
Shift+ArrowUp |
Browse user input history up |
Shift+ArrowDown |
Browse user input history down |
F6 , Ctrl+l |
Set focus on user input |
F1 |
Get help |
To check if a new version is available right click on the tray icon. The first item in the context menu shows you if there is an update available or if you are running the latest version. If there is an update available click on "Download and install update".
All settings are stored in ~/ueli.config.json
. You can modify this file to change the default values.
applicationFileExtensions
Array of string - Represents the file extensions which are used to find applications in the specified foldersapplicationFolders
Array of string - Represents the folders which are scanned for applicationsautoStartApp
Boolean - If the app should be started automatically when you log incolorTheme
String - Defines the color theme.customCommands
Arraay of customCommand objects - A list of custom commandsexecutionArgument
String - Represents the execution argument for the custom commandname
String - Represents the displayed name for the custom commandicon
String - (Optional) Represents the svg icon for the custom command. If no icon is set default icon is used
fileSearchFolders
Array of string - Represents the folders which are scanned for files and folders (not recursively)hotKey
String - Represents the hotkey to show/hide the window. Available hot keyslogExecution
Boolean - If ueli should log the execution of applications, files and folders for better search results. Set tofalse
if you want to disable logging.maxSearchResultCount
Number - Maximum number of search results to be displayedrescanInterval
Number - Interval in seconds to rescan the application folderssearchEngineThreshold
Number - Represents the threshold for fuzzy matching (min = 0, max = 1, lower means you have to be more precise with the user input)searchEnvironmentVariables
Boolean - If environment variables should appear in the search resultssearchOperatingSystemSettings
Boolean - If operting system settings and commands should appear in the search resultssearchResultExecutionArgumentFontSize
Number - Represents the font size of the search result execution argument in pixelssearchResultHeight
Number - Represents the height of a search result box in pixelssearchResultNameFontSize
Number - Represents the font size of the search result name in pixelsuserInputFontSize
Number - Represents the font size of the user input in pixelsuserInputHeight
Number - Represents the height of the user input box in pixelswebSearches
Array of webSearch Objects - A list of web search engineswebSearch
Object - Defines a web search engineicon
String - Represents the svg icon for the specific web search enginename
String - Represents the name of the web search engineprefix
String - Represents the prefix for your web search engine. For example if the prefix isg
you can type ing?{your search term}
to searchurl
String - Represents the url for the search engine to which the search term is appended to. For examplehttps://google.com/search?q=
windowWith
: Number - Represents the width of the main window in pixels
atom-one-dark
dark
dark-mono
light
light-mono
For better search results ueli is keeping track of the applications, files and folders you are accessing. All information is stored in ~/ueli.count.json
. If you don't want ueli to track your executions simply delete that file's content and disable logging via the customization.
- Add nice GUI to modifiy configuration
- Notify user when update is available
- Use vue components
Platform | Build status |
---|---|
Windows | |
macOS |
- Git
- Node.js
- Yarn
$ git clone https://github.com/oliverschwendener/ueli
$ cd ueli
$ yarn
$ yarn build
$ yarn start
Note: there is also a watch task
$ yarn build:watch
which watches the stylesheets and typescript files and transpiles them automatically if there are any changes.
Note: for debugging you need Visual Studio Code
Choose one of these debug configurations:
$ yarn test:unit
$ yarn test:integration
$ yarn test:unit --coverage
$ yarn package
Copyright (c) Oliver Schwendener. All rights reserved.
Licensed under the MIT License.