Skip to content

Tool to run and restart commands, so they can be continuously executed. The application can be run from the console or using a tray icon.

License

Notifications You must be signed in to change notification settings

okelet/tray-runner

Repository files navigation

Tray Runner

Tray Runner is a simple application that runs in the system tray and executes periodically the commands configured. This is util when you want to run command line scripts without having a terminal open ow worry to remember to execute them.

The application has been tested on Linux (Ubuntu) and Windows 10, but should run on any modern operating system, as the UI relies on QT.

Main configuration window

Command configuration

Check more screenshots here.

Installation

Python 3.10 or greater is required.

It is recommended to use pipx so you can install Tray Runner and its dependencies without affecting other applications installed with pip:

pipx install tray-runner

Check and upgrade with:

pipx upgrade tray-runner

In a near future, single file binaries will be provided.

Once installed, you can run the application running the command:

tray-runner-gui

Check the options running tray-runner-gui --help. The first time the program is executed, a shortcut in the applications menu and in the auto start directory will be created. Also, you will be asked to configure the application:

First run

Fedora/RHEL based

sudo dnf install -y gnome-shell-extension-appindicator
gnome-extensions enable appindicatorsupport@rgcjonas.gmail.com

Note: the indicator icon will be shown, but the notifications will remain in the notifications list.

Running

From the CLI:

tray-runner-cli --help

From the GUI:

tray-runner-gui --help

TODO

  • Translations (raw Python and QT)
  • One-file executables (and portables) for Linux and Windows
  • Log viewer

Development

Translations

Update the template:

poetry run pybabel extract -o tray_runner/locale/messages.pot

Generate a new language:

poetry run pybabel init -l de_DE -i tray_runner/locale/messages.pot -d tray_runner/locale

Update the languages with the new translations found:

poetry run pybabel update -i tray_runner/locale/messages.pot -d tray_runner/locale

Compile the translations:

poetry run pybabel compile -d tray_runner/locale

Code quality

Running directly the commands:

poetry run pylint tray_runner
poetry run black tray_runner
poetry run mypy tray_runner
poetry run isort tray_runner

Using pre-commit:

git add --intent-to-add .
poetry run pre-commit run --all-files

Credits

More screenshots

List of commands:

List of commands

General configuration:

General configuration

Commands common configuration:

Commands common configuration

Command configuration:

Command configuration

Command overrides:

Command overrides

Command environment variables:

Command environment variables

Command statistics:

Command statistics

About

Tool to run and restart commands, so they can be continuously executed. The application can be run from the console or using a tray icon.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Languages