# Same settings directories as Python Fenrir, with a separate TOML filename. version = 3 [presentation.sound] enabled = true # Driver and theme apply at launch; the Sound form saves these selections. # pulse uses PulseAudio or PipeWire's PulseAudio service; alsa opens a PCM. driver = "pulse" theme = "default" # File-only ALSA PCM name, ignored by pulse. Use plughw:CARD=...,DEV=... for # direct hardware with format conversion; "default" follows ALSA configuration. device = "default" # 0.0 is silent, 1.0 is full volume. Matches Python Fenrir's default. volume = 0.7 [presentation.speech] driver = "speech-dispatcher" # Hardware alternatives: dectalk, dectalk-usb, litetalk, doubletalk, tripletalk. # Serial drivers require an explicit path. Also available in the Speech form. # Driver, port and baud changes apply at launch; Test synthesizer previews them. hardware_device = "" # 0 selects 9600 baud. Native dectalk-usb ignores serial settings. hardware_baud_rate = 0 enabled = true # Shared -100 to 100 scale; hardware drivers map it to native ranges. # 0 is the synthesizer's normal rate. rate = 0 # Empty choices use the server default. Voice names are module-specific. module = "" language = "" voice = "" pitch = 0 volume = 100 # Tone feedback is independent of speech and automatic reading. # Toggle with NumLock-off KP+ (desktop) or Fenrir+Shift+P (laptop). [presentation.progress] enabled = true # Select presets with current examples in Presentation > Time and date. [presentation.time_and_date] time_format = "locale" date_format = "locale" [keyboard] # Window between fresh presses; 1–5000 ms. File-only, applied at launch. multi_press_timeout_ms = 200 # Named layouts live in keyboard/ alongside settings/. Explicit TOML paths work too. layout = "desktop" # Unset uses the layout's Fenrir keys, excluding configured script keys. # The Keyboard tab checkboxes save an explicit selection that overrides the layout. # Saved modifier changes apply when the menu closes and all held keys are released. # Names: KEY_KP0 (NumLock off), KEY_INSERT, KEY_CAPSLOCK, KEY_META (both Super keys). # A physical key cannot serve as both a Fenrir key and a script key. # fenrir_keys = ["KEY_KP0", "KEY_INSERT", "KEY_META"] # Empty discovers all supported keyboards and numeric keypads. devices = [] character_echo = true word_echo = false # Enables character echo while CapsLock is on, even if character_echo is false. echo_on_capslock = false [internal_ui] # Spoken detail in Fenrir-owned grids, such as Emoji and Spellcheck. announce_grid_coordinates = true announce_item_position = true [reading] # Automatic completed-word checking uses the session language and PATH. spellcheck = true spellcheck_read_word = false spellcheck_say_misspelled = false spellcheck_sound = true automatic = true # cursor (default), table, or highlight. Cycle with Fenrir+KP* / Fenrir+Y. mode = "cursor" # Cursor navigation feedback, independent of typing echo. cursor_echo = true punctuation_profile = "default" # none, some, most, all. Character review always names punctuation. punctuation_level = "some" # Whole whitespace-delimited emoticons, matching Python's names/boundaries. emoticons = true # Optional summaries for repeated-symbol tokens, e.g. ##### -> 5 number. # Matching brackets may enclose multiple runs, e.g. [#####-----]. # Only symbols named at the selected punctuation level are summarized. repeated_symbols = false # Minimum run length, 2–10000; default 4 means more than three repeats. repeated_symbols_min = 4 # Independent capital indicators for typing, cursor echo and character review. raise_pitch_for_capitals = true beep_for_capitals = false say_cap_for_capitals = false # Automatic indentation feedback: none, speech, beeps, or both. # Also available through quick settings; explicit Save persists the choice. indentation = "none" # Attribute feedback: none, speech, beeps (presence cue), or both. # Fenrir+KP- temporarily toggles feedback without changing this startup default. attributes = "none" attribute_format = "Background fenrirBGColor,Foreground fenrirFGColor,fenrirUnderline,fenrirBold,fenrirBlink, Font fenrirFont,Fontsize fenrirFontSize" # File-only prompt customization, applied at launch. See docs/prompt-silence.md. # Built-in shell/password/confirmation and Worked-for completion detection stays active. [prompt] exact_matches = [] # Regular expressions; literal TOML strings preserve backslashes. custom_patterns = [] [clipboard] # One sync switch for both -x and console mode. Missing X never stops Fenrir. sync = false # Empty uses DISPLAY; without DISPLAY discover a single local X server. sync_display = "" # Saves unencrypted history in separate TTY/terminal files. Off by default. persistent = false number_of_clipboards = 200 # File import/export use this path. Exports are atomic and private (0600). export_path = "/tmp/fenrirClipboard" # Python Fenrir's existing script paths and filename shortcuts are retained. # The user resource root ~/.local/stormux/fenrir is searched first. [general] script_path = "/usr/share/fenrirscreenreader/scripts" script_keys = ["KEY_COMPOSE"] # File-only runner limits. Zero timeout preserves long-running Python scripts. [scripts] workers = 2 queue_limit = 16 output_bytes = 1048576 timeout_seconds = 0 # Existing socat callers use /tmp/fenrirscreenreader-daemon.sock by default. # An occupied socket is never replaced; choose a separate path for a trial. [remote] enabled = true socket_file = "" enable_command_remote = true enable_settings_remote = true # Review feedback and exit policies; file-only, applied at launch. [review] line_break = true end_of_screen = true leave_review_on_cursor_change = true leave_review_on_screen_change = true # File-only console policy. Ignored VTs release input and skip screen capture. # Applies only to Linux TTY mode; graphical VTs are always released automatically. [screen] ignored_vts = [] # For example [7, 8, 10]; distinct numbers from 1 through 63.