[sound] # Turn sound on or off: enabled=True # Select the driver used to play sounds, choices are genericDriver and gstreamerDriver. # Gstreamer is the default. driver=gstreamerDriver #driver=genericDriver # Sound themes. These are the pack of sounds used for sound alerts. # Sound packs may be located at /usr/share/sounds # For system wide availability, or ~/.local/share/fenrirscreenreader/sounds # For the current user. theme=default # Sound volume controls how loud the sounds for your selected soundpack are. # 0 is quietest, 1.0 is loudest. volume=0.7 # shell commands for generic sound driver # the folowing variable are substituted # fenrirVolume = the current volume setting # fenrirSoundFile = the soundfile for an soundicon # fenrirFrequence = the frequency to play # fenrirDuration = the duration of the frequency # the following command is used to play a soundfile generic_play_file_command=play -q -v fenrirVolume fenrirSoundFile #the following command is used to generate a frequency beep generic_frequency_command=play -q -v fenrirVolume -n -c1 synth fenrirDuration sine fenrirFrequence # Enable progress bar monitoring with ascending tones by default progress_monitoring=True [speech] # Turn speech on or off: enabled=True # Select speech driver, options are speechdDriver or genericDriver: driver=speechdDriver #driver=genericDriver # The rate selects how fast Fenrir will speak. Options range from 0, slowest, to 1.0, fastest. rate=0.5 # Pitch controls the pitch of the voice, select from 0, lowest, to 1.0, highest. pitch=0.5 # Pitch for capital letters capital_pitch=0.9 # Volume controls the loudness of the voice, select from 0, quietest, to 1.0, loudest. volume=1.0 # Module is used for Speech-dispatcher, to select the speech module you want to use. # Consult Speech-dispatcher's configuration and help Fenrir find out which modules are available. # The default is specified in speechd.conf. #module=espeak-ng # Voice selects the voice you want to use, for example, en-GB-scotland will use the Scotish English voice in Espeak, # To find out which voices are available, consult the documentation provided with your selected synthesizer. # This also sets the voice used in the generic driver. # You can add a variant by adding +name onto the end. # voice=en-us # Select the language you want Fenrir to use. #language=en # Read new text as it happens? auto_read_incoming=True # Speak individual numbers instead of whole string. read_numbers_as_digits = False # 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. Set the voice variable above. # 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) generic_speech_command=espeak-ng -a fenrir_volume -s fenrir_rate -p fenrir_pitch -v fenrir_voice -- "fenrir_text" # min and max values of the TTS system that is used in generic_speech_command fenrir_min_volume=0 fenrir_max_volume=200 fenrir_min_pitch=0 fenrir_max_pitch=99 fenrir_min_rate=80 fenrir_max_rate=450 [screen] # Screen driver: vcsaDriver (Linux TTY/virtual console), ptyDriver (terminal emulation) driver=vcsaDriver # Text encoding: auto (auto-detect), utf-8, latin1, etc. encoding=auto # Delay in seconds between screen updates (lower = more responsive, higher = less CPU) # Recommended: 0.05 for most systems screen_update_delay=0.05 # TTY number to completely ignore (e.g., 7 for X11/graphical login screen) ignore_screen=7 # Automatically detect and ignore graphical TTYs (X11, Wayland sessions) autodetect_ignore_screen=True [keyboard] driver=evdevDriver # filter input devices NOMICE, ALL or a DEVICE NAME device=ALL # gives Fenrir exclusive access to the keyboard and lets it control keystrokes. grab_devices=True ignore_shortcuts=False # the current shortcut layout located in /etc/fenrirscreenreader/keyboard keyboard_layout=desktop # echo chars while typing. # 0 = None # 1 = always # 2 = only while capslock (not compatible with capslock as fenrir key) char_echo_mode=1 # echo deleted chars char_delete_echo=True # echo word after pressing space word_echo=False # interrupt speech on any keypress interrupt_on_key_press=True # you can filter the keys on that the speech should interrupt (empty = all keys, otherwhise the given keys) interrupt_on_key_press_filter= # timeout for double tap in sec double_tap_timeout=0.2 [general] # Debug levels: 0=DEACTIVE, 1=ERROR, 2=WARNING, 3=INFO (most verbose) # For production use, WARNING (2) provides good balance of useful info without spam debug_level=2 # debugMode sets where the debug output should send to: # debugMode=File writes to debug_file (Default:/tmp/fenrir-PID.log) # debugMode=Print just prints on the screen debug_mode=File debug_file= punctuation_profile=default punctuation_level=some respect_punctuation_pause=True # Replace undefined punctuation with spaces instead of removing them # This improves readability of text with punctuation like [X]mute, IP addresses, etc. replace_undefined_punctuation_with_space=True # Pause speech briefly at newline characters for better readability new_line_pause=True number_of_clipboards=50 # used path for "export_clipboard_to_file" # $user is replaced by username #clipboardExportPath=/home/$user/fenrirClipboard clipboard_export_path=/tmp/fenrirClipboard # Convert text emoticons like :) to descriptive text (e.g., "smiling face") emoticons=True # Define the Fenrir modifier key(s) - used to trigger Fenrir commands # Examples: KEY_KP0 (numpad 0), KEY_META (Super/Windows), KEY_INSERT # Multiple keys: KEY_KP0,KEY_META,KEY_INSERT fenrir_keys=KEY_KP0,KEY_META,KEY_INSERT # Script key - used to execute custom scripts in script_path script_keys=KEY_COMPOSE # Time format using Python strftime codes (https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior) # Default: %%I:%%M%%P (12-hour format, e.g., "06:38pm") # 24-hour format: %%H:%%M (e.g., "18:38") # Common codes: %%I=12hr hour, %%H=24hr hour, %%M=minute, %%S=second, %%P=am/pm lowercase, %%p=AM/PM uppercase time_format=%%I:%%M%%P # Date format using Python strftime codes # Default: %%A, %%B %%d, %%Y (e.g., "Tuesday, December 10, 2024") # ISO format: %%Y-%%m-%%d (e.g., "2024-12-10") # Common codes: %%A=weekday name, %%B=month name, %%d=day, %%Y=year with century, %%m=month number date_format=%%A, %%B %%d, %%Y # Automatically spell check words when reviewing character-by-character auto_spell_check=True # Language for spell checking (format: language_COUNTRY, e.g., en_US, en_GB, es_ES) spell_check_language=en_US # path for your scripts "script_keys" functionality script_path=/usr/share/fenrirscreenreader/scripts # Override default commands or add custom commands without modifying Fenrir installation # Leave empty to use default commands only command_path= # Format string for announcing text attributes (colors, formatting) # Available variables: # fenrirBGColor = the background color # fenrirFGColor = the foreground color # fenrirUnderline = speak the underline attribute # fenrirBold = speak the bold attribute # fenrirBlink = speak the blink attribute # fenrirFont = the font name # fenrirFontSize = the font size attribute_format_string=Background fenrirBGColor,Foreground fenrirFGColor,fenrirUnderline,fenrirBold,fenrirBlink, Font fenrirFont,Fontsize fenrirFontSize # Automatically announce indentation level changes (useful for Python, YAML, etc.) auto_present_indent=False # How to present indentation changes: # 0 = sound and speak (both audio feedback and voice announcement) # 1 = sound only (just play a tone) # 2 = speak only (just voice announcement) auto_present_indent_mode=1 # Play a sound when text attributes (color, bold, etc.) change has_attributes=True # Shell to use for PTY emulation mode (empty = use system default shell) # Examples: /bin/bash, /bin/zsh, /usr/bin/fish shell= [focus] # Follow and announce text cursor position changes cursor=True # Follow and announce highlighted/selected text changes (useful in menus) highlight=False [remote] enable=True # driver # unixDriver = unix sockets # tcpDriver = tcp (localhost only) driver=unixDriver # tcp port port=22447 # socket filepath socket_file= # allow settings to overwrite enable_settings_remote=True # allow commands to be executed enable_command_remote=True [barrier] # Enable barrier detection - automatically detects table/box borders for improved navigation enabled=False # Characters that represent left-side barriers/borders (for table/box detection) left_barriers=│└┌─ # Characters that represent right-side barriers/borders (for table/box detection) right_barriers=│┘┐─ [review] # Announce line breaks during review mode line_break=True # Announce when reaching the end of screen during review end_of_screen=True # Exit review mode when cursor position changes (e.g., when typing) leave_review_on_cursor_change=True # Exit review mode when switching to a different TTY/screen leave_review_on_screen_change=True [promote] # Enable promoting (announcing) important text updates automatically enabled=True # Seconds of inactivity before promoting text updates (prevents spam during active typing) inactive_timeout_sec=120 # Comma-separated list of text patterns to promote when detected # Leave empty to disable pattern-based promotion list= [menu] # Custom path for VMenu (virtual menu) profiles # Leave empty to use default location (/etc/fenrirscreenreader/vmenu-profiles/) vmenu_path= # Quick menu: Semicolon-separated list of settings for rapid adjustment via VMenu # Access with Fenrir+F10, navigate to "Quick Settings" # Format: section#setting;section#setting;... # Supported settings: # - speech#rate, speech#pitch, speech#volume (0.0-1.0) # - speech#module, speech#voice (speechdDriver only, auto-added) # Note: speech#module and speech#voice are automatically added when # speechdDriver is active. Do not add them manually. quick_menu=speech#rate;speech#pitch;speech#volume [prompt] # Custom prompt patterns for silence until prompt feature # You can add your own shell prompt patterns as regular expressions # Each pattern should be on a separate line, format: customPatterns=pattern1,pattern2,pattern3 # # Built-in patterns include: # - Shell prompts: $, #, >, user@host$, [user@host]$, bash-5.1$ # - Package manager prompts: [Y/n], [y/N], [Yes/No], (Y/n), (y/N) # - sudo prompts: [sudo] password for user:, Password:, user's password: # - Confirmation prompts: Press any key, Are you sure?, Please confirm # # Custom pattern examples: # For PS1='[\u@\h \W] \$ ' use: \[.*@.*\s.*\]\s*[$#>]\s* # For "[user@hostname ~] $" use: \[.*@.*\s.*\]\s*[$#>]\s* # For custom prompts ending with specific strings, use patterns like: .*your_prompt_ending$ # For custom package manager prompts: .*your_package_manager.*\[[YyNn]/[YyNn]\].* custom_patterns= # Specific prompt strings to match exactly (useful for very specific custom prompts) # Format: exact_matches=prompt1,prompt2,prompt3 # Examples: # exact_matches=[storm@fenrir ~] $,[root@fenrir ~] #,Continue installation? [Y/n] exact_matches= [time] # Enable automatic time announcements enabled=False # Announce the current time present_time=True # Announce the date (only when it changes, e.g., at midnight) present_date=True # Announce time every N seconds (0 = disabled) # If delay_sec > 0, on_minutes is ignored delay_sec=0 # Announce time at specific minutes of each hour (comma-separated) # Examples: # 00 = Only on the hour (1:00, 2:00, 3:00, etc.) # 00,30 = On the hour and half-hour (1:00, 1:30, 2:00, 2:30, etc.) # 00,15,30,45 = Every 15 minutes # Note: This is ignored if delay_sec > 0 on_minutes=00,30 # Play a sound icon before time announcement (non-interrupting) announce=True # Interrupt current speech to announce time immediately interrupt=False