Initial commit. In a broken state, do not use.

This commit is contained in:
Storm Dragon
2019-12-11 14:39:33 -05:00
parent 5dea87f44a
commit 1237ab3fd9
1039 changed files with 187732 additions and 0 deletions

View File

@ -0,0 +1,193 @@
[sound]
enabled=True
driver=genericDriver
theme=default
volume=1.0
# shell commands for generic sound driver
genericPlayFileCommand=play -q -v fenrirVolume fenrirSoundFile
genericFrequencyCommand=play -q -v fenrirVolume -n -c1 synth fenrirDuration sine fenrirFrequence
[speech]
enabled=True
driver=speechdDriver
#driver=genericDriver
serverPath=
rate=0.50
pitch=0.5
# Pitch for capital letters
capitalPitch=0.9
#module=espeak
#voice=bdl
#language=en
volume=1.0
autoReadIncoming=True
# genericSpeechCommand is the command that is executed for talking
# the following variables are replaced with values
# fenrirText = is the text that should be spoken
# fenrirModule = may be the speech module like used in speech-dispatcher, not every TTY need this
# fenrirLanguage = the language
# fenrirVoice = is the current voice that should be used
# the current volume, pitch and rate is calculated like this
# value = min + settingValue * (min - max )
# fenrirVolume = is replaced with the current volume
# fenrirPitch = is replaced with the current pitch
# fenrirRate = is replaced with the current speed (speech rate)
genericSpeechCommand=espeak -a fenrirVolume -s fenrirRate -p fenrirPitch -v fenrirVoice -- "fenrirText"
# these are the min and max values of the TTS system that is used in genericSpeechCommand
fenrirMinVolume=0
fenrirMaxVolume=200
fenrirMinPitch=0
fenrirMaxPitch=99
fenrirMinRate=80
fenrirMaxRate=890
[braille]
enabled=False
driver=dummyDriver
layout=en
# to what should the flush timeout relate to
# word = flush after (number of words to display) * seconds
# char = flush after (number of chars to display) * seconds
# fix = flush after X seconds
# none = no automatic flush (manual via shortcut)
flushMode=word
# seconds to flush or
# -1 = no automatic flush (manual via shortcut)
flushTimeout=3
# how should the cursor be focused?
# page = if cursor cross the border move to next page and start at beginn
# fixCell = ajust the cursor on an special cell where it is always placed. the display scroll here more smooth.
cursorFocusMode=page
# define the cell on the Braille device where fenrir should scroll and keep the cursor
# 0 = first cell on device
# -1 = last cell on device
# >0 = fix cell number
fixCursorOnCell=-1
#How should the braille follow the focus
# none = no automatic toggle command used
# review = priority to review
# last = follow last used cursor
cursorFollowMode=review
# number of cells in panning (horizontal)
# 0 = display size, >0 number of cells
panSizeHorizontal=0
[screen]
driver=vcsaDriver
encoding=auto
screenUpdateDelay=0.05
suspendingScreen=
autodetectSuspendingScreen=True
[keyboard]
driver=evdevDriver
# filter input devices NOMICE, ALL or a DEVICE NAME
device=ALL
grabDevices=True
ignoreShortcuts=False
keyboardLayout=nvda-desktop
charEcho=False
charDeleteEcho=True
wordEcho=True
interruptOnKeyPress=True
# you can filter the keys on that the speech should interrupt (empty = all keys, otherwhise the given keys)
interruptOnKeyPressFilter=
# timeout for double tap in sec
doubleTapTimeout=0.2
[general]
debugLevel=1
# debugMode sets where the debug output should send to:
# debugMode=File writes to debugFile (Default: /var/log/fenrirscreenreader/fenrir.log)
# debugMode=Print just prints on the screen
debugMode=File
debugFile=/var/log/fenrirscreenreader/fenrir.log
punctuationProfile=default
punctuationLevel=some
respectPunctuationPause=True
newLinePause=True
numberOfClipboards=10
# used path for "export_clipboard_to_file"
# $user is replaced by username
clipboardExportPath=/tmp/fenrirClipboard
emoticons=True
fenrirKeys=KEY_KP0,KEY_CAPSLOCK
scriptKeys=KEY_META,KEY_COMPOSE
timeFormat=%H:%M:%P
dateFormat="%A, %B %d, %Y"
autoSpellCheck=True
spellCheckLanguage=en_US
scriptPath=/usr/share/fenrirscreenreader/scripts
# overload commands, and create new one without changing Fenrir default
commandPath=
#fenrirBGColor = the backgroundcolor
#fenrirFGColor = the foregroundcolor
#fenrirUnderline = speak the underline attribute
#fenrirBold = speak the bold attribute
#fenrirBlink = speak the blink attribute
#fenrirFont = the font
#fenrirFontSize = the fontsize
attributeFormatString=Background fenrirBGColor,Foreground fenrirFGColor,fenrirUnderline,fenrirBold,fenrirBlink, Font fenrirFont,Fontsize fenrirFontSize
autoPresentIndent=False
# play a sound when attributes are changeing
hasAttributes=False
# shell for PTY emulatiun (empty = default shell)
shell=
[focus]
#follow the text cursor
cursor=True
#follow highlighted text changes
highlight=False
[remote]
enable=True
# connection type
# unix = unix sockets
# tcp = tcp (localhost only)
method=unix
# tcp port
port=22447
# socket filepath
socketpath=/tmp/
# allow settings to overwrite
enableSettingsRemote=True
# allow commands to be executed
enableCommandRemote=True
[barrier]
enabled=True
leftBarriers=│└┌─
rightBarriers=│┘┐─
[review]
lineBreak=True
endOfScreen=True
# leave the review when pressing a key
leaveReviewOnCursorChange=True
# leave the review when changing the screen
leaveReviewOnScreenChange=True
[promote]
enabled=True
inactiveTimeoutSec=120
list=
[time]
# automatic time anouncement
enabled=False
# present time
presentTime=True
# present date (on change)
presentDate=True
# present time after x seconds
delaySec=0
# present time after to given minutes example every 15 minutes: 00,15,30,45
# if delaySec is >0 onMinutes is ignored
onMinutes=00,30
# announce via soundicon
announce=True
# interrupt current speech for time announcement
interrupt=False

View File

