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

Options

  --config-file           Path to the configuration file                                                           
  --workflow-dir          The workflow directory                                                                   
  --archive-dir           The archive directory                                                                    
  --projects-dir          The projects directory                                                                   
  --archived-projects-dir The archived projects directory                                                          
  --database              Path to database file                                                                    
  --notify-send           Path to notify-send executable                                                           
  --log-level             Minimal severity of log messages default: Info examples: "Debug", "Info", "Warn", "Error"

Environment variables

  SMOS_CONFIG_FILE FILE_PATH                  Path to the configuration file                                                               
  SMOS_WORKFLOW_DIR DIRECTORY_PATH            The workflow directory                                                                       
  SMOS_ARCHIVE_DIR DIRECTORY_PATH             The archive directory                                                                        
  SMOS_PROJECTS_DIR DIRECTORY_PATH            The projects directory                                                                       
  SMOS_ARCHIVED_PROJECTS_DIR DIRECTORY_PATH   The archived projects directory                                                              
  SMOS_NOTIFY_DATABASE FILE_PATH              Path to database file                                                                        
  SMOS_NOTIFY_NOTIFY_SEND FILE_PATH           Path to notify-send executable                                                               
  SMOS_NOTIFY_LOG_LEVEL LOG_LEVEL             Minimal severity of log messages   default: Info   examples: "Debug", "Info", "Warn", "Error"

Configuration values

  The workflow directory
  workflow-dir:
    # or null
    <string>
  The archive directory
  archive-dir:
    # or null
    <string>
  The projects directory
  projects-dir:
    # or null
    <string>
  The archived projects directory
  archived-projects-dir:
    # or null
    <string>
  Path to database file
  notify.database:
    # or null
    <string>
  Path to notify-send executable
  notify.notify-send:
    # or null
    <string>
  Minimal severity of log messages
  default: Info
  examples: "Debug", "Info", "Warn", "Error"
  notify.log-level:
    # or null
    def: LogLevel
    # The log level to use, options:
    # ["Debug","Info","Warn","Error"]
    <string>

Combined settings

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

All settings:
  Show this help text
  switch: -h|--help

  Output version information
  switch: --version

  Path to the configuration file
  option: --config-file FILE_PATH
  env: SMOS_CONFIG_FILE FILE_PATH

  The workflow directory
  option: --workflow-dir DIRECTORY_PATH
  env: SMOS_WORKFLOW_DIR DIRECTORY_PATH
  config:
    workflow-dir: # or null
      <string>

  The archive directory
  option: --archive-dir DIRECTORY_PATH
  env: SMOS_ARCHIVE_DIR DIRECTORY_PATH
  config:
    archive-dir: # or null
      <string>

  The projects directory
  option: --projects-dir DIRECTORY_PATH
  env: SMOS_PROJECTS_DIR DIRECTORY_PATH
  config:
    projects-dir: # or null
      <string>

  The archived projects directory
  option: --archived-projects-dir DIRECTORY_PATH
  env: SMOS_ARCHIVED_PROJECTS_DIR DIRECTORY_PATH
  config:
    archived-projects-dir: # or null
      <string>

  Path to database file
  option: --database FILE_PATH
  env: SMOS_NOTIFY_DATABASE FILE_PATH
  config:
    notify.database: # or null
      <string>

  Path to notify-send executable
  option: --notify-send FILE_PATH
  env: SMOS_NOTIFY_NOTIFY_SEND FILE_PATH
  config:
    notify.notify-send: # or null
      <string>

  Minimal severity of log messages
  option: --log-level LOG_LEVEL
  env: SMOS_NOTIFY_LOG_LEVEL LOG_LEVEL
  config:
    notify.log-level: # or null
      def: LogLevel
      # The log level to use, options:
      # ["Debug","Info","Warn","Error"]
      <string>
  default: Info
  examples: "Debug", "Info", "Warn", "Error"

Options:
  -h|--help               Show this help text                                                                      
  --version               Output version information                                                               
  --config-file           Path to the configuration file                                                           
  --workflow-dir          The workflow directory                                                                   
  --archive-dir           The archive directory                                                                    
  --projects-dir          The projects directory                                                                   
  --archived-projects-dir The archived projects directory                                                          
  --database              Path to database file                                                                    
  --notify-send           Path to notify-send executable                                                           
  --log-level             Minimal severity of log messages default: Info examples: "Debug", "Info", "Warn", "Error"

Environment Variables:
  SMOS_CONFIG_FILE FILE_PATH                  Path to the configuration file                                                               
  SMOS_WORKFLOW_DIR DIRECTORY_PATH            The workflow directory                                                                       
  SMOS_ARCHIVE_DIR DIRECTORY_PATH             The archive directory                                                                        
  SMOS_PROJECTS_DIR DIRECTORY_PATH            The projects directory                                                                       
  SMOS_ARCHIVED_PROJECTS_DIR DIRECTORY_PATH   The archived projects directory                                                              
  SMOS_NOTIFY_DATABASE FILE_PATH              Path to database file                                                                        
  SMOS_NOTIFY_NOTIFY_SEND FILE_PATH           Path to notify-send executable                                                               
  SMOS_NOTIFY_LOG_LEVEL LOG_LEVEL             Minimal severity of log messages   default: Info   examples: "Debug", "Info", "Warn", "Error"

Configuration Values:
  The workflow directory
  workflow-dir:
    # or null
    <string>
  The archive directory
  archive-dir:
    # or null
    <string>
  The projects directory
  projects-dir:
    # or null
    <string>
  The archived projects directory
  archived-projects-dir:
    # or null
    <string>
  Path to database file
  notify.database:
    # or null
    <string>
  Path to notify-send executable
  notify.notify-send:
    # or null
    <string>
  Minimal severity of log messages
  default: Info
  examples: "Debug", "Info", "Warn", "Error"
  notify.log-level:
    # or null
    def: LogLevel
    # The log level to use, options:
    # ["Debug","Info","Warn","Error"]
    <string>