Skip to content

Commit 48b498f

Browse files
authored
Merge pull request #35 from YellowKidokc/claude/powershell-gui-interface-F2wNE
Add PowerShell Commander GUI application
2 parents da5d746 + 231ab1c commit 48b498f

8 files changed

Lines changed: 1633 additions & 0 deletions

File tree

gui/README.md

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
# PowerShell Commander
2+
3+
A modern dark-themed GUI for managing and running PowerShell scripts.
4+
5+
![CustomTkinter](https://img.shields.io/badge/CustomTkinter-5.2+-blue)
6+
![Python](https://img.shields.io/badge/Python-3.8+-green)
7+
8+
## Features
9+
10+
- **Dark Modern UI**: Built with CustomTkinter for a sleek, modern interface
11+
- **Category Organization**: Scripts organized into Files, Computer, Network, Audio, Apps, Dev, Utils, and Custom categories
12+
- **Script Manager**: Add/remove scripts from categories through a visual interface
13+
- **Interactive Scripts**: Full support for scripts that require user input via dialog boxes
14+
- **Output Console**: Real-time script output display with scrolling
15+
- **Script Dump Folder**: Store all your scripts in one place, then pick which ones to show in the GUI
16+
- **Windows Startup**: Auto-launch when Windows starts
17+
18+
## Installation
19+
20+
### Prerequisites
21+
22+
- Python 3.8 or higher
23+
- PowerShell 5.1+ (Windows) or PowerShell Core (Linux/macOS)
24+
25+
### Quick Start
26+
27+
1. Install dependencies:
28+
```bash
29+
pip install -r requirements.txt
30+
```
31+
32+
2. Run the application:
33+
```bash
34+
python powershell_commander.py
35+
```
36+
37+
### Windows Auto-Start
38+
39+
To make PowerShell Commander start with Windows:
40+
41+
1. Run `install_startup.bat`
42+
2. Done! The app will now launch when Windows starts
43+
44+
To remove from startup:
45+
- Run `uninstall_startup.bat`
46+
47+
## Usage
48+
49+
### Categories
50+
51+
- **Files**: File and folder operations (create, delete, zip, convert)
52+
- **Computer**: System monitoring (CPU, RAM, drives, processes)
53+
- **Network**: Network tools (DNS, ping, VPN, WiFi)
54+
- **Audio**: Sound controls (volume, text-to-speech, play audio)
55+
- **Apps**: Application management (open, close, install)
56+
- **Dev**: Development tools (Git operations, build, clean)
57+
- **Utils**: Utilities (weather, news, hash, screenshot)
58+
- **Custom**: Your personal scripts
59+
60+
### Managing Scripts
61+
62+
1. Click **"Manage Scripts"** in the header
63+
2. Search for scripts in the left panel
64+
3. Select a category from the dropdown
65+
4. Click **"Add"** to add a script to the category
66+
5. Click **"Remove"** to remove a script from a category
67+
68+
### Adding Custom Scripts
69+
70+
1. Place your `.ps1` scripts in the `script_dump` folder
71+
2. Open Script Manager
72+
3. Find your script and add it to the desired category
73+
4. Edit `config/scripts_config.json` to customize display name, description, and input prompts
74+
75+
### Interactive Scripts
76+
77+
For scripts that require user input, configure them in `scripts_config.json`:
78+
79+
```json
80+
{
81+
"name": "my-script",
82+
"display_name": "My Script",
83+
"description": "Does something cool",
84+
"requires_input": true,
85+
"input_prompts": [
86+
{
87+
"name": "path",
88+
"label": "Enter Path",
89+
"placeholder": "C:\\path\\to\\folder",
90+
"default": ""
91+
}
92+
]
93+
}
94+
```
95+
96+
## Configuration
97+
98+
The main configuration file is `config/scripts_config.json`. You can:
99+
100+
- Add/remove categories
101+
- Customize category icons and descriptions
102+
- Configure which scripts appear in each category
103+
- Set up input prompts for interactive scripts
104+
- Adjust window size and scripts per row
105+
106+
## File Structure
107+
108+
```
109+
gui/
110+
├── powershell_commander.py # Main application
111+
├── requirements.txt # Python dependencies
112+
├── start_commander.bat # Windows launcher
113+
├── install_startup.bat # Add to Windows startup
114+
├── uninstall_startup.bat # Remove from startup
115+
├── config/
116+
│ └── scripts_config.json # Category/script configuration
117+
└── script_dump/ # Custom scripts folder
118+
```
119+
120+
## Keyboard Shortcuts
121+
122+
- **Enter**: Submit input dialogs
123+
- **Escape**: Cancel input dialogs
124+
125+
## Troubleshooting
126+
127+
### "Python not found"
128+
Install Python from https://python.org and ensure it's added to PATH.
129+
130+
### "customtkinter not found"
131+
Run: `pip install customtkinter`
132+
133+
### Scripts not running
134+
- Ensure PowerShell execution policy allows scripts
135+
- Run: `Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser`
136+
137+
## License
138+
139+
CC0 - Public Domain

0 commit comments

Comments
 (0)