Smos Logo Smos

A comprehensive self-management system

The Notification Tool

Documentation for the Smos Notification Tool, for sending desktop notifications about entries

This tool exists to send desktop notifications about events.

The tool should be run every minute to notify you in time. It will still work as-expected if it is run late, but you might miss notifications if an event has already started by the time the tool is run, for example.


The smos-notify tool will use the notify-send tool from libnotify to send notifications. This means that you need to have set up a notification server. (If you don't know what that is, chances are that it's already set up for you.) See the relevant page on the arch wiki for more information.

The smos-notify tool will also use play from sox to play a sound when there are any notifications. If play is not available, it will still send notifications but not play any sound.



Usage: smos-notify [--config-file FILE_PATH] [--workflow-dir DIRECTORY_PATH] 
                   [--archive-dir DIRECTORY_PATH] 
                   [--projects-dir DIRECTORY_PATH] 
                   [--archived-projects-dir DIRECTORY_PATHPATH] 
                   [--database FILEPATH] [--notify-send FILEPATH] 
                   [--log-level ARG]

  Smos Notification Tool version: 0.3.1
  Oldest parseable Smos data format version: 0.0.0
  Newest parseable Smos data format version: 2.0.0

Available options:
  -h,--help                Show this help text
  --config-file FILE_PATH  The config file to use
  --workflow-dir DIRECTORY_PATH
                           The workflow directory to use
  --archive-dir DIRECTORY_PATH
                           The archive directory to use
  --projects-dir DIRECTORY_PATH
                           The projects directory to use
  --archived-projects-dir DIRECTORY_PATHPATH
                           The archived projects directory to use
  --database FILEPATH      The path to store the notification database at
  --notify-send FILEPATH   The path to the notify-send executable
  --log-level ARG          The log level to use, options:


Available environment variables:

                         Archived projects directory
                         Archive directory
                         Workflow directory
  SMOS_LOG_LEVEL         log level
                         The path to the notify-send
                         Projects directory
                         The path to store the notification
                         database at
                         Workflow directory


# Configuration
workflow-dir: # optional
  # The workflow directory
  # or null
archive-dir: # optional
  # The archive directory
  # or null
projects-dir: # optional
  # The projects directory
  # or null
archived-projects-dir: # optional
  # The archived projects directory
  # or null
notify: # optional
  # Notification Configuration
  # or null
  # NotifyConfiguration
  database: # optional
    # Database to store sent notifications in
    # or null
  notify-send: # optional
    # Path to notify-send executable
  log-level: # optional
    # Log level
    # or null
    def: LogLevel
    # The log level to use, options:
    # ["Debug","Info","Warn","Error"]