|
|
@@ -0,0 +1,92 @@
|
|
|
+# 🚀 TUI Launcher 🚀
|
|
|
+
|
|
|
+Welcome to **TUI Launcher**! A simple, yet beautiful and customizable Terminal User Interface (TUI) for launching your favorite command-line programs.
|
|
|
+
|
|
|
+ <!-- Replace with an actual demo GIF -->
|
|
|
+
|
|
|
+## ✨ 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.
|