@ -0,0 +1,290 @@
# Global configuration for Speech Dispatcher
# ==========================================
# -----SYSTEM OPTIONS-----
# CommunicationMethod specifies the method to be used by Speech Dispatcher to communicate with
# its clients. Two basic methods are "unix_socket" and "inet_socket".
#
# unix_socket -- communication over Unix sockets represented by a file in the
# filesystem (see SocketPath below). This method works only locally, but is
# prefered for standard session setup, where every user runs his own instance of Speech
# Dispatcher to get voice feedback on his own computer.
#
# inet_socket -- alternatively, you can start Speech Dispatcher on
# a TCP port and connect to it via hostname/port. This allows for a more
# flexible setup, where you can use Speech Dispatcher over network
# from different machines. See also the Port and LocalhostAccessOnly
# configuration variables.
#
# CommunicationMethod "unix_socket"
# SocketPath is either "default" or a full path to the filesystem
# where the driving Unix socket file should be created in case the
# CommunicationMethod is set to "unix_socket". The default is
# $XDG_RUNTIME_DIR/speech-dispatcher/speechd.sock where $XDG_RUNTIME_DIR
# is the directory specified by the XDG Base Directory Specification.
# Do not change this unless you have a reason and know what you are doing.
# SocketPath "default"
# The Port on which Speech Dispatcher should be available to clients if the "inet_socket"
# communication method is used.
# Port 6560
# By default, if "inet_socket" communication method is used, the specified port is opened only
# for connections coming from localhost. If LocalhostAccessOnly is set to 0 it disables this
# access control. It means that the port will be accessible from all computers on the
# network. If you turn off this option, please make sure you set up some system rules on what
# computers are and are not allowed to access the Speech Dispatcher port.
# LocalhostAccessOnly 1
# By default, Speech Dispatcher is configured to shut itself down after a period of
# time if no clients are connected. The timeout value is in seconds, and is started when
# the last client disconnects. A value of 0 disables the timeout.
# Timeout 5
# -----LOGGING CONFIGURATION-----
# The LogLevel is a number between 0 and 5 specifying the
# verbosity of information to the logfile or screen
# 0 means nothing, 5 means everything (not recommended).
LogLevel 3
# The LogDir specifies where the Speech Dispatcher logs reside
# Specify "stdout" for standard console output
# or a custom log directory path. 'default' means
# the logs are written to the default destination (e.g. a preconfigured
# system directory or the home directory if .speech-dispatcher is present)
# DO NOT COMMENT OUT THIS OPTION, leave as "default" for standard logging
LogDir "default"
#LogDir "/var/log/speech-dispatcher/"
#LogDir "stdout"
# The CustomLogFile allows logging all messages # regardless of
# priority, to the given destination.
#CustomLogFile "protocol" "/var/log/speech-dispatcher/speech-dispatcher-protocol.log"
# ----- VOICE PARAMETERS -----
# The DefaultRate controls how fast the synthesizer is going to speak.
# The value must be between -100 (slowest) and +100 (fastest), default
# is 0.
DefaultRate 0
# The DefaultPitch controls the pitch of the synthesized voice. The
# value must be between -100 (lowest) and +100 (highest), default is
# 0.
DefaultPitch 0
# The DefaultPitchRange controls the pitch range of the synthesized voice. The
# value must be between -100 (lowest) and +100 (highest), default is
# 0.
DefaultPitchRange 0
# The DefaultVolume controls the default volume of the voice. It is
# a value between -100 (softly) and +100 (loudly). Currently, +100
# maps to the default volume of the synthesizer.
DefaultVolume 100
# The DefaultVoiceType controls which voice type should be used by
# default. Voice types are symbolic names which map to particular
# voices provided by the synthesizer according to the output module
# configuration. Please see the synthesizer-specific configuration
# in etc/speech-dispatcher/modules/ to see which voices are assigned to
# different symbolic names. The following symbolic names are
# currently supported: MALE1, MALE2, MALE3, FEMALE1, FEMALE2, FEMALE3,
# CHILD_MALE, CHILD_FEMALE
# DefaultVoiceType "MALE1"
# The Default language with which to speak
DefaultLanguage en
# ----- MESSAGE DISPATCHING CONTROL -----
# The DefaultClientName specifies the name of a client who didn't
# introduce himself at the beginning of an SSIP session.
# DefaultClientName "unknown:unknown:unknown"
# The Default Priority. Use with caution, normally this shouldn't be
# changed globally (at this place)
# DefaultPriority "text"
# The DefaultPauseContext specifies by how many index marks a speech
# cursor should return when resuming after a pause. This is roughly
# equivalent to the number of sentences before the place of the
# execution of pause that will be repeated.
# DefaultPauseContext 0
# -----SPELLING/PUNCTUATION/CAPITAL LETTERS CONFIGURATION-----
# The DefaultPunctuationMode sets the way dots, comas, exclamation
# marks, question marks etc. are interpreted. none: they are ignored
# some: some of them are sent to synthesis (see
# DefaultPunctuationSome) all: all punctuation marks are sent to
# synthesis
# DefaultPunctuationMode "none"
# Whether to use server-side symbols pre-processing by default.
# This controls whether the server should pre-process the messages to insert
# the appropriate words or if the output module is responsible for speaking
# symbols and punctuation.
DefaultSymbolsPreprocessing 0
# The DefaultCapLetRecognition: if set to "spell", capital letters
# should be spelled (e.g. "capital b"), if set to "icon",
# capital letters are indicated by inserting a special sound
# before them but they should be read normally, it set to "none"
# capital letters are not recognized (by default)
# DefaultCapLetRecognition "none"
# The DefaultSpelling: if set to On, all messages will be spelt
# unless set otherwise (this is usually not something you want to do.)
# DefaultSpelling Off
# ----- AUDIO CONFIGURATION -----------
# -- AUDIO OUTPUT --
# Chooses between the possible sound output systems:
# "pulse" - PulseAudio
# "alsa" - Advanced Linux Sound System
# "oss" - Open Sound System
# "nas" - Network Audio System
# "libao" - A cross platform audio library
# Pulse audio is the default and recommended sound server. OSS and ALSA
# are only provided for compatibility with architectures that do not
# include Pulse Audio. NAS provides network transparency, but is not
# very well tested. libao is a cross platform library with plugins for
# different sound systems and provides alternative output for Pulse Audio
# and ALSA as well as for other backends.
AudioOutputMethod pulse
# -- Pulse Audio parameters --
# Pulse audio server name or "default" for the default pulse server
#AudioPulseServer "default"
#AudioPulseMinLength 100
# -- ALSA parameters --
# Audio device for ALSA output
#AudioALSADevice "default"
# -- OSS parameters --
# Audio device for OSS output
#AudioOSSDevice "/dev/dsp"
# -- NAS parameters --
# Route to the Network Audio System server when NAS
# is chosen for the audio output. Note that NAS
# server doesn't need to run on your machine,
# you can use it also over network (for instance
# when working on remote machines).
#AudioNASServer "tcp/localhost:5450"
# -----OUTPUT MODULES CONFIGURATION-----
# Each AddModule line loads an output module.
# Syntax: AddModule "name" "binary" "configuration" "logfile"
# - name is the name under which you can access this module
# - binary is the path to the binary executable of this module,
# either relative (to lib/speech-dispatcher-modules/) or absolute
# - configuration is the path to the config file of this module,
# either relative (to etc/speech-dispatcher/modules/) or absolute
#AddModule "espeak" "sd_espeak" "espeak.conf"
AddModule "espeak-ng" "sd_espeak-ng" "espeak-ng.conf"
#AddModule "festival" "sd_festival" "festival.conf"
#AddModule "flite" "sd_flite" "flite.conf"
#AddModule "ivona" "sd_ivona" "ivona.conf"
#AddModule "pico" "sd_pico" "pico.conf"
AddModule "pico" "sd_generic" "nanotts-generic.conf"
#AddModule "espeak-generic" "sd_generic" "espeak-generic.conf"
AddModule "espeak-ng-mbrola-generic" "sd_generic" "espeak-ng-mbrola-generic.conf"
#AddModule "espeak-mbrola-generic" "sd_generic" "espeak-mbrola-generic.conf"
AddModule "rhvoice" "sd_rhvoice" "rhvoice.conf"
#AddModule "swift-generic" "sd_generic" "swift-generic.conf"
#AddModule "epos-generic" "sd_generic" "epos-generic.conf"
#AddModule "dtk-generic" "sd_generic" "dtk-generic.conf"
#AddModule "pico-generic" "sd_generic" "pico-generic.conf"
#AddModule "ibmtts" "sd_ibmtts" "ibmtts.conf"
#AddModule "cicero" "sd_cicero" "cicero.conf"
#AddModule "kali" "sd_kali" "kali.conf"
#AddModule "mary-generic" "sd_generic" "mary-generic.conf"
# DO NOT REMOVE the following line unless you have
# a specific reason -- this is the fallback output module
# that is only used when no other modules are in use
#AddModule "dummy" "sd_dummy" ""
# The output module testing doesn't actually connect to anything. It
# outputs the requested commands to standard output and reads
# responses from stdandard input. This way, Speech Dispatcher's
# communication with output modules can be tested easily.
# AddModule "testing"
# The DefaultModule selects which output module is the default. You
# must use one of the names of the modules loaded with AddModule.
DefaultModule rhvoice
# The LanguageDefaultModule selects which output modules are prefered
# for specified languages.
#LanguageDefaultModule "en" "espeak"
#LanguageDefaultModule "cs" "festival"
#LanguageDefaultModule "es" "festival"
# -----CLIENT SPECIFIC CONFIGURATION-----
# Here you can include the files with client-specific configuration
# for different types of clients. They must contain one or more sections with
# this structure:
# BeginClient "emacs:*"
# DefaultPunctuationMode "some"
# ...and/or some other settings
# EndClient
# The parameter of BeginClient tells Speech Dispatcher which clients
# it should apply the settings to (it does glob-style matching, you can use
# * to match any number of characters and ? to match one character)
# There are some sample client settings
Include "clients/*.conf"
# The DisableAutoSpawn option will disable the autospawn mechanism.
# Thus the server will not start automatically on requests from the clients
# DisableAutoSpawn

