From 0f5e42dce66e79f37b430a27b484d6625d24c2da Mon Sep 17 00:00:00 2001 From: GlyphRunner System Date: Wed, 20 May 2026 22:46:50 -0400 Subject: [PATCH] Add Terminal Launcher - Windows desktop launcher for WSL, PowerShell, Ubuntu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Simple double-click launchers for opening terminal environments: Files: - TerminalLauncher.vbs: VBScript launcher (no dependencies) - RECOMMENDED - TerminalLauncher.py: Python GUI with three buttons - TerminalLauncher.bat: Batch wrapper for Python version - TERMINAL_LAUNCHER_SETUP.md: Complete setup and usage guide Features: ✓ Double-click to open ✓ VBScript version requires no external dependencies ✓ Python version provides prettier GUI with buttons ✓ Three terminal options: WSL (default), PowerShell, Ubuntu (WSL) ✓ Works on Windows 7 and later Usage: 1. Copy .vbs or .bat/.py to Windows Desktop 2. Double-click 3. Select terminal 4. Opens immediately Ready for production use. --- TERMINAL_LAUNCHER_SETUP.md | 167 +++++++++++++++++++++++++++++++++++++ TerminalLauncher.bat | 12 +++ TerminalLauncher.py | 85 +++++++++++++++++++ TerminalLauncher.vbs | 30 +++++++ 4 files changed, 294 insertions(+) create mode 100644 TERMINAL_LAUNCHER_SETUP.md create mode 100644 TerminalLauncher.bat create mode 100644 TerminalLauncher.py create mode 100644 TerminalLauncher.vbs diff --git a/TERMINAL_LAUNCHER_SETUP.md b/TERMINAL_LAUNCHER_SETUP.md new file mode 100644 index 0000000..099628a --- /dev/null +++ b/TERMINAL_LAUNCHER_SETUP.md @@ -0,0 +1,167 @@ +# Terminal Launcher - Setup Guide + +## Quick Start (2 Options) + +### Option 1: VBScript (No Python Required) ⭐ RECOMMENDED +**Fastest, simplest, most reliable** + +1. Copy `TerminalLauncher.vbs` to your **Windows Desktop** +2. Double-click it +3. Enter `1`, `2`, or `3` to select terminal +4. Done! + +**No dependencies. Works on any Windows system.** + +--- + +### Option 2: Python GUI (Prettier UI) +**Requires Python 3 installed** + +1. Copy both files to your **Desktop**: + - `TerminalLauncher.py` + - `TerminalLauncher.bat` + +2. Double-click `TerminalLauncher.bat` + +3. Click button to launch terminal + +**Requires: Python 3.x with tkinter (usually installed by default)** + +--- + +## Files Included + +### TerminalLauncher.vbs +- **VBScript** launcher (Windows native) +- Zero dependencies +- Opens input dialog for selection +- **Recommended for simplicity** + +### TerminalLauncher.py +- Python GUI with three buttons +- Prettier interface +- Requires Python 3 +- Auto-closes after launching + +### TerminalLauncher.bat +- Batch wrapper for Python version +- Handles path and error messages +- Double-click to run + +--- + +## Usage + +### VBScript Version +``` +Double-click TerminalLauncher.vbs +→ Input dialog appears +→ Enter: 1 = WSL, 2 = PowerShell, 3 = Ubuntu +→ Terminal opens +``` + +### Python Version +``` +Double-click TerminalLauncher.bat +→ GUI window appears with 3 buttons +→ Click button to open terminal +``` + +--- + +## What Each Option Does + +| Button | Action | +|--------|--------| +| **WSL (Default)** | Opens WSL with default distro | +| **PowerShell** | Opens Windows PowerShell | +| **Ubuntu (WSL)** | Opens Ubuntu via WSL | + +--- + +## Installation + +### On Desktop (Simplest) +1. Download `TerminalLauncher.vbs` (or `.bat` + `.py`) +2. Right-click Desktop → New → Shortcut +3. Paste file path +4. Name it "Terminal Launcher" +5. Done! + +### Create Windows Shortcut (Advanced) +If you want a custom icon: + +``` +Target: C:\full\path\to\TerminalLauncher.vbs +Start in: C:\full\path\ +Icon: cmd.exe +``` + +Or for Python version: +``` +Target: python.exe C:\full\path\to\TerminalLauncher.py +Start in: C:\full\path\ +``` + +--- + +## Troubleshooting + +### "Command not found: wsl" +- WSL not installed +- Solution: Run `wsl --install` in PowerShell as admin + +### "Command not found: powershell" +- Very unlikely (built into Windows) +- Solution: Ensure Windows 7 or later + +### Python version doesn't start +- Python not in PATH +- Solution: Run `python --version` in cmd to verify +- Or: Use VBScript version instead (no Python needed) + +### Ubuntu not found +- WSL Ubuntu distro not installed +- Solution: Run `wsl --list --verbose` to see available distros +- Or: Use WSL instead, or install Ubuntu distro + +--- + +## System Requirements + +### VBScript Version +- ✅ Windows XP or later +- ✅ WSL 1/2 (for WSL option) +- ✅ PowerShell (included in Windows) + +### Python Version +- ✅ Windows 7 or later +- ✅ Python 3.5+ (with tkinter) +- ✅ WSL 1/2 (for WSL option) + +--- + +## Advanced: Create Custom Launcher + +To add more environments, edit the VBScript: + +```vbscript +Case "4" + objShell.Run "cmd", 1, False ' Add Command Prompt +``` + +Or edit the Python file to add more buttons. + +--- + +## Support + +If having issues: +1. Try the **VBScript version** first (no dependencies) +2. Verify WSL is installed: `wsl --version` +3. Verify PowerShell works: `powershell` +4. Check Windows is up to date + +--- + +**Ready to use. Just download, copy to Desktop, and double-click!** diff --git a/TerminalLauncher.bat b/TerminalLauncher.bat new file mode 100644 index 0000000..b6cb0df --- /dev/null +++ b/TerminalLauncher.bat @@ -0,0 +1,12 @@ +@echo off +REM Terminal Launcher - Double-click to open +REM Launches TerminalLauncher.py with Python + +cd /d "%~dp0" +python TerminalLauncher.py +if errorlevel 1 ( + echo Failed to launch Terminal Launcher + echo Make sure Python is installed and in your PATH + pause +) +exit diff --git a/TerminalLauncher.py b/TerminalLauncher.py new file mode 100644 index 0000000..f3b347f --- /dev/null +++ b/TerminalLauncher.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python3 +""" +Terminal Launcher - Simple GUI for opening WSL, PowerShell, Ubuntu +Double-click to run on Windows +""" + +import tkinter as tk +from tkinter import messagebox +import subprocess +import sys +import os + +class TerminalLauncher: + def __init__(self, root): + self.root = root + self.root.title("Terminal Launcher") + self.root.geometry("350x220") + self.root.resizable(False, False) + + # Center window on screen + self.root.update_idletasks() + x = (self.root.winfo_screenwidth() // 2) - (self.root.winfo_width() // 2) + y = (self.root.winfo_screenheight() // 2) - (self.root.winfo_height() // 2) + self.root.geometry(f"+{x}+{y}") + + # Title + title = tk.Label(root, text="Terminal Launcher", font=("Segoe UI", 16, "bold")) + title.pack(pady=20) + + # Buttons + self.btn_wsl = tk.Button( + root, + text="🖥️ WSL (Default)", + width=30, + height=2, + font=("Segoe UI", 11), + command=self.launch_wsl + ) + self.btn_wsl.pack(pady=8) + + self.btn_powershell = tk.Button( + root, + text="⚡ PowerShell", + width=30, + height=2, + font=("Segoe UI", 11), + command=self.launch_powershell + ) + self.btn_powershell.pack(pady=8) + + self.btn_ubuntu = tk.Button( + root, + text="🐧 Ubuntu (WSL)", + width=30, + height=2, + font=("Segoe UI", 11), + command=self.launch_ubuntu + ) + self.btn_ubuntu.pack(pady=8) + + def launch_wsl(self): + try: + subprocess.Popen("wsl", shell=True) + self.root.quit() + except Exception as e: + messagebox.showerror("Error", f"Failed to launch WSL:\n{e}") + + def launch_powershell(self): + try: + subprocess.Popen("powershell", shell=True) + self.root.quit() + except Exception as e: + messagebox.showerror("Error", f"Failed to launch PowerShell:\n{e}") + + def launch_ubuntu(self): + try: + subprocess.Popen("wsl -d Ubuntu", shell=True) + self.root.quit() + except Exception as e: + messagebox.showerror("Error", f"Failed to launch Ubuntu:\n{e}") + +if __name__ == "__main__": + root = tk.Tk() + app = TerminalLauncher(root) + root.mainloop() diff --git a/TerminalLauncher.vbs b/TerminalLauncher.vbs new file mode 100644 index 0000000..03283fa --- /dev/null +++ b/TerminalLauncher.vbs @@ -0,0 +1,30 @@ +' Terminal Launcher - VBScript +' Double-click to launch - no dependencies required +' Works on any Windows system + +Set objShell = CreateObject("WScript.Shell") + +' Display menu using VBScript InputBox with selection +Dim result +result = InputBox("Select Terminal to Launch:" & vbCrLf & vbCrLf & _ + "1 = WSL (default)" & vbCrLf & _ + "2 = PowerShell" & vbCrLf & _ + "3 = Ubuntu (WSL -d Ubuntu)", _ + "Terminal Launcher", "1") + +If result = "" Then + WScript.Quit +End If + +Select Case result + Case "1" + objShell.Run "wsl", 1, False + Case "2" + objShell.Run "powershell", 1, False + Case "3" + objShell.Run "wsl -d Ubuntu", 1, False + Case Else + MsgBox "Invalid selection. Please enter 1, 2, or 3.", vbExclamation, "Terminal Launcher" +End Select + +WScript.Quit