38 lines
1.2 KiB
Go
38 lines
1.2 KiB
Go
// Copyright (c) 2026 Storm Dragon
|
|
// Authors: Storm Dragon, Angus Kola
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
package preferences
|
|
|
|
import (
|
|
"git.stormux.org/storm/cthulhu/internal/braille"
|
|
"git.stormux.org/storm/cthulhu/internal/config"
|
|
"git.stormux.org/storm/cthulhu/internal/input"
|
|
"git.stormux.org/storm/cthulhu/internal/speech"
|
|
)
|
|
|
|
// uiSession lives for one helper window. Only the locked GTK thread in Run
|
|
// accesses these fields; pipe readers deliver immutable responses by channel.
|
|
type uiSession struct {
|
|
progressBar config.ProgressBarSettings
|
|
catalog speech.Catalog
|
|
contractionTables []braille.TableOption
|
|
soundThemes []string
|
|
echoModules []string
|
|
echoFamilies []*config.VoiceFamily
|
|
activeEchoModule string
|
|
speechModules []string
|
|
speechLanguages []string
|
|
speechFamilies []*config.VoiceFamily
|
|
activeSpeechSystem int
|
|
softwareModule string
|
|
hardwareModule string
|
|
activeSpeechModule string
|
|
activeSpeechLanguage string
|
|
voiceDrafts [4]config.Voice
|
|
activeVoiceType int
|
|
bindingDraft []input.BindingOverride
|
|
bindingRows []input.BindingRow
|
|
bindingLayout int
|
|
}
|