What is Network Trigger?
Network Trigger (NT) is an application that is designed to listen for specific events that occur on the network and perform an action when detected, such as running an application or shutting down the computer.
While there are various ways that NT accomplishes this, the typical way is by listening for wake on LAN ("magic" wake packets) that have been broadcast on the network. This allows NT to control the device it's running on without having to install a special application on a phone or another computer; simply install a wake on LAN app* or make use of the operating system's wake tool, if it has one. You can then configure NT to listen for that packet and perform an action like, say, run an application.
The specific reason I wrote this software is because I use Kodi (formerly XBMC) with the YouTube plugin, which likes to hang or crash a lot. I can then use my phone with the Yatse app to send a wake to the PC, which then NT responds to and launches the Kodi application again. If it's already running but hanged, NT will terminate it first.
* Should you require a fully-featured and GUI-based wake tool, Wake On LAN Ex is such a Windows-based application by the same developer as NT.
Network Trigger has the following features, among others.
Once NT has detected an event you're interested in, you can then perform a series of actions. Additional actions are planned, with the currently implemented actions being as followed.
Runs an application or file, optionally restarting it if it is already running. Can also terminate an already running-application without starting it again.
Sets the window state of another application, such as its position and size or whether it is maximised or minimised.
Logs-off the current user, or; restarts, shuts down, sleeps, or hiberates the system.
Wakes up another device on the network.
Performs an action related to the application itself.
The monitor is used for detecting wake events that have occurred on the network, as well as detecting pings that have been sent to the application. This allows you to know whether your system is detecting broadcasts, as well as whether they're actually being broadcast at all.