Add .config/DankMaterialShell/plugin_settings.json Add .config/DankMaterialShell/plugins/calculator/CalculatorLauncher.qml Add .config/DankMaterialShell/plugins/calculator/CalculatorSettings.qml Add .config/DankMaterialShell/plugins/calculator/README.md Add .config/DankMaterialShell/plugins/calculator/calculator.js Add .config/DankMaterialShell/plugins/calculator/.git/HEAD Add .config/DankMaterialShell/plugins/calculator/.git/config Add .config/DankMaterialShell/plugins/calculator/.git/index Add .config/DankMaterialShell/plugins/calculator/.git/objects/info/.keep Add .config/DankMaterialShell/plugins/calculator/.git/objects/pack/pack-67f644835e660794f65c9273e46788b0c3da57cf.idx Add .config/DankMaterialShell/plugins/calculator/.git/objects/pack/pack-67f644835e660794f65c9273e46788b0c3da57cf.rev Add .config/DankMaterialShell/plugins/calculator/.git/objects/pack/pack-67f644835e660794f65c9273e46788b0c3da57cf.pack Add .config/DankMaterialShell/plugins/calculator/.git/refs/heads/main Add .config/DankMaterialShell/plugins/calculator/.git/refs/remotes/origin/main Add .config/DankMaterialShell/plugins/calculator/.git/refs/remotes/origin/qalc Add .config/DankMaterialShell/plugins/calculator/.git/refs/tags/.keep Add .config/DankMaterialShell/plugins/calculator/plugin.json Add .config/DankMaterialShell/plugins/calculator/screenshot.png Add .config/DankMaterialShell/plugins/calculator/test_precision.js Add .config/DankMaterialShell/plugins/calculator/test_single.js Add .config/DankMaterialShell/plugins/commandRunner/CommandRunner.qml Add .config/DankMaterialShell/plugins/commandRunner/CommandRunnerSettings.qml Add .config/DankMaterialShell/plugins/commandRunner/LICENSE Add .config/DankMaterialShell/plugins/commandRunner/README.md Add .config/DankMaterialShell/plugins/commandRunner/.git/HEAD Add .config/DankMaterialShell/plugins/commandRunner/.git/config Add .config/DankMaterialShell/plugins/commandRunner/.git/index Add .config/DankMaterialShell/plugins/commandRunner/.git/objects/info/.keep Add .config/DankMaterialShell/plugins/commandRunner/.git/objects/pack/pack-5a720f795fd2994ef506cd867d86ca7df8a25a31.idx Add .config/DankMaterialShell/plugins/commandRunner/.git/objects/pack/pack-5a720f795fd2994ef506cd867d86ca7df8a25a31.rev Add .config/DankMaterialShell/plugins/commandRunner/.git/objects/pack/pack-5a720f795fd2994ef506cd867d86ca7df8a25a31.pack Add .config/DankMaterialShell/plugins/commandRunner/.git/refs/heads/main Add .config/DankMaterialShell/plugins/commandRunner/.git/refs/remotes/origin/main Add .config/DankMaterialShell/plugins/commandRunner/.git/refs/tags/.keep Add .config/DankMaterialShell/plugins/commandRunner/plugin.json Add .config/DankMaterialShell/plugins/commandRunner/screenshot.png Add .config/DankMaterialShell/plugins/dankActions.meta Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/DankActions/DankActionsSettings.qml Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/DankActions/DankActionsWidget.qml Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/DankActions/plugin.json Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/DankBatteryAlerts/DankBatteryAlerts.qml Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/DankBatteryAlerts/DankBatteryAlertsSettings.qml Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/DankBatteryAlerts/plugin.json Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/DankHooks/DankHooks.qml Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/DankHooks/DankHooksSettings.qml Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/DankHooks/README.md Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/DankHooks/plugin.json Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/DankPomodoroTimer/DankPomodoroSettings.qml Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/DankPomodoroTimer/DankPomodoroWidget.qml Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/DankPomodoroTimer/plugin.json Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/LICENSE Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/README.md Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/.git/HEAD Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/.git/config Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/.git/index Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/.git/objects/info/.keep Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/.git/objects/pack/pack-3221a15c022ef4a7bb6bf2c47e40068b66b3588b.idx Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/.git/objects/pack/pack-3221a15c022ef4a7bb6bf2c47e40068b66b3588b.rev Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/.git/objects/pack/pack-3221a15c022ef4a7bb6bf2c47e40068b66b3588b.pack Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/.git/refs/heads/master Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/.git/refs/remotes/origin/master Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/.git/refs/tags/.keep Add .config/DankMaterialShell/plugins/.repos/0026f1eba8dedaec/.gitignore Add .config/DankMaterialShell/plugins/emojiLauncher/EmojiLauncher.qml Add .config/DankMaterialShell/plugins/emojiLauncher/EmojiLauncherSettings.qml Add .config/DankMaterialShell/plugins/emojiLauncher/LICENSE Add .config/DankMaterialShell/plugins/emojiLauncher/README.md Add .config/DankMaterialShell/plugins/emojiLauncher/catalog.js Add .config/DankMaterialShell/plugins/emojiLauncher/data/emojis.txt Add .config/DankMaterialShell/plugins/emojiLauncher/data/math.txt Add .config/DankMaterialShell/plugins/emojiLauncher/data/nerdfont.txt Add .config/DankMaterialShell/plugins/emojiLauncher/.git/HEAD Add .config/DankMaterialShell/plugins/emojiLauncher/.git/config Add .config/DankMaterialShell/plugins/emojiLauncher/.git/index Add .config/DankMaterialShell/plugins/emojiLauncher/.git/objects/info/.keep Add .config/DankMaterialShell/plugins/emojiLauncher/.git/objects/pack/pack-e04a5b1ea381dc3a792b8bf08cf70e735b195c0d.idx Add .config/DankMaterialShell/plugins/emojiLauncher/.git/objects/pack/pack-e04a5b1ea381dc3a792b8bf08cf70e735b195c0d.rev Add .config/DankMaterialShell/plugins/emojiLauncher/.git/objects/pack/pack-e04a5b1ea381dc3a792b8bf08cf70e735b195c0d.pack Add .config/DankMaterialShell/plugins/emojiLauncher/.git/refs/heads/main Add .config/DankMaterialShell/plugins/emojiLauncher/.git/refs/remotes/origin/main Add .config/DankMaterialShell/plugins/emojiLauncher/.git/refs/tags/.keep Add .config/DankMaterialShell/plugins/emojiLauncher/plugin.json Add .config/DankMaterialShell/plugins/emojiLauncher/screenshot.png Add .config/DankMaterialShell/plugins/emojiLauncher/scripts/generate_catalog.py Add .config/DankMaterialShell/plugins/dankActions Add .config/DankMaterialShell/plugins/webSearch/LICENSE Add .config/DankMaterialShell/plugins/webSearch/README.md Add .config/DankMaterialShell/plugins/webSearch/WebSearch.qml Add .config/DankMaterialShell/plugins/webSearch/WebSearchSettings.qml Add .config/DankMaterialShell/plugins/webSearch/.git/HEAD Add .config/DankMaterialShell/plugins/webSearch/.git/config Add .config/DankMaterialShell/plugins/webSearch/.git/index Add .config/DankMaterialShell/plugins/webSearch/.git/objects/info/.keep Add .config/DankMaterialShell/plugins/webSearch/.git/objects/pack/pack-6a60c736f418e5b4b1f0505f66c1e2a371d46fed.idx Add .config/DankMaterialShell/plugins/webSearch/.git/objects/pack/pack-6a60c736f418e5b4b1f0505f66c1e2a371d46fed.rev Add .config/DankMaterialShell/plugins/webSearch/.git/objects/pack/pack-6a60c736f418e5b4b1f0505f66c1e2a371d46fed.pack Add .config/DankMaterialShell/plugins/webSearch/.git/refs/heads/main Add .config/DankMaterialShell/plugins/webSearch/.git/refs/remotes/origin/main Add .config/DankMaterialShell/plugins/webSearch/.git/refs/tags/.keep Add .config/DankMaterialShell/plugins/webSearch/plugin.json Add .config/DankMaterialShell/plugins/webSearch/screenshot.png Add .config/DankMaterialShell/settings.json
180 lines
5 KiB
Markdown
180 lines
5 KiB
Markdown
# Command Runner
|
|
|
|
A DankMaterialShell launcher plugin for executing shell commands directly from the launcher with history tracking and preset shortcuts.
|
|
|
|