View File

@ -0,0 +1,452 @@
servers = (
{ address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; },
{ address = "irc.efnet.org"; chatnet = "EFNet"; port = "6667"; },
{ address = "irc.esper.net"; chatnet = "EsperNet"; port = "6667"; },
{
address = "chat.freenode.net";
chatnet = "Freenode";
port = "6667";
},
{
address = "irc.gamesurge.net";
chatnet = "GameSurge";
port = "6667";
},
{ address = "eu.irc6.net"; chatnet = "IRCnet"; port = "6667"; },
{ address = "open.ircnet.net"; chatnet = "IRCnet"; port = "6667"; },
{
address = "irc.ircsource.net";
chatnet = "IRCSource";
port = "6667";
},
{ address = "irc.netfuze.net"; chatnet = "NetFuze"; port = "6667"; },
{ address = "irc.oftc.net"; chatnet = "OFTC"; port = "6667"; },
{
address = "irc.quakenet.org";
chatnet = "QuakeNet";
port = "6667";
},
{ address = "irc.rizon.net"; chatnet = "Rizon"; port = "6667"; },
{ address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; },
{
address = "irc.undernet.org";
chatnet = "Undernet";
port = "6667";
},
{
address = "irc.netwirc.tk";
port = "6697";
use_ssl = "yes";
ssl_verify = "no";
autoconnect = "yes";
}
);
chatnets = {
netwirc = {
type = "IRC";
max_kicks = "40";
max_msgs = "20";
max_whois = "30";
autosendcmd = "/join #talkingarch";
};
DALnet = {
type = "IRC";
max_kicks = "4";
max_msgs = "20";
max_whois = "30";
};
EFNet = {
type = "IRC";
max_kicks = "1";
max_msgs = "4";
max_whois = "1";
};
EsperNet = {
type = "IRC";
max_kicks = "1";
max_msgs = "4";
max_whois = "1";
};
Freenode = {
type = "IRC";
max_kicks = "1";
max_msgs = "4";
max_whois = "1";
};
GameSurge = {
type = "IRC";
max_kicks = "1";
max_msgs = "1";
max_whois = "1";
};
IRCnet = {
type = "IRC";
max_kicks = "1";
max_msgs = "1";
max_whois = "1";
};
IRCSource = {
type = "IRC";
max_kicks = "1";
max_msgs = "4";
max_whois = "1";
};
NetFuze = {
type = "IRC";
max_kicks = "1";
max_msgs = "1";
max_whois = "1";
};
OFTC = { type = "IRC"; max_kicks = "1"; max_msgs = "1"; max_whois = "1"; };
QuakeNet = {
type = "IRC";
max_kicks = "1";
max_msgs = "1";
max_whois = "1";
};
Rizon = {
type = "IRC";
max_kicks = "1";
max_msgs = "1";
max_whois = "1";
};
SILC = { type = "SILC"; };
Undernet = {
type = "IRC";
max_kicks = "1";
max_msgs = "1";
max_whois = "1";
};
};
channels = (
{ name = "#lobby"; chatnet = "EsperNet"; autojoin = "No"; },
{ name = "#freenode"; chatnet = "Freenode"; autojoin = "No"; },
{ name = "#irssi"; chatnet = "Freenode"; autojoin = "No"; },
{ name = "#gamesurge"; chatnet = "GameSurge"; autojoin = "No"; },
{ name = "#irssi"; chatnet = "IRCNet"; autojoin = "No"; },
{ name = "#ircsource"; chatnet = "IRCSource"; autojoin = "No"; },
{ name = "#netfuze"; chatnet = "NetFuze"; autojoin = "No"; },
{ name = "#oftc"; chatnet = "OFTC"; autojoin = "No"; },
{ name = "silc"; chatnet = "SILC"; autojoin = "No"; },
{ name = "#talkingarch"; chatnet = "netwirc"; autojoin = "yes"; }
);
aliases = {
ATAG = "WINDOW SERVER";
ADDALLCHANS = "SCRIPT EXEC foreach my \\$channel (Irssi::channels()) { Irssi::command(\"CHANNEL ADD -auto \\$channel->{name} \\$channel->{server}->{tag} \\$channel->{key}\")\\;}";
B = "BAN";
BACK = "AWAY";
BANS = "BAN";
BYE = "QUIT";
C = "CLEAR";
CALC = "EXEC - if command -v bc >/dev/null 2>&1\\; then printf '%s=' '$*'\\; echo '$*' | bc -l\\; else echo bc was not found\\; fi";
CHAT = "DCC CHAT";
CUBES = "SCRIPT EXEC Irssi::active_win->print(\"%_bases\", MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print( do { join '', map { \"%x0\\${_}0\\$_\" } '0'..'9','A'..'F' }, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print(\"%_cubes\", MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print( do { my \\$y = \\$_*6 \\; join '', map { my \\$x = \\$_ \\; map { \"%x\\$x\\$_\\$x\\$_\" } @{['0'..'9','A'..'Z']}[\\$y .. \\$y+5] } 1..6 }, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) for 0..5 \\; Irssi::active_win->print(\"%_grays\", MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print( do { join '', map { \"%x7\\${_}7\\$_\" } 'A'..'X' }, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print(\"%_mIRC extended colours\", MSGLEVEL_CLIENTCRAP) \\; my \\$x \\; \\$x .= sprintf \"\00399,%02d%02d\",\\$_,\\$_ for 0..15 \\; Irssi::active_win->print(\\$x, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) \\; for my \\$z (0..6) { my \\$x \\; \\$x .= sprintf \"\00399,%02d%02d\",\\$_,\\$_ for 16+(\\$z*12)..16+(\\$z*12)+11 \\; Irssi::active_win->print(\\$x, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) }";
DATE = "exec date +'%I:%M%p%n%A, %B %d,%Y'";
DEHIGHLIGHT = "DEHILIGHT";
DESCRIBE = "ACTION";
DHL = "DEHILIGHT";
EXEMPTLIST = "MODE $C +e";
EXIT = "QUIT";
GOTO = "SCROLLBACK GOTO";
HIGHLIGHT = "HILIGHT";
HL = "HILIGHT";
HOST = "USERHOST";
INVITELIST = "MODE $C +I";
J = "JOIN";
K = "KICK";
KB = "KICKBAN";
KN = "KNOCKOUT";
LAST = "LASTLOG";
LEAVE = "PART";
M = "MSG";
MUB = "UNBAN *";
N = "NAMES";
NMSG = "^MSG";
P = "PART";
Q = "QUERY";
RESET = "SET -default";
RUN = "SCRIPT LOAD";
SAY = "MSG *";
SB = "SCROLLBACK";
SBAR = "STATUSBAR";
SIGNOFF = "QUIT";
SV = "MSG * Irssi $J ($V) - http://www.irssi.org";
T = "TOPIC";
UB = "UNBAN";
UMODE = "MODE $N";
UNSET = "SET -clear";
W = "WHO";
WC = "WINDOW CLOSE";
WG = "WINDOW GOTO";
WJOIN = "JOIN -window";
WI = "WHOIS";
WII = "WHOIS $0 $0";
WL = "WINDOW LIST";
WN = "WINDOW NEW HIDDEN";
WQUERY = "QUERY -window";
WW = "WHOWAS";
1 = "WINDOW GOTO 1";
2 = "WINDOW GOTO 2";
3 = "WINDOW GOTO 3";
4 = "WINDOW GOTO 4";
5 = "WINDOW GOTO 5";
6 = "WINDOW GOTO 6";
7 = "WINDOW GOTO 7";
8 = "WINDOW GOTO 8";
9 = "WINDOW GOTO 9";
10 = "WINDOW GOTO 10";
11 = "WINDOW GOTO 11";
12 = "WINDOW GOTO 12";
13 = "WINDOW GOTO 13";
14 = "WINDOW GOTO 14";
15 = "WINDOW GOTO 15";
16 = "WINDOW GOTO 16";
17 = "WINDOW GOTO 17";
18 = "WINDOW GOTO 18";
19 = "WINDOW GOTO 19";
20 = "WINDOW GOTO 20";
21 = "WINDOW GOTO 21";
22 = "WINDOW GOTO 22";
23 = "WINDOW GOTO 23";
24 = "WINDOW GOTO 24";
25 = "WINDOW GOTO 25";
26 = "WINDOW GOTO 26";
27 = "WINDOW GOTO 27";
28 = "WINDOW GOTO 28";
29 = "WINDOW GOTO 29";
30 = "WINDOW GOTO 30";
31 = "WINDOW GOTO 31";
32 = "WINDOW GOTO 32";
33 = "WINDOW GOTO 33";
34 = "WINDOW GOTO 34";
35 = "WINDOW GOTO 35";
36 = "WINDOW GOTO 36";
37 = "WINDOW GOTO 37";
38 = "WINDOW GOTO 38";
39 = "WINDOW GOTO 39";
40 = "WINDOW GOTO 40";
41 = "WINDOW GOTO 41";
42 = "WINDOW GOTO 42";
43 = "WINDOW GOTO 43";
44 = "WINDOW GOTO 44";
45 = "WINDOW GOTO 45";
46 = "WINDOW GOTO 46";
47 = "WINDOW GOTO 47";
48 = "WINDOW GOTO 48";
49 = "WINDOW GOTO 49";
50 = "WINDOW GOTO 50";
51 = "WINDOW GOTO 51";
52 = "WINDOW GOTO 52";
53 = "WINDOW GOTO 53";
54 = "WINDOW GOTO 54";
55 = "WINDOW GOTO 55";
56 = "WINDOW GOTO 56";
57 = "WINDOW GOTO 57";
58 = "WINDOW GOTO 58";
59 = "WINDOW GOTO 59";
60 = "WINDOW GOTO 60";
61 = "WINDOW GOTO 61";
62 = "WINDOW GOTO 62";
63 = "WINDOW GOTO 63";
64 = "WINDOW GOTO 64";
65 = "WINDOW GOTO 65";
66 = "WINDOW GOTO 66";
67 = "WINDOW GOTO 67";
68 = "WINDOW GOTO 68";
69 = "WINDOW GOTO 69";
70 = "WINDOW GOTO 70";
71 = "WINDOW GOTO 71";
72 = "WINDOW GOTO 72";
73 = "WINDOW GOTO 73";
74 = "WINDOW GOTO 74";
75 = "WINDOW GOTO 75";
76 = "WINDOW GOTO 76";
77 = "WINDOW GOTO 77";
78 = "WINDOW GOTO 78";
79 = "WINDOW GOTO 79";
80 = "WINDOW GOTO 80";
81 = "WINDOW GOTO 81";
82 = "WINDOW GOTO 82";
83 = "WINDOW GOTO 83";
84 = "WINDOW GOTO 84";
85 = "WINDOW GOTO 85";
86 = "WINDOW GOTO 86";
87 = "WINDOW GOTO 87";
88 = "WINDOW GOTO 88";
89 = "WINDOW GOTO 89";
90 = "WINDOW GOTO 90";
91 = "WINDOW GOTO 91";
92 = "WINDOW GOTO 92";
93 = "WINDOW GOTO 93";
94 = "WINDOW GOTO 94";
95 = "WINDOW GOTO 95";
96 = "WINDOW GOTO 96";
97 = "WINDOW GOTO 97";
98 = "WINDOW GOTO 98";
99 = "WINDOW GOTO 99";
music = "/exec -o echo -n \"Now playing: \\$(audtool --current-song)\"";
sing = "/exec -o echo -n \"@sing \\$(audtool --current-song-tuple-data artist | tr -d \\$'\\n'):\\$(audtool --current-song-tuple-data title)\"";
"*sing" = "/exec -o echo -n \"@sing \\$(audtool --current-song-tuple-data artist | tr -d \\$'\\n'):\\$(audtool --current-song-tuple-data title):*\"";
};
statusbar = {
items = {
barstart = "{sbstart}";
barend = "{sbend}";
topicbarstart = "{topicsbstart}";
topicbarend = "{topicsbend}";
time = "{sb $Z}";
user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";
window = "{sb $winref:$tag/$itemname{sbmode $M}}";
window_empty = "{sb $winref{sbservertag $tag}}";
prompt = "{prompt $[.15]itemname}";
prompt_empty = "{prompt $winname}";
topic = " $topic";
topic_empty = " Irssi v$J - http://www.irssi.org";
lag = "{sb Lag: $0-}";
act = "{sb Act: $0-}";
more = "-- more --";
};
default = {
window = {
disabled = "yes";
type = "window";
placement = "bottom";
position = "1";
visible = "active";
items = {
barstart = { priority = "100"; };
user = { };
window = { };
window_empty = { };
lag = { priority = "-1"; };
act = { priority = "10"; };
more = { priority = "-1"; alignment = "right"; };
barend = { priority = "100"; alignment = "right"; };
};
};
window_inact = {
type = "window";
placement = "bottom";
position = "1";
visible = "inactive";
items = {
barstart = { priority = "100"; };
window = { };
window_empty = { };
more = { priority = "-1"; alignment = "right"; };
barend = { priority = "100"; alignment = "right"; };
};
};
prompt = {
type = "root";
placement = "bottom";
position = "100";
visible = "always";
items = {
prompt = { priority = "-1"; };
prompt_empty = { priority = "-1"; };
input = { priority = "10"; };
};
};
topic = {
type = "root";
placement = "top";
position = "1";
visible = "always";
items = {
topicbarstart = { priority = "100"; };
topic = { };
topic_empty = { };
topicbarend = { priority = "100"; alignment = "right"; };
};
};
};
};
settings = {
core = { real_name = "Unknown"; user_name = "storm"; nick = "storm"; };
"fe-text" = { actlist_sort = "refnum"; };
"fe-common/core" = {
bell_beeps = "yes";
beep_msg_level = "msgs notices dcc dccmsgs hilight";
timestamps = "no";
};
};
windows = { 1 = { immortal = "yes"; name = "(status)"; level = "ALL"; }; };
mainwindows = { 1 = { first_line = "1"; lines = "35"; }; };
keyboard = (
{
key = "meta-Z";
id = "command";
data = "exec audtool --playlist-reverse&&audtool --current-song";
},
{
key = "meta-B";
id = "command";
data = "exec audtool --playlist-advance&&audtool --current-song";
},
{
key = "meta-X";
id = "command";
data = "exec if ! pgrep audacious &> /dev/null ; then audacious -Hp &> /dev/null&else audacious -p;fi;audtool --current-song";
},
{
key = "meta-c";
id = "command";
data = "exec audtool --playback-playpause;if audtool --playback-playing ; then audtool --current-song;fi";
},
{
key = "meta-v";
id = "command";
data = "exec audtool --playback-stop";
},
{
key = "meta-_";
id = "command";
data = "exec audtool --set-volume $(($(audtool --get-volume | tr -Cd '[:digit:]-') - 5))";
},
{
key = "meta-+";
id = "command";
data = "exec audtool --set-volume $(($(audtool --get-volume | tr -Cd '[:digit:]-') + 5))";
},
{
key = "meta-C";
id = "command";
data = "exec audtool --playback-playpause&&audtool --current-song";
},
{
key = "meta-V";
id = "command";
data = "exec audtool --playback-stop";
},
{
key = "meta-U";
id = "command";
data = "exec audtool --current-song";
}
);

