# 🚀 TUI Launcher 🚀 Welcome to **TUI Launcher**! A simple, yet beautiful and customizable Terminal User Interface (TUI) for launching your favorite command-line programs. ![A screenshot of TUI Launcher in action](https://m1s5.c20.e2-5.dev/files/images/tui-launcher-screenshot.png) ## ✨ Features * **📝 Simple Configuration**: Easily manage your applications with a straightforward `programs.json` file. * **🎨 Beautiful Interface**: A visually appealing and easy-to-navigate menu, thanks to `gum`, `figlet`, and `lolcat`. * **✅ Dependency Check**: Automatically checks for required dependencies and helps you install them. * **⌨️ Keyboard Navigation**: Navigate the menu with your keyboard. * **🔧 Customizable**: Add your own programs, descriptions, and emojis to personalize your launcher. ## ⚙️ Dependencies TUI Launcher relies on the following command-line tools: * [**`gum`**](https://github.com/charmbracelet/gum): A tool for glamorous shell scripts. * [**`figlet`**](http://www.figlet.org/): A program for making large letters out of ordinary text. * [**`lolcat`**](https://github.com/busyloop/lolcat): A tool for rainbow coloring of text in the terminal. * [**`jq`**](https://stedolan.github.io/jq/): A lightweight and flexible command-line JSON processor. The launcher will check if these are installed and prompt you to install them if they are not. ## 🛠️ Installation 1. **Clone the repository:** ```bash git clone https://git.donaberger.xyz/tui-launcher.git cd tui-launcher ``` 2. **Make the script executable:** ```bash chmod +x tui-launcher.sh ``` 3. **Run the launcher:** ```bash ./tui-launcher.sh ``` ## 🔧 Configuration To add, remove, or modify the programs in the launcher, simply edit the `programs.json` file. The file is a JSON array of objects, where each object represents a program and has the following structure: ```json { "name": "Your Program Name", "command": "command-to-execute", "description": "A short description of your program.", "emoji": "🚀" } ``` ### Example `programs.json`: ```json [ { "name": "btm", "command": "btm", "description": "A cross-platform, terminal-based resource monitor.", "emoji": "〽️" }, { "name": "btop", "command": "btop", "description": "A resource monitor that shows usage and stats for processor, memory, disks, network and processes.", "emoji": "📈" } ] ``` ## 🚀 Usage 1. Run the launcher: `./tui-launcher.sh` 2. Use the arrow keys (`↑`/`↓`) or `k`/`j` to navigate the menu. 3. Press `Enter` to launch the selected program. 4. To exit the launcher, press `Ctrl+D`, `b`, or `ESC`. ## 🤝 Contributing Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request. ## 📜 License This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. ## TODO - [ ] Build an installer script - [ ] Add animations to the background.