A cross-plateform desktop application to easily organize, manage, and launch your scripts, commands, and recorded macros with a simple graphical interface. Only Linux release currently available : releases page
- Multiple Preset Types:
- Standard: Run any shell script or command.
- On/Off: Toggle between two different scripts (e.g., start/stop a service).
- Recorded: Record and replay sequences of mouse and keyboard actions.
- Customizable Presets: Assign titles and icons to your presets.
- Import/Export: Share your presets easily using
.slaunchfiles. - Recording: Built-in recorder for mouse and keyboard events (uses
pynput).- *Stop recording by cliking back on the App.
- Replay Control: Play recorded macros once or multiple times (can be stopped).
- Theme Support: Switch between Light and Dark themes.
- Standalone Packaging: Bundled into a single executable and
.debpackage for easy installation.
- Standard:
- Executes the content of the 'Script' field as a shell command or script.
- Ideal for launching applications, running maintenance tasks, etc.
- On/Off:
- Has two script fields: 'Script On' and 'Script Off'.
- Clicking the action button toggles the state and runs the corresponding script.
- Useful for starting/stopping services, toggling settings, etc.
- The current state (On/Off) is saved with the preset.
- Recorded:
- Stores a sequence of recorded mouse and keyboard events directly within the
.slaunchfile (in JSON format). - Clicking the action button ('▶') replays the recorded sequence.
- You can specify how many times the sequence should repeat ('-1' for infinite).
- While replaying, the button changes to '■'; clicking it stops the replay.
- Note: Recording captures events system-wide. Be mindful of what you record.
- Stores a sequence of recorded mouse and keyboard events directly within the
- Download the latest
.debfile (e.g.,scriptlauncher_X.Y_amd64.deb) from the releases page.
sudo apt remove scriptlauncher
sudo apt autoremove- Clone the repository:
git clone https://github.com/shanedonnelly/ScriptLauncher.git cd ScriptLauncher/qt_app - Create and activate a virtual environment (Recommended):
python3 -m venv myenv source myenv/bin/activate - Install dependencies:
pip install -r requirements.txt # You might also need system packages for PyQt6 and pynput's backend # On Debian/Ubuntu: sudo apt install python3-tk python3-dev libx11-dev libxtst-dev libpng-dev libxkbcommon-x11-0
- Run the application:
python main.py
- Launch ScriptLauncher from your application menu.
- Add Preset: Click the large '➕' button.
- Configure Preset:
- Give it a Title.
- Select an Icon (optional).
- Choose the Preset Type (Standard, On/Off, Recorded).
- Fill in the relevant fields (Script, Script On/Off, Record options).
- For Recorded type: Click "Record", perform actions, stop by holding Left Click + Left Shift for 2s.
- Click Save.
- Run Preset:
- Standard: Click anywhere on the preset widget (except the small buttons).
- On/Off: Click the '▶'/'⏸' action button.
- Recorded: Click the '▶' action button to play, '■' to stop.
- Edit/Delete: Use the '✎' (Edit) and '🗑' (Delete) buttons on the preset widget.
- Import/Export: Use the File menu options.
- Theme: Use the Theme menu to switch between Light and Dark modes.
The build.sh script automates the process of creating a standalone executable using PyInstaller and packaging it into a .deb file.
Prerequisites:
- Python 3, Pip, Venv
pyinstaller(installed viapip)- Debian packaging tools:
dpkg-dev,fakeroot(sudo apt install dpkg-dev fakeroot)
Build:
cd qt_app
./build.sh- Theme Persistence: Save the selected theme (Light/Dark) so it persists.
- Improved Replay Interruption: Allow stopping a recorded macro replay by just doing an action.
- Dynamic Grid Layout: Make the preset grid automatically adjust the number of columns based on the window size.
- Grid Preferences: Add settings to allow users to customize the grid layout.
- Expanded Icon Library: Include a much larger selection of built-in icons for presets.
- others : choose to close or not the terminal after script, ...