View File

@ -0,0 +1 @@
../sound.pl

View File

@ -0,0 +1,293 @@
use strict;
use vars qw($VERSION %IRSSI);
use Irssi;
$VERSION = '0.0.3';
%IRSSI = (
authors => 'Storm and Jeremiah',
contact => 'blah@blah.blah',
name => 'irssi-sound',
description => 'Play sounds for different events in IRSSI.',
url => 'https://github.com/stormdragon2976/irssi-sound',
license => 'GNU General Public License',
changed => '$Date: 2007-02-07 12:00:00 +0100 (Thu, 7 Feb 2008) $'
);
#--------------------------------------------------------------------
# Created by Chrelad
# Feb 7, 2008
#modified by Storm Dragon
#Also modified by Jeremiah
#Added private message sound and the ability to select sound method
#Sounds now play as a background process.
#--------------------------------------------------------------------
my $flood_protect = 1;
my $sound_tag;
sub sound_overflow_timeout() {
$flood_protect = 1;
Irssi::timeout_remove($sound_tag);
}
sub join_msg {
my ($server,$msg,$nick,$address,$target) = @_;
if ($server && ! Irssi::settings_get_bool("sounds")) {
return;;
} else {
if (my $joincmd = Irssi::settings_get_str("join_sound_command")) {
if ($flood_protect) {
my $sound_flood = Irssi::settings_get_int('sound_flood');
$sound_flood = 1000 if $sound_flood < 0;
Irssi::timeout_remove($sound_tag);
$sound_tag = Irssi::timeout_add($sound_flood, 'sound_overflow_timeout', undef);
system($joincmd);
$flood_protect = 0;
}
}
}
}
sub part_msg {
my ($server,$msg,$nick,$address,$target) = @_;
if ($server && ! Irssi::settings_get_bool("sounds")) {
return;;
} else {
if (my $partcmd = Irssi::settings_get_str("part_sound_command")) {
if ($flood_protect) {
my $sound_flood = Irssi::settings_get_int('sound_flood');
$sound_flood = 1000 if $sound_flood < 0;
Irssi::timeout_remove($sound_tag);
$sound_tag = Irssi::timeout_add($sound_flood, 'sound_overflow_timeout', undef);
system($partcmd);
$flood_protect = 0;
}
}
}
}
sub quit_msg {
my ($server,$msg,$nick,$address,$target) = @_;
if ($server && ! Irssi::settings_get_bool("sounds")) {
return;;
} else {
if (my $quitcmd = Irssi::settings_get_str("quit_sound_command")) {
if ($flood_protect) {
my $sound_flood = Irssi::settings_get_int('sound_flood');
$sound_flood = 1000 if $sound_flood < 0;
Irssi::timeout_remove($sound_tag);
$sound_tag = Irssi::timeout_add($sound_flood, 'sound_overflow_timeout', undef);
system($quitcmd);
$flood_protect = 0;
}
}
}
}
sub pub_msg {
my ($server,$msg,$nick,$address,$target) = @_;
if ($server && ! Irssi::settings_get_bool("sounds")) {
return;;
} else {
if (my $pubcmd = Irssi::settings_get_str("pub_sound_command")) {
if ($flood_protect) {
my $sound_flood = Irssi::settings_get_int('sound_flood');
$sound_flood = 1000 if $sound_flood < 0;
Irssi::timeout_remove($sound_tag);
$sound_tag = Irssi::timeout_add($sound_flood, 'sound_overflow_timeout', undef);
system($pubcmd);
$flood_protect = 0;
}
}
}
}
sub own_action_msg {
my ($server,$msg,$nick,$address,$target) = @_;
if ($server && ! Irssi::settings_get_bool("sounds")) {
return;;
} else {
if (my $ownactcmd = Irssi::settings_get_str("own_act_sound_command")) {
if ($flood_protect) {
my $sound_flood = Irssi::settings_get_int('sound_flood');
$sound_flood = 1000 if $sound_flood < 0;
Irssi::timeout_remove($sound_tag);
$sound_tag = Irssi::timeout_add($sound_flood, 'sound_overflow_timeout', undef);
system($ownactcmd);
$flood_protect = 0;
}
}
}
}
sub own_private_msg {
my ($server,$msg,$nick,$address,$target) = @_;
if ($server && ! Irssi::settings_get_bool("sounds")) {
return;;
} else {
if (my $ownprivcmd = Irssi::settings_get_str("own_privmsg_sound_command")) {
if ($flood_protect) {
my $sound_flood = Irssi::settings_get_int('sound_flood');
$sound_flood = 1000 if $sound_flood < 0;
Irssi::timeout_remove($sound_tag);
$sound_tag = Irssi::timeout_add($sound_flood, 'sound_overflow_timeout', undef);
system($ownprivcmd);
$flood_protect = 0;
}
}
}
}
sub action_msg {
my ($server,$msg,$nick,$address,$target) = @_;
if ($server && ! Irssi::settings_get_bool("sounds")) {
return;;
} else {
if (my $actcmd = Irssi::settings_get_str("action_sound_command")) {
if ($flood_protect) {
my $sound_flood = Irssi::settings_get_int('sound_flood');
$sound_flood = 1000 if $sound_flood < 0;
Irssi::timeout_remove($sound_tag);
$sound_tag = Irssi::timeout_add($sound_flood, 'sound_overflow_timeout', undef);
system($actcmd);
$flood_protect = 0;
}
}
}
}
sub own_msg {
my ($server,$msg,$nick,$address,$target) = @_;
if ($server && ! Irssi::settings_get_bool("sounds")) {
return;;
} else {
if (my $ownmsgcmd = Irssi::settings_get_str("own_msg_sound_command")) {
if ($flood_protect) {
my $sound_flood = Irssi::settings_get_int('sound_flood');
$sound_flood = 1000 if $sound_flood < 0;
Irssi::timeout_remove($sound_tag);
$sound_tag = Irssi::timeout_add($sound_flood, 'sound_overflow_timeout', undef);
system($ownmsgcmd);
$flood_protect = 0;
}
}
}
}
sub own_notice_msg {
my ($server,$msg,$nick,$address,$target) = @_;
if ($server && ! Irssi::settings_get_bool("sounds")) {
return;;
} else {
if (my $ownnoticecmd = Irssi::settings_get_str("own_notice_sound_command")) {
if ($flood_protect) {
my $sound_flood = Irssi::settings_get_int('sound_flood');
$sound_flood = 1000 if $sound_flood < 0;
Irssi::timeout_remove($sound_tag);
$sound_tag = Irssi::timeout_add($sound_flood, 'sound_overflow_timeout', undef);
system($ownnoticecmd);
$flood_protect = 0;
}
}
}
}
sub notice_msg {
my ($server,$msg,$nick,$address,$target) = @_;
if ($server && ! Irssi::settings_get_bool("sounds")) {
return;;
} else {
if (my $noticecmd = Irssi::settings_get_str("notice_sound_command")) {
if ($flood_protect) {
my $sound_flood = Irssi::settings_get_int('sound_flood');
$sound_flood = 1000 if $sound_flood < 0;
Irssi::timeout_remove($sound_tag);
$sound_tag = Irssi::timeout_add($sound_flood, 'sound_overflow_timeout', undef);
system($noticecmd);
$flood_protect = 0;
}
}
}
}
sub pri_msg {
my ($server,$msg,$nick,$address,$target) = @_;
if ($server && ! Irssi::settings_get_bool("sounds")) {
return;;
} else {
if (my $privmsgcmd = Irssi::settings_get_str("privmsg_sound_command")) {
if ($flood_protect) {
my $sound_flood = Irssi::settings_get_int('sound_flood');
$sound_flood = 1000 if $sound_flood < 0;
Irssi::timeout_remove($sound_tag);
$sound_tag = Irssi::timeout_add($sound_flood, 'sound_overflow_timeout', undef);
system($privmsgcmd);
$flood_protect = 0;
}
}
}
}
sub hilight {
my ($dest, $text, $stripped) = @_;
my $server = $dest->{server};
my $window = Irssi::active_server();
if (!($server &&
$dest->{level} & (MSGLEVEL_HILIGHT) &&
$server->ischannel($dest->{target}) &&
$window->{refnum} != $dest->{window}->{refnum})) {
return;
}
if ($server && ! Irssi::settings_get_bool("sounds")) {
return;
} else {
if (my $hilightcmd = Irssi::settings_get_str("hilight_sound_command")) {
system($hilightcmd);
}
}
}
#add settings and defaults
Irssi::settings_add_bool("lookandfeel", "sounds", 1);
Irssi::settings_add_int("lookandfeel", "sound_flood", 250);
Irssi::settings_add_str("misc", "join_sound_command",
"play -qnV0 synth tri 1500 tri 1800 delay 0 .12 fade h 0 .2 remix - &. /dev/null&");
Irssi::settings_add_str("misc", "part_sound_command",
"play -qnV0 synth tri 1800 tri 1500 delay 0 .12 fade h 0 .2 remix - &> /dev/null&");
Irssi::settings_add_str("misc", "quit_sound_command",
"play -qnV0 synth pi fade h 0 1 1 pad 0 1 reverb overdrive riaa norm -7 &> /dev/null&");
Irssi::settings_add_str("misc", "pub_sound_command",
"play -qnV0 synth 0.09 tri E3:B3 &> /dev/null&");
Irssi::settings_add_str("misc", "own_act_sound_command",
"play -qnV0 synth 0.25 tri G5:E1 tri B5:D1 remix - norm -5 &> /dev/null&");
Irssi::settings_add_str("misc", "own_privmsg_sound_command",
"play -qnV0 synth pl G2 pl G3 pl B2 pl B3 pl D3 pl D4 pl G3 pl G4 pl D4 pl D4 pl G4 pl G4 delay 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 remix - phaser fade p 0 0.5 0.3 norm -3 &> /dev/null&");
Irssi::settings_add_str("misc", "action_sound_command",
"play -qnV0 synth 0.25 tri E1:G5 tri D1:B5 remix - norm -5 &> /dev/null&");
Irssi::settings_add_str("misc", "own_msg_sound_command",
"play -qnV0 synth 0.09 tri B3:E3 &> /dev/null&");
Irssi::settings_add_str("misc", "own_notice_sound_command",
"play -nqV0 synth pi fade h 0 1 1 norm -15 pad 0 1 reverb overdrive riaa speed 32 repeat 3 &> /dev/null&");
Irssi::settings_add_str("misc", "notice_sound_command",
"play -nqV0 synth pi fade h 0 1 1 norm -15 pad 0 1 reverb overdrive riaa speed 32 reverse repeat 3 &> /dev/null&");
Irssi::settings_add_str("misc", "privmsg_sound_command",
"play -qnV0 synth pl G4 pl G4 pl D4 pl D4 pl D4 pl D3 pl G4 pl G3 pl B3 pl B2 pl G3 pl G2 delay 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1 0.11 remix - phaser fade p 0 0.5 0.3 norm -3 &> /dev/null&");
Irssi::settings_add_str("misc", "hilight_sound_command",
"play -qnV0 synth 0.5 tri A3:D3 tri D3:A3 remix - &> /dev/null&");
#add Signals
Irssi::signal_add_last("message public", "pub_msg");
Irssi::signal_add_last("message irc action", "action_msg");
Irssi::signal_add_last("message own_public", "own_msg");
Irssi::signal_add_last("message private", "pri_msg");
Irssi::signal_add_last("message own_private", "own_private_msg");
Irssi::signal_add_last("message irc own_action", "own_action_msg");
Irssi::signal_add_last("message irc own_notice", "own_notice_msg");
Irssi::signal_add_last("message irc notice", "notice_msg");
Irssi::signal_add_last('print text', "hilight");
Irssi::signal_add_last("event join", 'join_msg');
Irssi::signal_add_last("event quit", 'quit_msg');
Irssi::signal_add_last("event part", 'part_msg');
Irssi::signal_add_last("event kick", 'part_msg');
#- end

View File

@ -0,0 +1,617 @@
# configuration file for storeBackup.pl
# Generated by storeBackup.pl, 3.5
####################
### explanations ###
####################
# You can set a value specified with '-cf_key' (eg. logFiles) and
# continue at the next lines which have to begin with a white space:
# logFiles = /var/log/messages /var/log/cups/access_log
# /var/log/cups/error_log
# One ore more white spaces are interpreted as separators.
# You can use single quotes or double quotes to group strings
# together, eg. if you have a filename with a blank in its name:
# logFiles = '/var/log/my strage log'
# will result in one filename, not in three.
# If an option should have *no value*, write:
# logFiles =
# If you want the default value, comment it:
;logFile =
# You can also use environment variables, like $XXX or ${XXX} like in
# a shell. Single quotes will mask environment variables, while double
# quotes will not.
# You can mask $, {, }, ", ' with a backslash (\), eg. \$
# Lines beginning with a '#' or ';' are ignored (use this for comments)
#
# You can overwrite settings in the command line. You can remove
# the setting also in the command by using the --unset feature, eg.:
# '--unset doNotDelete' or '--unset --doNotDelete'
#####################
### configuration ###
#####################
# source directory (*** must be specified ***)
sourceDir=/home
# top level directory of all linked backups (*** must be specified ***)
# storeBackup must know for consistency checking where all your backups
# are. This is done to make sure that your backups are consistent if you
# used --lateLinks.
;backupDir=
# ------------------------------------------------------------------------
# you do not need specify the options below to get a running configuration
# (but they give you more features and more control)
#
# series directory, default is 'default'
# relative path from backupDir
;series=
# directory for temporary file, default is /tmp
;tmpDir=
# List of other backup directories to consider for
# hard linking. Relative path from backupDir!
# Format (examples):
# backupSeries/2002.08.29_08.25.28 -> consider this backup
# or
# 0:backupSeries -> last (youngest) backup in <backupDir>/backupSeries
# 1:backupSeries -> first before last backup in <backupDir>/backupSeries
# n:backupSeries -> n'th before last backup in <backupDir>/backupSeries
# 3-5:backupSeries -> 3rd, 4th and 5th in <backupDir>/backupSeries
# all:backupSeries -> all in <backupDir>/backupSeries
# This option is useful, if you want to explicitly hard link
# to backup series from different backups. You can specify eg. with
# 0:myBackup to the last backup of series 'myBackup'. If you specify
# backup series with otherBackupSeries, then only these backups will be
# used for hard linking.
# You can also use wildcards in series names. See documentation,
# section 'Using Wildcards for Replication' for details.
# Default value is to link to the last backup of all series stored in
# 'backupDir'.
;otherBackupSeries=
# lock file, if exist, new instances will finish if
# an old is already running, default is /tmp/storeBackup.lock
;lockFile=
# remove the lock files before deleting old backups
# default ('no') is to delete the lock file after deleting
# possible values are 'yes' and 'no'
;unlockBeforeDel=
# continue if one or more of the exceptional directories
# do not exist (no is stopping processing)
# default is 'no', can be 'yes' or 'no'
;contExceptDirsErr=
# Directories to exclude from the backup (relative path inside of the backup).
# You can use shell type wildcards.
# These directories have to be separated by space or newline.
;exceptDirs=dev proc sys tmp run mnt media var home/*/.cache lost+found
exceptDirs=*/.cache
# Directories to include in the backup (relative path inside of the backup).
# You can use shell type wildcards.
# These directories have to be separated by space or newline.
includeDirs=../etc
# rule for excluding files / only for experienced administrators
# !!! see README file 'including / excluding files and directories'
# EXAMPLE:
# searchRule = ( '$size > &::SIZE("3M")' and '$uid eq "hjc"' ) or
# ( '$mtime > &::DATE("3d4h")' and not '$file =~ m#/tmp/#' )'
;exceptRule=
# For explanations, see 'exceptRule'.
;includeRule=
# write a file name .storeBackup.notSaved.bz2 with the
# names of all skipped files, default is 'no', can be 'yes' or 'no'
;writeExcludeLog=
# do not save the specified types of files, allowed: Sbcfpl
# S - file is a socket
# b - file is a block special file
# c - file is a character special file
# f - file is a plain file
# p - file is a named pipe
# l - file is a symbolic link
# Spbc can only be backed up if GNU copy is available.
;exceptTypes=
# save the specified type of files in an archive instead saving
# them directly in the file system
# use this if you want to backup those file types but your target
# file or transport (eg. sshfs or non gnu-cp) system does not support
# those types of file
# S - file is a socket
# b - file is a block special file
# c - file is a character special file
# p - file is a named pipe
# l - file is a symbolic link
# you also have to set specialTypeArchiver when using this option
;archiveTypes=
# possible values are 'cpio', 'tar', 'none'. default is 'cpio'
# tar is not able to archive sockets
# cpio is not part of the actual posix standard any more
;specialTypeArchiver=
# Activate this option if your system's cp is a full-featured GNU
# version. In this case you will be able to also backup several
# special file types like sockets.
# Possible values are 'yes' and 'no'. Default is 'no'
cpIsGnu=yes
# make a hard link to existing, identical symlinks in old backups
# use this, if your operating system supports this (linux does)
# Possible values are 'yes' and 'no'. Default is 'no'
;linkSymlinks=
# exec job before starting the backup, checks lockFile (-L) before
# starting (e.g. can be used for rsync) stops execution if job returns
# exit status != 0
;precommand=
# exec job after finishing the backup, but before erasing of old
# backups reports if job returns exit status != 0
;postcommand=
# follow symbolic links like directories up to depth 0 -> do not
# follow links
;followLinks=
# only store the contents of file systems named by
# sourceDir and symlinked via followLinks
# possible values are 'yes' and 'no'; default is 'no'
;stayInFileSystem=
# use this only if you write your backup over a high latency line
# like a vpn over the internet
# storebackup will use more parallelization at the cost of more
# cpu power
# possible values are 'yes' and 'no'; default is 'no'
;highLatency=
# If this option is disabled, then the files in the backup will not
# neccessarily have the same permissions and owner as the originals.
# This speeds up backups on network drives a lot. Correct permissions
# are restored by storeBackupRecover.pl no matter what this option is
# set to. Default is 'no'
;ignorePerms=
# suppress (unwanted) warnings in the log files;
# to suppress warnings, the following keys can be used:
# excDir (suppresses the warning that excluded directories
# do not exist)
# fileChange (suppresses the warning that a file has changed during
# the backup)
# crSeries (suppresses the warning that storeBackup had to create the
# 'default' series)
# hashCollision (suppresses the warning if a possible
# hash collision is detected)
# fileNameWithLineFeed (suppresses the warning if a filename
# contains a line feed)
# use_DB_File (suppresses the warning that you should install
# perl module DB_File for better perforamnce)
# use_MLDBM (suppresses the warning that you should install
# perl module MLDBM if you want to use rule functions
# MARK_DIR or MARK_DIR_REC together with option saveRAM)
# use_IOCompressBzip2 (suppresses the warning that you should
# instal perl module IO::Compress::Bzip2
# for better performance)
# noBackupForPeriod (suppresses warning that there are
# no backups for certain periods when using
# option keepRelative)
# This option can be repeated multiple times on the command line.
# Example usage in conf file:
# suppressWarning = excDir fileChange crSeries hashCollision
# By default no warnings are suppressed.
suppressWarning= excDir fileChange crSeries hashCollision
# do *not* write hard links to existing files in the backup
# during the backup (yes|no)
# you have to call the program storeBackupUpdateBackup.pl
# later on your server if you set this flag to 'yes'
# you have to run storeBackupUpdateBackup.pl later - see
# description for that program
# default = no: do not write hard links
;lateLinks=
# only in combination with --lateLinks
# compression from files >= size will be done later,
# the file is (temporarily) copied into the backup
# default = no: no late compression
;lateCompress=
# repair simple inconsistencies (from lateLinks) automatically
# without requesting the action
# default = no, no automatic repair
;autorepair=
# Files with specified suffix for which storeBackup will make an md5 check
# on blocks of that file. Executed after --checkBlocksRule(n)
;checkBlocksSuffix=
# Only check files specified in --checkBlocksSuffix if there
# file size is at least this value, default is 100M
;checkBlocksMinSize=
# Block size for files specified with --checkBlocksSuffix
# default is 1M (1 megabyte)
;checkBlocksBS=
# if set, the blocks generated due to checkBlocksSuffix are compressed
# Possible values are 'check, 'yes' and 'no'. Default is 'no'
# check uses COMRESSION_CHECK (see option compressSuffix)
;checkBlocksCompr=
# Read files specified here in parallel to "normal" ones.
# This only makes sense if they are on a different disk.
# Default value is 'no'
;checkBlocksParallel=
# length of queue to store files before block checking,
# default = 1000
;queueBlock=
# Files for which storeBackup will make an md5 check depending
# on blocks of that file.
# The rules are checked from rule 1 to rule 5. The first match is used
# !!! see README file 'including / excluding files and directories'
# EXAMPLE:
# searchRule = ( '$size > &::SIZE("3M")' and '$uid eq "hjc"' ) or
# ( '$mtime > &::DATE("3d4h")' and not '$file =~ m#/tmp/#' )'
;checkBlocksRule0=
# Block size for option checkBlocksRule
# default is 1M (1 megabyte)
;checkBlocksBS0=
# if set to 'yes', blocks generated due to this rule will be compressed
# possible values: 'check', 'yes' or 'no', default is 'no'
# check users COMRESSION_CHECK (see option compressSuffix)
;checkBlocksCompr0=
# Filter for reading the file to treat as a blocked file
# eg. gzip -d if the file is compressed. Default is no read filter.
;checkBlocksRead0=
# Read files specified here in parallel to "normal" ones.
# This only makes sense if they are on a different disk.
# Default value is 'no'
;checkBlocksParallel0=
;checkBlocksRule1=
;checkBlocksBS1=
;checkBlocksCompr1=
;checkBlocksRead1=
;checkBlocksParallel1=
;checkBlocksRule2=
;checkBlocksBS2=
;checkBlocksCompr2=
;checkBlocksRead2=
;checkBlocksParallel2=
;checkBlocksRule3=
;checkBlocksBS3=
;checkBlocksCompr3=
;checkBlocksRead3=
;checkBlocksParallel3=
;checkBlocksRule4=
;checkBlocksBS4=
;checkBlocksCompr4=
;checkBlocksRead4=
;checkBlocksParallel4=
# List of Devices for md5 ckeck depending on blocks of these
# Devices (eg. /dev/sdb or /dev/sdb1)
;checkDevices0=
# Directory where to store the backups of the devices
;checkDevicesDir0=
# Block size of option checkDevices0
# default is 1M (1 megabyte)
;checkDevicesBS0=
# if set, the blocks generated due to checkDevices0 are compressed
# possible values: 'check', 'yes' or 'no', default is 'no'
# check users COMRESSION_CHECK (see option compressSuffix)
;checkDevicesCompr0=
# Read devices specified here in parallel to "normal" ones.
# This only makes sense if they are on a different disk.
# Default value is 'no'
;checkDevicesParallel0=
;checkDevices1=
;checkDevicesDir1=
;checkDevicesBS1=
;checkDevicesCompr1=
;checkDevicesParallel1=
;checkDevices2=
;checkDevicesDir2=
;checkDevicesBS2=
;checkDevicesCompr2=
;checkDevicesParallel2=
;checkDevices3=
;checkDevicesDir3=
;checkDevicesBS3=
;checkDevicesCompr3=
;checkDevicesParallel3=
;checkDevices4=
;checkDevicesDir4=
;checkDevicesBS4=
;checkDevicesCompr4=
;checkDevicesParallel4=
# write temporary dbm files in --tmpdir
# use this if you have not enough RAM, default is no
saveRAM=yes
# compress command (with options), default is <bzip2>
compress=gzip
# uncompress command (with options), default is <bzip2 -d>
uncompress=gzip -d
# postfix to add after compression, default is <.bz2>
postfix=.gz
# do not compress files with the following
# suffix (uppercase included):
# (if you set this to '.*', no files will be compressed)
# Default is \.zip \.bz2 \.gz \.tgz \.jpg \.gif \.tiff? \.mpe?g \.mp[34] \.mpe?[34] \.ogg \.gpg \.png \.lzma \.xz \.mov
exceptSuffix='.*'
# like --exceptSuffix, but do not replace defaults, add
;addExceptSuffix=
# Like --exceptSuffix, but mentioned files will be
# compressed. If you chose this option, then files not
# affected be execptSuffix, addExceptSuffix or this Suffixes
# will be rated by the rule function COMPRESS_CHECK wether
# to compress or not
;compressSuffix=
# Files smaller than this size will never be compressed but always
# copied. Default is 1024
;minCompressSize=
# alternative to exceptSuffix, comprRule and minCompressSize:
# definition of a rule which files will be compressed
# If this rule is set, exceptSuffix, addExceptSuffix
# and minCompressSize are ignored.
# Default rule _generated_ from the options above is:
# comprRule = '$size > 1024' and not
# '$file =~ /.zip\Z|.bz2\Z|.gz\Z|.tgz\Z|.jpg\Z|.gif\Z|.tiff\Z|.tif\Z|.mpeg\Z|.mpg\Z|.mp3\Z|.ogg\Z|.gpg\Z|.png\Z/i'
# or (eg. if compressSuffix = .doc .pdf):
# '$size > 1024 and not $file =~ /.zip\Z|.bz2\Z|.gz\Z|.tgz\Z|.jpg\Z|.gif\Z|.tiff\Z|.tif\Z|.mpeg\Z|.mpg\Z|.mp3\Z|.ogg\Z|.gpg\Z|.png\Z/i and ( $file =~ /.doc\Z|.pdf\Z/i or &::COMPRESSION_CHECK($file) )'
;comprRule=
# maximal number of parallel compress operations,
# default = choosen automatically
;noCompress=
# length of queue to store files before compression,
# default = 1000
;queueCompress=
# maximal number of parallel copy operations,
# default = 1
noCopy=4
# length of queue to store files before copying,
# default = 1000
;queueCopy=
# write statistics about used space in log file
# default is 'no'
;withUserGroupStat=
# write statistics about used space in name file
# will be overridden each time
# if no file name is given, nothing will be written
# format is:
# identifier uid userName value
# identifier gid groupName value
;userGroupStatFile=
# default is 'no', if you do not want to compress, say 'yes'
;doNotCompressMD5File=
# permissions of .md5checkSumFile, default is 0600
;chmodMD5File=
# verbose messages, about exceptRule and includeRule
# and added files. default is 'no'
;verbose=
# generate debug messages, levels are 0 (none, default),
# 1 (some), 2 (many) messages
;debug=
# reset access time in the source directory - but this will
# change ctime (time of last modification of file status
# information
# default is 'no', if you want this, say 'yes'
;resetAtime=
# do not delete any old backup (e.g. specified via --keepAll or
# --keepWeekday) but print a message. This is for testing configuratons
# or if you want to delete old backups with storeBackupDel.pl.
# Values are 'yes' and 'no'. Default is 'no' which means to not delete.
doNotDelete=yes
# delete old backups which have not been finished
# this will not happen if doNotDelete is set
# Values are 'yes' and 'no'. Default is 'no' which means not to delete.
deleteNotFinishedDirs=yes
# keep backups which are not older than the specified amount
# of time. This is like a default value for all days in
# --keepWeekday. Begins deleting at the end of the script
# the time range has to be specified in format 'dhms', e.g.
# 10d4h means 10 days and 4 hours
# default = 30d;
# An archive flag is not possible with this parameter (see below).
;keepAll=
# keep backups for the specified days for the specified
# amount of time. Overwrites the default values choosen in
# --keepAll. 'Mon,Wed:40d Sat:60d10m' means:
# keep backups from Mon and Wed 40days + 5mins
# keep backups from Sat 60days + 10mins
# keep backups from the rest of the days like spcified in
# --keepAll (default 30d)
# you can also set the 'archive flag'.
# 'Mon,Wed:a40d5m Sat:60d10m' means:
# keep backups from Mon and Wed 40days + 5mins + 'archive'
# keep backups from Sat 60days + 10mins
# keep backups from the rest of the days like specified in
# --keepAll (default 30d)
# If you also use the 'archive flag' it means to not
# delete the affected directories via --keepMaxNumber:
# a10d4h means 10 days and 4 hours and 'archive flag'
;keepWeekday=
# do not delete the first backup of a year
# format is timePeriod with possible 'archive flag'
;keepFirstOfYear=
# do not delete the last backup of a year
# format is timePeriod with possible 'archive flag'
;keepLastOfYear=
# do not delete the first backup of a month
# format is timePeriod with possible 'archive flag'
;keepFirstOfMonth=
# do not delete the last backup of a month
# format is timePeriod with possible 'archive flag'
;keepLastOfMonth=
# default: 'Sun'. This value is used for calculating
# --keepFirstOfWeek and --keepLastOfWeek
;firstDayOfWeek=
# do not delete the first backup of a week
# format is timePeriod with possible 'archive flag'
;keepFirstOfWeek=
# do not delete the last backup of a week
# format is timePeriod with possible 'archive flag'
;keepLastOfWeek=
# keep multiple backups of one day up to timePeriod
# format is timePeriod, 'archive flag' is not possible
# default is 7d
;keepDuplicate=
# Keep that miminum of backups. Multiple backups of one
# day are counted as one backup. Default is 10.
;keepMinNumber=
# Try to keep only that maximum of backups. If you have more
# backups, the following sequence of deleting will happen:
# - delete all duplicates of a day, beginning with the old
# once, except the oldest of every day
# - if this is not enough, delete the rest of the backups
# beginning with the oldest, but *never* a backup with
# the 'archive flag' or the last backup
;keepMaxNumber=
# Alternative deletion scheme. If you use this option, all
# other keep options are ignored. Preserves backups depending
# on their *relative* age. Example:
#
# keepRelative = 1d 7d 61d 92d
#
# will (try to) ensure that there is always
#
# - One backup between 1 day and 7 days old
# - One backup between 5 days and 2 months old
# - One backup between ~2 months and ~3 months old
#
# If there is no backup for a specified timespan (e.g. because the
# last backup was done more than 2 weeks ago) the next older backup
# will be used for this timespan.
;keepRelative =
# print progress report after each 'number' files
# Default is 0, which means no reports.
# additional you may add a time frame after which a message is printed
# if you want to print a report each 1000 files and after
# one minute and 10 seconds, use: -P 1000,1m10s
;progressReport=
# print depth of actual readed directory during backup
# default is 'no', values are 'yes' and 'no'
;printDepth=
# ignore read errors in source directory; not readable
# directories does not cause storeBackup.pl to stop processing
# Values are 'yes' and 'no'. Default is 'no' which means not
# to ignore them
ignoreReadError=yes
# after a successful backup, set a symbolic link to
# that backup and delete existing older links with the
# same name
;linkToRecent=
# name of the log file (default is STDOUT)
logFile=/var/log/storeBackup
# if you specify a log file with --logFile you can
# additionally print the output to STDOUT with this flag
# Values are 'yes' and 'no'. Default is 'no'.
;plusLogStdout=
# output in logfile without time: 'yes' or 'no'
# default = no
suppressTime=yes
# maximal length of log file, default = 1e6
;maxFilelen=
# number of old log files, default = 5
;noOfOldFiles=
# save log files with date and time instead of deleting the
# old (with [-noOfOldFiles]): 'yes' or 'no', default = 'no'
;saveLogs=
# compress saved log files (e.g. with 'gzip -9')
# default is 'bzip2'
;compressWith=
# write log file (also) in the backup directory:
# 'yes' or 'no', default is 'no'
# Be aware that this log does not contain all error
# messages of the one specified with --logFile!
# Some errors are possible before the backup
# directory is created.
;logInBackupDir=
# compress the log file in the backup directory:
# 'yes' or 'no', default is 'no'
;compressLogInBackupDir=
# filename to use for writing the above log file,
# default is '.storeBackup.log'
;logInBackupDirFileName=