ueli
This is an alt+space launcher for Windows and macOS.
Table of contents
Installation
Installer / Zip
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
Quick tutorial
- Press
alt+space
to show/hide the window - Start typing a program name
- Press Enter to launch the program
Features
Program search
- You can search for installed programs
- Use the arrow keys to scroll up and down
- Presss Enter to launch the selected program
Files and folder search
- You can search files and folders in your home folder
- Press Enter to open the selected file/folder
Open URLs with your default web browser
- Type in a URL
- Press enter to open the URL with your default web browser
Open default mail program
- Type in a email address
- Press enter to open your default mail program with an empty email to the specified email address
Web search engines
- You can customize web search engines like this:
"webSearches": [
{
"icon": "<svg>...</svg>",
"name": "Google",
"prefix": "g",
"url": "https://google.com/search?q="
}
]
Now you can type in g?{your search term}
to launch the web search engine in your default browser.
Default web search engines:
Prefix | Web Search Engine |
---|---|
d |
DuckDuckGo |
g |
|
gi |
Google Images |
l |
Linguee |
w |
Wikipedia |
yt |
YouTube |
Execute commandline tools
- 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.
Browse file system
- 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
Calculator
- 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:
Custom commands
- You can customize custom commands to
- Start command line tools
- Open files/folders
- Launch programs
"customCommands": [
{
"name": "ping",
"executionArgument": "start ping 8.8.8.8 -t",
"icon": "<svg>...</svg>"
},
{
"name": "Data",
"executionArgument": "start \"\" \"C:\\Data\""
},
{
"name": "code",
"executionArgument": "start \"\" \"C:\\My-Programs\\Visual Studio Code\\Visual Studio Code.lnk\""
},
]
Keyboard shortcuts
Keyboard shortcut | Description |
---|---|
Ctrl+o |
Open the selected program or file at it's location |
ArrowUp |
Scroll up |
ArrowDown |
Scroll down |
F6 , Ctrl+l |
Set focus on user input |
F1 |
Get help |
Updater
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".
Customization
All settings are stored in ~/ueli.config.json
. You can modify this file to change the default values.
Options
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.
maxSearchResultCount
Number - Maximum number of search results to be displayedrescanInterval
Number - Interval in seconds to rescan the application folderssearchOperatingSystemSettings
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
Color themes
atom-one-dark
dark
dark-mono
light
light-mono
Roadmap
- List frequently executed programs/files/settings higher
- Add option to add custom shortcuts
- Add input history browsing
- Add nice GUI to modifiy configuration
- Notify user when update is available
- Use vue components
Development
Build status
Platform | Build status |
---|---|
Windows | |
macOS |
Code coverage
Requirements
- Git
- Node.js
- Yarn
Setup
$ git clone https://github.com/oliverschwendener/ueli
$ cd ueli
$ yarn
Run
$ 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.
Debug
Note: for debugging you need Visual Studio Code
Choose one of these debug configurations:
Run tests
$ yarn test:unit
$ yarn test:integration
Code coverage
$ yarn test:unit --coverage
Package
$ yarn package
Alternatives
License
Copyright (c) Oliver Schwendener. All rights reserved.
Licensed under the MIT License.