Skip to content

almostearthling/when-command

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,091 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

When

HeaderImage

This repository hosts the development of When, a Python based graphical frontend for whenever: although sometimes referred to as a scheduler, whenever is actually an automation tool, capable of executing tasks when specific conditions are met.

MainWindow

When aims at providing a simple interface to configure whenever, and an easy way to monitor and control the scheduler through an icon sitting in the tray area of your desktop. This utility works on both Linux and Windows, and gives access to the features of whenever that are supported on the host environment.

✨ Purpose

The When application can be used to install, configure, and run whenever in a desktop environment:

  • the installation procedure takes care of downloading the latest available version of whenever, installing it to a suitable location, creating the program icons in the host environment, and setting it up to start automatically when the user session begins;
  • the configuration utility is a GUI application that allows to define
    • the tasks that the automation tool should activate
    • the conditions that should be verified to activate the tasks
    • the events that, in some cases, will trigger conditions
    • the global scheduler parameters;
  • the resident application takes care of starting whenever in a separate process with the current configuration, and provides a basic interface to interact with it through a menu that can be reached from the icon sitting in the desktop tray area.

When offers a selection of common configuration items (conditions, events, and tasks) which would be difficult to define manually in the scheduler configuration file. Such items include (but are not limited to):

  • session related tasks such as shutdown and sleep;
  • conditions based on
    • time intervals or instants, and
    • duration of an idle session
    • system load or battery status
    • session being locked or unlocked;
  • events triggered by the system or by changes in files and directories.

The documentation is more exhaustive than the above list, and describes in detail all the currently supported items.

📖 Documentation

The documentation almost covers all aspects of When, and a simple tutorial is available to see some quick examples of common use cases.

💾 Installation

When has requirements that vary according to the platform that should host it, and that on Linux may also depend on the distribution: the standard installation procedure attempts at describing these requirements, and providing a streamlined way to install, configure, and launch both When and whenever.

Note

Neither When nor whenever require administrative rights for the suggested setup: the instructions lead to an installation that is limited to the user that performs it. Following these instructions, both the scheduler and the application will be executed in the user environment, inheriting the user specific permissions: considering that they run as a background application, this type of setup can be considered safer than a system wide one.

🛠️ Compatibility

When is usually tested on Windows (10 and 11) and some Debian based Linux distributions: Debian, Ubuntu, and Mint. Some packages are required to run on these Linux distros, that are not installed by default. The same yields for distributions that derive from other bases: probably it will not be difficult to find equivalent packages to those specified for a successful installation in the tested environments. The installation procedure, for instance, lists the packages needed to install When on Fedora.

In some cases (that is, in Wayland based environments that do not fully support the X.org protocol) the X.org backend may have to be used in order to successfully run When.

🐞 Bug Reporting

If there is a bug in the When application, please use the project issue tracker to report it.

⚖️ License

When is released under the terms of the BSD 3-Clause "New" or "Revised" License.

About

When is an automation tool that aims at being flexible and cross platform

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors