# This plugin provides a wrapper around the "wakeonlan" tool available from most # distributions' package repositories, or from the following website: # # http://gsd.di.uminho.pt/jpo/software/wakeonlan/ # # In order to use this wrapper, create the ~/.wakeonlan directory, and place in # that directory one file for each device you would like to be able to wake. Give # the file a name that describes the device, such as its hostname. Each file # should contain a line with the mac address of the target device and the network # broadcast address. # # For instance, there might be a file ~/.wakeonlan/leto with the following # contents: # # 00:11:22:33:44:55:66 192.168.0.255 # # To wake that device, use the following command: # # # wake leto # # The available device names will be autocompleted, so: # # # wake # # ...will suggest "leto", along with any other configuration files that were # placed in the ~/.wakeonlan directory. # # For more information regarding the configuration file format, check the # wakeonlan man page. function wake() { local config_file="$XDG_CONFIG_HOME/wakeonlan/$1" if [[ ! -f "$config_file" ]]; then echo "ERROR: There is no configuration file at \"$config_file\"." return 1 fi if (( ! $+commands[wol] )); then echo "ERROR: Can't find \"wol\". Are you sure it's installed?" return 1 fi wol -f "$config_file" }