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.

Dependencies

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.

Reference

Arguments

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:
                           ["Debug","Info","Warn","Error"]

Environment

Available environment variables:

  SMOS_ARCHIVED_PROJECTS_DIR
                         Archived projects directory
  SMOS_ARCHIVE_DIR
                         Archive directory
  SMOS_CONFIG_FILE
                         Workflow directory
  SMOS_LOG_LEVEL         log level
  SMOS_NOTIFY_SEND
                         The path to the notify-send
                         executable
  SMOS_PROJECTS_DIR
                         Projects directory
  SMOS_SESSION_PATH
                         The path to store the notification
                         database at
  SMOS_WORKFLOW_DIR
                         Workflow directory

Configuration

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