## File: README.md

# Ueli

Ueli is a cross-platform keystroke launcher.



# Installation

**Please download Ueli only from the Microsoft Store, the Website https://ueli.app, or this repository.**

## Windows

Get the app from the [Microsoft Store](https://www.microsoft.com/store/productId/9PK44N42B2G7?ocid=pdpshare) or install it with winget: `winget install Ueli -s msstore`.

Optionally, you can also manually download and install the app from [here](https://github.com/oliverschwendener/ueli/releases/latest), but note that, due to cost reasons, these binaries are not signed. Windows will prevent you from installing / opening the app.

## macOS

Download and install the app from [here](https://github.com/oliverschwendener/ueli/releases/latest). Note that, due to cost reasons, these binaries are neither signed nor notarized.

> Because Ueli is neither signed nor notarized, macOS will prevent you from installing or opening the app. When you try to launch the app for the first time macOS will block it from opening. You can open the "System Settings", go to "Privacy & Security" and click on "Open anyway", see screenshot.

## Linux

Download and install the app from [here](https://github.com/oliverschwendener/ueli/releases/latest).

# First steps

- When you launch the app for the first time the main window will show up and you can start typing for what you're looking for.
- Use the hotkey "Alt+Space" to show/hide Ueli.
- Use the arrow keys to navigate up and down in the search result list.
- Press "Enter" to launch the selected item.
- Press "Cmd+K" (macOS) or "Ctrl+K" (Windows, Linux) to open the additional actions of the selected search result item and use the arrow keys to navigate up and down in the menu. Press "Enter" to invoke the selected action. Press "Escape" to close the additonal action menu.
- To add a frequently used item to your favorites open the additional actions menu and click on "Add to Favorites". Now this item will appear always first in the search result list. To remove an item from your favorites open the additional actions and click on "Remove from favorites". Alternatively, you can also open the settings and go to "Favorites" to see all favorites. Click on the "x" icon to remove an item from your favorites.
- Press "Cmd+," (macOS) or "Ctrl+," (Windows, Linux) or click on the "Settings" button to open the settings. Here you can configure Ueli to your liking.
- To browse the extensions click on "Extensions" in the left navigation. Toggle the switch to enable/disable an extension. As soon as an extension is enabled an additional item will appear in the left navigation where you will find the settings for that specific extension. You'll find more info about the extensions [here](https://github.com/oliverschwendener/ueli/wiki/Extensions).

# Debugging

If something does not work as expected, go to "Settings" and click on "Debug".

Here you might find some logs that help find the issue.



# Settings

⚠️ Under construction...

# Extensions

- [Appearance Switcher](docs/Extensions/AppearanceSwitcher/README.md)
- [Application Search](docs/Extensions/ApplicationSearch/README.md)
- [Base64 Conversion](docs/Extensions/Base64Conversion/README.md)
- [Browser Bookmarks](docs/Extensions/BrowserBookmarks/README.md)
- [Calculator](docs/Extensions/Calculator/README.md)
- [Color Converter](docs/Extensions/ColorConverter/README.md)
- [Currency Conversion](docs/Extensions/CurrencyConversion/README.md)
- [Custom Web Search](docs/Extensions/CustomWebSearch/README.md)
- [DeepL Translator](docs/Extensions/DeeplTranslator/README.md)
- [File Search](docs/Extensions/FileSearch/README.md)
- [JetBrains Toolbox](docs/Extensions/JetBrainsToolbox/README.md)
- [Password Generator](docs/Extensions/PasswordGenerator/README.md)
- [Quick Formatter](docs/Extensions/QuickFormatter/README.md)
- [Rowland Text Editor](docs/Extensions/RowlandTextEditor/README.md)
- [Simple File Search](docs/Extensions/SimpleFileSearch/README.md)
- [System Commands](docs/Extensions/SystemCommands/README.md)
- [System Settings](docs/Extensions/SystemSettings/README.md)
- [Terminal Launcher](docs/Extensions/TerminalLauncher/README.md)
- [Ueli Commands](docs/Extensions/UeliCommands/README.md)
- [UUID / GUID Generator](docs/Extensions/UuidGenerator/README.md)
- [Visual Studio Code](docs/Extensions/VSCode/README.md)
- [Web Search](docs/Extensions/WebSearch/README.md)
- [Windows Control Panel](docs/Extensions/WindowsControlPanel/README.md)

# Known issues

## Linux

Global hotkeys may not work under Wayland sessions. As a workaround, bind a custom shortcut in your system settings to call `ueli` to show and focus the main window, or `ueli --toggle` to toggle the main window.

# Development

Please read the [contribution guidelines](CONTRIBUTING.md) first.

## Requirements

- Node.js 24: https://nodejs.org/en
- Make sure you have [commit signing](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits) enabled
- Optional: if you're using Visual Studio Code we recommend installing the recommended extensions

## Setup

- Install dependencies

    ```
    $ npm install
    ```

## Running the app

- Run app in dev mode

    ```
    $ npm run dev
    ```

## Debugging

If you're using Visual Studio Code, you can start the debugger for the main process, see screenshot:


## Quality checks

- Check formatting

    ```
    $ npm run format:check
    ```

- Format the code

    ```
    $ npm run format:write
    ```

- Lint files

    ```
    $ npm run lint
    ```

- Perform typecheck

    ```
    $ npm run typecheck
    ```

- Run tests

    ```
    $ npm run test
    ```

## Build and package the app

- Build

    ```
    $ npm run build
    ```

- Package
    ```
    $ npm run package
    ```

---

## File: docs/Extensions/WindowsControlPanel/README.md

# Windows Control Panel

This extension allows you to search for items of the Windows Control Panel.



## About this extension

Author: [Torben Kohlmeier](https://github.com/tkohlmeier)

Supported operating systems:

- Windows

---

## File: docs/Extensions/WebSearch/README.md

# Web Search

This extension allows you to search the web with Google or DuckDuckGo. Search for "Google" or "DuckDuckGo" and press enter to open the web search. Type in a search term, use the arrow keys to navigate up and down, and press "Enter" to open the search result in your browser.



## Settings

- Search Engine: the search engine to use.
- Locale: the location in which you want to search (currently only en-US, de-CH, ja-JP and ko-KR are supported).
- Show instant search result: wether to show a search result in the main search view for the current search term.

## About this extension

Author: [Oliver Schwendener](https://github.com/oliverschwendener)

Supported operating systems:

- Windows
- macOS
- Linux

---

## File: docs/Extensions/VSCode/README.md

# VSCode Extension

This extension allows you to open recently edited projects and files in vscode.



## Settings

- Prefix: the prefix that triggers the vscode extension.
- Command: The command that the extension will invoke to open vscode and pass it the recent item.
- Show file/folder path: append the path to each search result name.

## About this extension

Author: [Ethan Conneely](https://github.com/IrishBruse)

Supported operating systems:

- Windows
- macOS
- Linux

---

## File: docs/Extensions/UuidGenerator/README.md

# UUID / GUID Generator

This extension allows to generate [Universally Unique Identifiers](https://en.wikipedia.org/wiki/Universally_unique_identifier), also known as UUID or GUID.
This can be done either instantly for a single UUID or through a dedicated UI, where multiple UUIDs can be generated at once.





This extension also allows to format the UUID to several different styles in a fast way.



## Settings

- **UUID Version**: The UUID version, either [v4](<https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_(random)>), [v6](<https://en.wikipedia.org/wiki/Universally_unique_identifier#Versions_1_and_6_(date-time_and_MAC_address)>) or [v7](<https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_7_(timestamp_and_random)>)
- **Number of UUIDs to generate**: The number of UUIDs that will be created, only applies when using the UI of the extension
- **Validate UUIDs strictly**: Whether the UUID should validate correctly (with version and time info) or if it just needs to be in the correct format and hex characters
- **Uppercase**: Whether the characters of the UUID should be uppercase
- **Hyphen**: Whether the UUID should contain hyphens (-)
- **Braces**: Whether the UUID should be wrapped in braces ({})
- **Quotes**: Whether the UUID should be wrapped in quotes
- **Search result formats**: Several different formats for fast formatting in search results



## About this extension

Author: [Christopher Steiner](https://github.com/ChristopherSteiner)

Co-Author: [Marco Senn-Haag](https://github.com/MarcoSennHaag)

Supported operating systems:

- Windows
- macOS
- Linux

---

## File: docs/Extensions/UeliCommands/README.md

# Ueli Commands

This extension allows you to control or navigate Ueli.



## About this extension

Author: [Oliver Schwendener](https://github.com/oliverschwendener)

Supported operating systems:

- Windows
- macOS

---

## File: docs/Extensions/TerminalLauncher/README.md

# Terminal Launcher

This extension allows you to launch terminals with a given command. Use this pattern: `{prefix} {command}` for example: `> ping 1.1.1.1` and press enter to launch the given terminal.



## Settings

- Prefix: the prefix that triggers the terminal launcher.
- Terminals: the list of terminals that will show up in the search result list.

## About this extension

Author: [Oliver Schwendener](https://github.com/oliverschwendener)

Supported operating systems:

- Windows
- macOS

---

## File: docs/Extensions/SystemSettings/README.md

# System Settings

This extension allows you to search operating system settings. Press enter to open the settings.



## About this extension

Author: [Oliver Schwendener](https://github.com/oliverschwendener)

Supported operating systems:

- Windows
- macOS

---

## File: docs/Extensions/SystemCommands/README.md

# System Commands

This extension allows you to search operating system commands. Press enter to invoke the system command.



## Supported system commands:

### Windows

- Shutdown
- Restart
- Sign out
- Lock
- Sleep
- Hibernate

### macOS

- Shutdown
- Restart
- Log out
- Sleep
- Lock

## About this extension

Author: [Oliver Schwendener](https://github.com/oliverschwendener)

Supported operating systems:

- Windows
- macOS

---

## File: docs/Extensions/SimpleFileSearch/README.md

# Simple File Search

This extension allows you to search for files and folders in specific locations.



> Note that this extension is not made for scanning top-level folders, hence the term "simple".

## Settings

- Path: the path to the folder in which you want to search for files and folders
- Search for:
    - Files and folders: select this option if you want to search for files and folders
    - Files: select this option if you want to search for files only
    - Folders: select this option if you want to search for folders only
- Recursive: whether to do a recursive scan. Note that if you enable this option on a folder that contains a lot of files, you might experience poor performance or even brake the app.

## About this extension

Author: [Oliver Schwendener](https://github.com/oliverschwendener)

Supported operating systems:

- Windows
- macOS
- Linux