|
|
|
|
## Features
|
|
|
|
- **Execute Commands** - Run any shell command in terminal or background
|
|
- **Command History** - Track and reuse recently executed commands
|
|
- **Common Shortcuts** - Quick access to frequently used commands (htop, btop, ncdu, etc.)
|
|
- **Terminal Support** - Auto-detect or configure your preferred terminal emulator
|
|
- **Background Execution** - Run commands silently without opening a terminal
|
|
- **Clipboard Copy** - Copy commands to clipboard before executing
|
|
- **Configurable Trigger** - Default `>` or set your own trigger
|
|
|
|
## Installation
|
|
|
|
### From Plugin Registry (Recommended)
|
|
```bash
|
|
# Coming soon - will be available via DMS plugin manager
|
|
```
|
|
|
|
### Manual Installation
|
|
```bash
|
|
# Copy plugin to DMS plugins directory
|
|
cp -r CommandRunner ~/.config/DankMaterialShell/plugins/
|
|
|
|
# Enable in DMS
|
|
# 1. Open Settings (Ctrl+,)
|
|
# 2. Go to Plugins tab
|
|
# 3. Click "Scan for Plugins"
|
|
# 4. Toggle "Command Runner" to enable
|
|
# 5. Configure your terminal emulator in plugin settings
|
|
```
|
|
|
|
## Configuration
|
|
|
|
**Important**: Configure your terminal before first use!
|
|
|
|
1. Open Settings → Plugins → Command Runner
|
|
2. Set **Terminal**: Your terminal emulator (e.g., `kitty`, `alacritty`, `foot`)
|
|
3. Set **Exec flag**: The flag for executing commands (e.g., `-e` for most terminals)
|
|
|
|
### Common Terminal Configurations
|
|
|
|
| Terminal | Command | Exec Flag |
|
|
|----------|---------|-----------|
|
|
| kitty | `kitty` | `-e` |
|
|
| alacritty | `alacritty` | `-e` |
|
|
| foot | `foot` | `-e` |
|
|
| wezterm | `wezterm` | `start` |
|
|
| gnome-terminal | `gnome-terminal` | `--` |
|
|
| konsole | `konsole` | `-e` |
|
|
| xterm | `xterm` | `-e` |
|
|
|
|
## Usage
|
|
|
|
### Execute Commands in Terminal
|
|
1. Open launcher (Ctrl+Space)
|
|
2. Type `>` followed by command
|
|
3. Examples:
|
|
- `> htop` - System monitor
|
|
- `> btop` - Modern resource monitor
|
|
- `> ls -la` - List files with details
|
|
- `> journalctl -f` - View live system logs
|
|
4. Select "Run: command" and press Enter
|
|
|
|
### Execute Commands in Background
|
|
1. Type command as above
|
|
2. Select "Run in background: command"
|
|
3. Command executes silently without terminal window
|
|
|
|
### Copy Command to Clipboard
|
|
1. Type command
|
|
2. Select "Copy: command"
|
|
3. Command copied to clipboard for use elsewhere
|
|
|
|
### Use Command History
|
|
- Recent commands appear automatically in the list
|
|
- Click any historical command to re-execute
|
|
- History persists across sessions
|
|
|
|
### Common Command Shortcuts
|
|
Access pre-configured shortcuts without typing:
|
|
- `htop` - Interactive process viewer
|
|
- `btop` - Resource monitor
|
|
- `ncdu` - Disk usage analyzer
|
|
- `nmtui` - Network manager TUI
|
|
- `ranger` - File manager
|
|
- `neofetch` / `fastfetch` - System info
|
|
- And more!
|
|
|
|
## Settings
|
|
|
|
- **Trigger**: Set custom trigger (`>`, `$`, `!`, `/run`, etc.) or disable for always-on
|
|
- **Terminal Emulator**: Configure which terminal to use
|
|
- **Exec Flag**: Set the command execution flag for your terminal
|
|
- **Max History Items**: Configure history size (1-100 items)
|
|
- **Clear History**: Remove all stored commands
|
|
|
|
## Examples
|
|
|
|
### System Monitoring
|
|
```
|
|
> htop # Interactive process viewer
|
|
> btop # Modern resource monitor
|
|
> journalctl -f # Live system logs
|
|
> df -h # Disk usage
|
|
> free -h # Memory usage
|
|
```
|
|
|
|
### File Operations
|
|
```
|
|
> ls -la # List all files
|
|
> ncdu ~ # Analyze disk usage
|
|
> ranger # File manager
|
|
```
|
|
|
|
### Network
|
|
```
|
|
> nmtui # Network manager
|
|
> ip addr # Network interfaces
|
|
> ping 8.8.8.8 # Test connectivity
|
|
```
|
|
|
|
### Development
|
|
```
|
|
> vim config.txt # Edit file in vim
|
|
> git status # Check git status
|
|
> npm install # Install packages
|
|
```
|
|
|
|
## Requirements
|
|
|
|
- DankMaterialShell >= 0.1.0
|
|
- Terminal emulator (kitty, alacritty, foot, etc.)
|
|
- `wl-copy` (for clipboard support)
|
|
- Wayland compositor
|
|
|
|
## Compatibility
|
|
|
|
- **Compositors**: Niri and Hyprland
|
|
- **Distros**: Universal - works on any Linux distribution
|
|
- **Terminals**: Supports all major terminal emulators
|
|
|
|
## Technical Details
|
|
|
|
- **Type**: Launcher plugin
|
|
- **Trigger**: `>` (configurable)
|
|
- **Language**: QML (Qt Modeling Language)
|
|
- **Storage**: Command history stored in DMS settings
|
|
|
|
## Troubleshooting
|
|
|
|
### Commands not launching?
|
|
1. Verify terminal is configured in plugin settings
|
|
2. Check terminal is installed: `which kitty` (or your terminal)
|
|
3. Verify exec flag matches your terminal
|
|
|
|
### Terminal opens but command doesn't run?
|
|
- Ensure exec flag is correct for your terminal
|
|
- Most terminals use `-e`, but some (wezterm) use `start`
|
|
|
|
## Contributing
|
|
|
|
Found a bug or want to add features? Open an issue or submit a pull request!
|
|
|
|
## License
|
|
|
|
MIT License - See LICENSE file for details
|
|
|
|
## Author
|
|
|
|
Created for the DankMaterialShell community
|
|
|
|
## Links
|
|
|
|
- [DankMaterialShell](https://github.com/AvengeMedia/DankMaterialShell)
|
|
- [Plugin Registry](https://github.com/AvengeMedia/dms-plugin-registry)
|