wconfig

package
v0.14.4-beta.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 24, 2026 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ConfigKey_AppClear                      = "app:*"
	ConfigKey_AppGlobalHotkey               = "app:globalhotkey"
	ConfigKey_AppDismissArchitectureWarning = "app:dismissarchitecturewarning"
	ConfigKey_AppDefaultNewBlock            = "app:defaultnewblock"
	ConfigKey_AppShowOverlayBlockNums       = "app:showoverlayblocknums"
	ConfigKey_AppCtrlVPaste                 = "app:ctrlvpaste"
	ConfigKey_AppConfirmQuit                = "app:confirmquit"
	ConfigKey_AppHideAiButton               = "app:hideaibutton"
	ConfigKey_AppDisableCtrlShiftArrows     = "app:disablectrlshiftarrows"
	ConfigKey_AppDisableCtrlShiftDisplay    = "app:disablectrlshiftdisplay"
	ConfigKey_AppFocusFollowsCursor         = "app:focusfollowscursor"
	ConfigKey_AppTabBar                     = "app:tabbar"

	ConfigKey_FeatureWaveAppBuilder = "feature:waveappbuilder"

	ConfigKey_AiClear         = "ai:*"
	ConfigKey_AiPreset        = "ai:preset"
	ConfigKey_AiApiType       = "ai:apitype"
	ConfigKey_AiBaseURL       = "ai:baseurl"
	ConfigKey_AiApiToken      = "ai:apitoken"
	ConfigKey_AiName          = "ai:name"
	ConfigKey_AiModel         = "ai:model"
	ConfigKey_AiOrgID         = "ai:orgid"
	ConfigKey_AIApiVersion    = "ai:apiversion"
	ConfigKey_AiMaxTokens     = "ai:maxtokens"
	ConfigKey_AiTimeoutMs     = "ai:timeoutms"
	ConfigKey_AiProxyUrl      = "ai:proxyurl"
	ConfigKey_AiFontSize      = "ai:fontsize"
	ConfigKey_AiFixedFontSize = "ai:fixedfontsize"

	ConfigKey_WaveAiShowCloudModes = "waveai:showcloudmodes"
	ConfigKey_WaveAiDefaultMode    = "waveai:defaultmode"

	ConfigKey_TermClear               = "term:*"
	ConfigKey_TermFontSize            = "term:fontsize"
	ConfigKey_TermFontFamily          = "term:fontfamily"
	ConfigKey_TermTheme               = "term:theme"
	ConfigKey_TermDisableWebGl        = "term:disablewebgl"
	ConfigKey_TermLocalShellPath      = "term:localshellpath"
	ConfigKey_TermLocalShellOpts      = "term:localshellopts"
	ConfigKey_TermGitBashPath         = "term:gitbashpath"
	ConfigKey_TermScrollback          = "term:scrollback"
	ConfigKey_TermCopyOnSelect        = "term:copyonselect"
	ConfigKey_TermTransparency        = "term:transparency"
	ConfigKey_TermAllowBracketedPaste = "term:allowbracketedpaste"
	ConfigKey_TermShiftEnterNewline   = "term:shiftenternewline"
	ConfigKey_TermMacOptionIsMeta     = "term:macoptionismeta"
	ConfigKey_TermCursor              = "term:cursor"
	ConfigKey_TermCursorBlink         = "term:cursorblink"
	ConfigKey_TermBellSound           = "term:bellsound"
	ConfigKey_TermBellIndicator       = "term:bellindicator"
	ConfigKey_TermOsc52               = "term:osc52"
	ConfigKey_TermDurable             = "term:durable"

	ConfigKey_EditorMinimapEnabled      = "editor:minimapenabled"
	ConfigKey_EditorStickyScrollEnabled = "editor:stickyscrollenabled"
	ConfigKey_EditorWordWrap            = "editor:wordwrap"
	ConfigKey_EditorFontSize            = "editor:fontsize"
	ConfigKey_EditorInlineDiff          = "editor:inlinediff"

	ConfigKey_WebClear               = "web:*"
	ConfigKey_WebOpenLinksInternally = "web:openlinksinternally"
	ConfigKey_WebDefaultUrl          = "web:defaulturl"
	ConfigKey_WebDefaultSearch       = "web:defaultsearch"

	ConfigKey_AutoUpdateClear         = "autoupdate:*"
	ConfigKey_AutoUpdateEnabled       = "autoupdate:enabled"
	ConfigKey_AutoUpdateIntervalMs    = "autoupdate:intervalms"
	ConfigKey_AutoUpdateInstallOnQuit = "autoupdate:installonquit"
	ConfigKey_AutoUpdateChannel       = "autoupdate:channel"

	ConfigKey_MarkdownFontSize      = "markdown:fontsize"
	ConfigKey_MarkdownFixedFontSize = "markdown:fixedfontsize"

	ConfigKey_PreviewShowHiddenFiles = "preview:showhiddenfiles"
	ConfigKey_PreviewDefaultSort     = "preview:defaultsort"

	ConfigKey_TabPreset       = "tab:preset"
	ConfigKey_TabConfirmClose = "tab:confirmclose"
	ConfigKey_TabBackground   = "tab:background"

	ConfigKey_WidgetClear    = "widget:*"
	ConfigKey_WidgetShowHelp = "widget:showhelp"

	ConfigKey_WindowClear                         = "window:*"
	ConfigKey_WindowFullscreenOnLaunch            = "window:fullscreenonlaunch"
	ConfigKey_WindowTransparent                   = "window:transparent"
	ConfigKey_WindowBlur                          = "window:blur"
	ConfigKey_WindowOpacity                       = "window:opacity"
	ConfigKey_WindowBgColor                       = "window:bgcolor"
	ConfigKey_WindowReducedMotion                 = "window:reducedmotion"
	ConfigKey_WindowTileGapSize                   = "window:tilegapsize"
	ConfigKey_WindowShowMenuBar                   = "window:showmenubar"
	ConfigKey_WindowNativeTitleBar                = "window:nativetitlebar"
	ConfigKey_WindowDisableHardwareAcceleration   = "window:disablehardwareacceleration"
	ConfigKey_WindowMaxTabCacheSize               = "window:maxtabcachesize"
	ConfigKey_WindowMagnifiedBlockOpacity         = "window:magnifiedblockopacity"
	ConfigKey_WindowMagnifiedBlockSize            = "window:magnifiedblocksize"
	ConfigKey_WindowMagnifiedBlockBlurPrimaryPx   = "window:magnifiedblockblurprimarypx"
	ConfigKey_WindowMagnifiedBlockBlurSecondaryPx = "window:magnifiedblockblursecondarypx"
	ConfigKey_WindowConfirmClose                  = "window:confirmclose"
	ConfigKey_WindowSaveLastWindow                = "window:savelastwindow"
	ConfigKey_WindowDimensions                    = "window:dimensions"
	ConfigKey_WindowZoom                          = "window:zoom"

	ConfigKey_TelemetryClear   = "telemetry:*"
	ConfigKey_TelemetryEnabled = "telemetry:enabled"

	ConfigKey_ConnClear                = "conn:*"
	ConfigKey_ConnAskBeforeWshInstall  = "conn:askbeforewshinstall"
	ConfigKey_ConnWshEnabled           = "conn:wshenabled"
	ConfigKey_ConnLocalHostnameDisplay = "conn:localhostdisplayname"

	ConfigKey_DebugClear               = "debug:*"
	ConfigKey_DebugPprofPort           = "debug:pprofport"
	ConfigKey_DebugPprofMemProfileRate = "debug:pprofmemprofilerate"
	ConfigKey_DebugWebGlStatus         = "debug:webglstatus"

	ConfigKey_TsunamiClear          = "tsunami:*"
	ConfigKey_TsunamiScaffoldPath   = "tsunami:scaffoldpath"
	ConfigKey_TsunamiSdkReplacePath = "tsunami:sdkreplacepath"
	ConfigKey_TsunamiSdkVersion     = "tsunami:sdkversion"
	ConfigKey_TsunamiGoPath         = "tsunami:gopath"
)
View Source
const AnySchema = `
{
  "type": "object",
  "additionalProperties": true
}
`
View Source
const ConnectionsFile = "connections.json"
View Source
const ProfilesFile = "profiles.json"
View Source
const SettingsFile = "settings.json"

Variables

This section is empty.

Functions

func CountCustomSettings added in v0.11.5

func CountCustomSettings() int

CountCustomSettings returns the number of settings in the user's settings file. This excludes telemetry:enabled and autoupdate:channel which don't count as customizations.

func DefaultBoolPtr added in v0.11.0

func DefaultBoolPtr(arg *bool, def bool) bool

func GetConfigSubdirs added in v0.9.0

func GetConfigSubdirs() []string

func MigratePresetsBackgrounds added in v0.14.4

func MigratePresetsBackgrounds()

func SetBaseConfigValue

func SetBaseConfigValue(toMerge waveobj.MetaMapType) error

func SetConnectionsConfigValue added in v0.10.0

func SetConnectionsConfigValue(connName string, toMerge waveobj.MetaMapType) error

func SortFileNameDescend added in v0.9.0

func SortFileNameDescend(files []fs.DirEntry)

func WriteWaveHomeConfigFile

func WriteWaveHomeConfigFile(fileName string, m waveobj.MetaMapType) error

Types

type AIModeConfigType added in v0.13.0

type AIModeConfigType struct {
	DisplayName        string   `json:"display:name"`
	DisplayOrder       float64  `json:"display:order,omitempty"`
	DisplayIcon        string   `json:"display:icon,omitempty"`
	DisplayDescription string   `json:"display:description,omitempty"`
	Provider           string   `` /* 155-byte string literal not displayed */
	APIType            string   `json:"ai:apitype,omitempty" jsonschema:"enum=google-gemini,enum=openai-responses,enum=openai-chat"`
	Model              string   `json:"ai:model,omitempty"`
	ThinkingLevel      string   `json:"ai:thinkinglevel,omitempty" jsonschema:"enum=low,enum=medium,enum=high"`
	Verbosity          string   `` /* 134-byte string literal not displayed */
	Endpoint           string   `json:"ai:endpoint,omitempty"`
	ProxyURL           string   `json:"ai:proxyurl,omitempty"`
	AzureAPIVersion    string   `json:"ai:azureapiversion,omitempty"`
	APIToken           string   `json:"ai:apitoken,omitempty"`
	APITokenSecretName string   `json:"ai:apitokensecretname,omitempty"`
	AzureResourceName  string   `json:"ai:azureresourcename,omitempty"`
	AzureDeployment    string   `json:"ai:azuredeployment,omitempty"`
	Capabilities       []string `json:"ai:capabilities,omitempty" jsonschema:"enum=pdfs,enum=images,enum=tools"`
	SwitchCompat       []string `json:"ai:switchcompat,omitempty"`
	WaveAICloud        bool     `json:"waveai:cloud,omitempty"`
	WaveAIPremium      bool     `json:"waveai:premium,omitempty"`
}

Wave AI panel mode configuration (NEW)

type AIModeConfigUpdate added in v0.13.0

type AIModeConfigUpdate struct {
	Configs map[string]AIModeConfigType `json:"configs"`
}

type AiSettingsType added in v0.11.1

type AiSettingsType struct {
	AiClear         bool    `json:"ai:*,omitempty"`
	AiPreset        string  `json:"ai:preset,omitempty"`
	AiApiType       string  `json:"ai:apitype,omitempty"`
	AiBaseURL       string  `json:"ai:baseurl,omitempty"`
	AiApiToken      string  `json:"ai:apitoken,omitempty"`
	AiName          string  `json:"ai:name,omitempty"`
	AiModel         string  `json:"ai:model,omitempty"`
	AiOrgID         string  `json:"ai:orgid,omitempty"`
	AIApiVersion    string  `json:"ai:apiversion,omitempty"`
	AiMaxTokens     float64 `json:"ai:maxtokens,omitempty"`
	AiTimeoutMs     float64 `json:"ai:timeoutms,omitempty"`
	AiProxyUrl      string  `json:"ai:proxyurl,omitempty"`
	AiFontSize      float64 `json:"ai:fontsize,omitempty"`
	AiFixedFontSize float64 `json:"ai:fixedfontsize,omitempty"`
	DisplayName     string  `json:"display:name,omitempty"`
	DisplayOrder    float64 `json:"display:order,omitempty"`
}

old AI Widget presets (deprecated)

func MergeAiSettings added in v0.11.5

func MergeAiSettings(settings ...*AiSettingsType) *AiSettingsType

type BackgroundConfigType added in v0.14.4

type BackgroundConfigType struct {
	Bg                  string  `json:"bg,omitempty" jsonschema_description:"CSS background property value"`
	BgOpacity           float64 `json:"bg:opacity,omitempty" jsonschema_description:"Background opacity (0.0-1.0)"`
	BgBlendMode         string  `json:"bg:blendmode,omitempty" jsonschema_description:"CSS background-blend-mode property value"`
	BgBorderColor       string  `json:"bg:bordercolor,omitempty" jsonschema_description:"Block frame border color"`
	BgActiveBorderColor string  `json:"bg:activebordercolor,omitempty" jsonschema_description:"Block frame focused border color"`
	DisplayName         string  `json:"display:name" jsonschema_description:"The name shown in the context menu"`
	DisplayOrder        float64 `json:"display:order,omitempty" jsonschema_description:"Determines the order of the background in the context menu"`
}

type ConfigError

type ConfigError struct {
	File string `json:"file"`
	Err  string `json:"err"`
}

func ReadDefaultsConfigFile

func ReadDefaultsConfigFile(fileName string) (waveobj.MetaMapType, []ConfigError)

func ReadWaveHomeConfigFile

func ReadWaveHomeConfigFile(fileName string) (waveobj.MetaMapType, []ConfigError)

type ConfigUpdateHandler added in v0.13.0

type ConfigUpdateHandler func(FullConfigType)

type ConnKeywords added in v0.11.0

type ConnKeywords struct {
	ConnWshEnabled          *bool  `json:"conn:wshenabled,omitempty"`
	ConnAskBeforeWshInstall *bool  `json:"conn:askbeforewshinstall,omitempty"`
	ConnWshPath             string `json:"conn:wshpath,omitempty"`
	ConnShellPath           string `json:"conn:shellpath,omitempty"`
	ConnIgnoreSshConfig     *bool  `json:"conn:ignoresshconfig,omitempty"`

	DisplayHidden *bool   `json:"display:hidden,omitempty"`
	DisplayOrder  float32 `json:"display:order,omitempty"`

	TermClear      bool    `json:"term:*,omitempty"`
	TermFontSize   float64 `json:"term:fontsize,omitempty"`
	TermFontFamily string  `json:"term:fontfamily,omitempty"`
	TermTheme      string  `json:"term:theme,omitempty"`
	TermDurable    *bool   `json:"term:durable,omitempty"`

	CmdEnv            map[string]string `json:"cmd:env,omitempty"`
	CmdInitScript     string            `json:"cmd:initscript,omitempty"`
	CmdInitScriptSh   string            `json:"cmd:initscript.sh,omitempty"`
	CmdInitScriptBash string            `json:"cmd:initscript.bash,omitempty"`
	CmdInitScriptZsh  string            `json:"cmd:initscript.zsh,omitempty"`
	CmdInitScriptPwsh string            `json:"cmd:initscript.pwsh,omitempty"`
	CmdInitScriptFish string            `json:"cmd:initscript.fish,omitempty"`

	SshUser                         *string  `json:"ssh:user,omitempty"`
	SshHostName                     *string  `json:"ssh:hostname,omitempty"`
	SshPort                         *string  `json:"ssh:port,omitempty"`
	SshIdentityFile                 []string `json:"ssh:identityfile,omitempty"`
	SshPasswordSecretName           *string  `json:"ssh:passwordsecretname,omitempty"`
	SshBatchMode                    *bool    `json:"ssh:batchmode,omitempty"`
	SshPubkeyAuthentication         *bool    `json:"ssh:pubkeyauthentication,omitempty"`
	SshPasswordAuthentication       *bool    `json:"ssh:passwordauthentication,omitempty"`
	SshKbdInteractiveAuthentication *bool    `json:"ssh:kbdinteractiveauthentication,omitempty"`
	SshPreferredAuthentications     []string `json:"ssh:preferredauthentications,omitempty"`
	SshAddKeysToAgent               *bool    `json:"ssh:addkeystoagent,omitempty"`
	SshIdentityAgent                *string  `json:"ssh:identityagent,omitempty"`
	SshIdentitiesOnly               *bool    `json:"ssh:identitiesonly,omitempty"`
	SshProxyJump                    []string `json:"ssh:proxyjump,omitempty"`
	SshUserKnownHostsFile           []string `json:"ssh:userknownhostsfile,omitempty"`
	SshGlobalKnownHostsFile         []string `json:"ssh:globalknownhostsfile,omitempty"`
}

type FullConfigType

type FullConfigType struct {
	Settings       SettingsType                    `json:"settings" merge:"meta"`
	MimeTypes      map[string]MimeTypeConfigType   `json:"mimetypes"`
	DefaultWidgets map[string]WidgetConfigType     `json:"defaultwidgets"`
	Widgets        map[string]WidgetConfigType     `json:"widgets"`
	Presets        map[string]waveobj.MetaMapType  `json:"presets"`
	Backgrounds    map[string]BackgroundConfigType `json:"backgrounds"`
	TermThemes     map[string]TermThemeType        `json:"termthemes"`
	Connections    map[string]ConnKeywords         `json:"connections"`
	Bookmarks      map[string]WebBookmark          `json:"bookmarks"`
	WaveAIModes    map[string]AIModeConfigType     `json:"waveai"`
	ConfigErrors   []ConfigError                   `json:"configerrors" configfile:"-"`
}

func ReadFullConfig

func ReadFullConfig() FullConfigType

this function should only be called by the wconfig code. in golang code, the best way to get the current config is via the watcher -- wconfig.GetWatcher().GetFullConfig()

func (*FullConfigType) CountCustomAIModes added in v0.13.0

func (fc *FullConfigType) CountCustomAIModes() int

CountCustomAIModes returns the number of custom AI modes the user has defined. Custom AI modes are identified as modes that don't start with "waveai@".

func (*FullConfigType) CountCustomAIPresets added in v0.11.5

func (fc *FullConfigType) CountCustomAIPresets() int

CountCustomAIPresets returns the number of custom AI presets the user has defined. Custom AI presets are identified as presets that start with "ai@" but aren't "ai@global" or "ai@wave".

func (*FullConfigType) CountCustomWidgets added in v0.11.5

func (fc *FullConfigType) CountCustomWidgets() int

CountCustomWidgets returns the number of custom widgets the user has defined. Custom widgets are identified as widgets whose ID doesn't start with "defwidget@".

type MimeTypeConfigType

type MimeTypeConfigType struct {
	Icon  string `json:"icon"`
	Color string `json:"color"`
}

type SettingsType

type SettingsType struct {
	AppClear                      bool   `json:"app:*,omitempty"`
	AppGlobalHotkey               string `json:"app:globalhotkey,omitempty"`
	AppDismissArchitectureWarning bool   `json:"app:dismissarchitecturewarning,omitempty"`
	AppDefaultNewBlock            string `json:"app:defaultnewblock,omitempty"`
	AppShowOverlayBlockNums       *bool  `json:"app:showoverlayblocknums,omitempty"`
	AppCtrlVPaste                 *bool  `json:"app:ctrlvpaste,omitempty"`
	AppConfirmQuit                *bool  `json:"app:confirmquit,omitempty"`
	AppHideAiButton               bool   `json:"app:hideaibutton,omitempty"`
	AppDisableCtrlShiftArrows     bool   `json:"app:disablectrlshiftarrows,omitempty"`
	AppDisableCtrlShiftDisplay    bool   `json:"app:disablectrlshiftdisplay,omitempty"`
	AppFocusFollowsCursor         string `json:"app:focusfollowscursor,omitempty" jsonschema:"enum=off,enum=on,enum=term"`
	AppTabBar                     string `json:"app:tabbar,omitempty" jsonschema:"enum=top,enum=left"`

	FeatureWaveAppBuilder bool `json:"feature:waveappbuilder,omitempty"`

	AiClear         bool    `json:"ai:*,omitempty"`
	AiPreset        string  `json:"ai:preset,omitempty"`
	AiApiType       string  `json:"ai:apitype,omitempty"`
	AiBaseURL       string  `json:"ai:baseurl,omitempty"`
	AiApiToken      string  `json:"ai:apitoken,omitempty"`
	AiName          string  `json:"ai:name,omitempty"`
	AiModel         string  `json:"ai:model,omitempty"`
	AiOrgID         string  `json:"ai:orgid,omitempty"`
	AIApiVersion    string  `json:"ai:apiversion,omitempty"`
	AiMaxTokens     float64 `json:"ai:maxtokens,omitempty"`
	AiTimeoutMs     float64 `json:"ai:timeoutms,omitempty"`
	AiProxyUrl      string  `json:"ai:proxyurl,omitempty"`
	AiFontSize      float64 `json:"ai:fontsize,omitempty"`
	AiFixedFontSize float64 `json:"ai:fixedfontsize,omitempty"`

	WaveAiShowCloudModes bool   `json:"waveai:showcloudmodes,omitempty"`
	WaveAiDefaultMode    string `json:"waveai:defaultmode,omitempty"`

	TermClear               bool     `json:"term:*,omitempty"`
	TermFontSize            float64  `json:"term:fontsize,omitempty"`
	TermFontFamily          string   `json:"term:fontfamily,omitempty"`
	TermTheme               string   `json:"term:theme,omitempty"`
	TermDisableWebGl        bool     `json:"term:disablewebgl,omitempty"`
	TermLocalShellPath      string   `json:"term:localshellpath,omitempty"`
	TermLocalShellOpts      []string `json:"term:localshellopts,omitempty"`
	TermGitBashPath         string   `json:"term:gitbashpath,omitempty"`
	TermScrollback          *int64   `json:"term:scrollback,omitempty"`
	TermCopyOnSelect        *bool    `json:"term:copyonselect,omitempty"`
	TermTransparency        *float64 `json:"term:transparency,omitempty"`
	TermAllowBracketedPaste *bool    `json:"term:allowbracketedpaste,omitempty"`
	TermShiftEnterNewline   *bool    `json:"term:shiftenternewline,omitempty"`
	TermMacOptionIsMeta     *bool    `json:"term:macoptionismeta,omitempty"`
	TermCursor              string   `json:"term:cursor,omitempty"`
	TermCursorBlink         *bool    `json:"term:cursorblink,omitempty"`
	TermBellSound           *bool    `json:"term:bellsound,omitempty"`
	TermBellIndicator       *bool    `json:"term:bellindicator,omitempty"`
	TermOsc52               string   `json:"term:osc52,omitempty" jsonschema:"enum=focus,enum=always"`
	TermDurable             *bool    `json:"term:durable,omitempty"`

	EditorMinimapEnabled      bool    `json:"editor:minimapenabled,omitempty"`
	EditorStickyScrollEnabled bool    `json:"editor:stickyscrollenabled,omitempty"`
	EditorWordWrap            bool    `json:"editor:wordwrap,omitempty"`
	EditorFontSize            float64 `json:"editor:fontsize,omitempty"`
	EditorInlineDiff          bool    `json:"editor:inlinediff,omitempty"`

	WebClear               bool   `json:"web:*,omitempty"`
	WebOpenLinksInternally bool   `json:"web:openlinksinternally,omitempty"`
	WebDefaultUrl          string `json:"web:defaulturl,omitempty"`
	WebDefaultSearch       string `json:"web:defaultsearch,omitempty"`

	AutoUpdateClear         bool    `json:"autoupdate:*,omitempty"`
	AutoUpdateEnabled       bool    `json:"autoupdate:enabled,omitempty"`
	AutoUpdateIntervalMs    float64 `json:"autoupdate:intervalms,omitempty"`
	AutoUpdateInstallOnQuit bool    `json:"autoupdate:installonquit,omitempty"`
	AutoUpdateChannel       string  `json:"autoupdate:channel,omitempty"`

	MarkdownFontSize      float64 `json:"markdown:fontsize,omitempty"`
	MarkdownFixedFontSize float64 `json:"markdown:fixedfontsize,omitempty"`

	PreviewShowHiddenFiles *bool  `json:"preview:showhiddenfiles,omitempty"`
	PreviewDefaultSort     string `json:"preview:defaultsort,omitempty" jsonschema:"enum=name,enum=modtime"`

	TabPreset       string `json:"tab:preset,omitempty"`
	TabConfirmClose bool   `json:"tab:confirmclose,omitempty"`
	TabBackground   string `json:"tab:background,omitempty"`

	WidgetClear    bool  `json:"widget:*,omitempty"`
	WidgetShowHelp *bool `json:"widget:showhelp,omitempty"`

	WindowClear                         bool     `json:"window:*,omitempty"`
	WindowFullscreenOnLaunch            bool     `json:"window:fullscreenonlaunch,omitempty"`
	WindowTransparent                   bool     `json:"window:transparent,omitempty"`
	WindowBlur                          bool     `json:"window:blur,omitempty"`
	WindowOpacity                       *float64 `json:"window:opacity,omitempty"`
	WindowBgColor                       string   `json:"window:bgcolor,omitempty"`
	WindowReducedMotion                 bool     `json:"window:reducedmotion,omitempty"`
	WindowTileGapSize                   *int64   `json:"window:tilegapsize,omitempty"`
	WindowShowMenuBar                   bool     `json:"window:showmenubar,omitempty"`
	WindowNativeTitleBar                bool     `json:"window:nativetitlebar,omitempty"`
	WindowDisableHardwareAcceleration   bool     `json:"window:disablehardwareacceleration,omitempty"`
	WindowMaxTabCacheSize               int      `json:"window:maxtabcachesize,omitempty"`
	WindowMagnifiedBlockOpacity         *float64 `json:"window:magnifiedblockopacity,omitempty"`
	WindowMagnifiedBlockSize            *float64 `json:"window:magnifiedblocksize,omitempty"`
	WindowMagnifiedBlockBlurPrimaryPx   *int64   `json:"window:magnifiedblockblurprimarypx,omitempty"`
	WindowMagnifiedBlockBlurSecondaryPx *int64   `json:"window:magnifiedblockblursecondarypx,omitempty"`
	WindowConfirmClose                  bool     `json:"window:confirmclose,omitempty"`
	WindowSaveLastWindow                bool     `json:"window:savelastwindow,omitempty"`
	WindowDimensions                    string   `json:"window:dimensions,omitempty"`
	WindowZoom                          *float64 `json:"window:zoom,omitempty"`

	TelemetryClear   bool `json:"telemetry:*,omitempty"`
	TelemetryEnabled bool `json:"telemetry:enabled,omitempty"`

	ConnClear                bool    `json:"conn:*,omitempty"`
	ConnAskBeforeWshInstall  *bool   `json:"conn:askbeforewshinstall,omitempty"`
	ConnWshEnabled           bool    `json:"conn:wshenabled,omitempty"`
	ConnLocalHostnameDisplay *string `json:"conn:localhostdisplayname,omitempty"`

	DebugClear               bool `json:"debug:*,omitempty"`
	DebugPprofPort           *int `json:"debug:pprofport,omitempty"`
	DebugPprofMemProfileRate *int `json:"debug:pprofmemprofilerate,omitempty"`
	DebugWebGlStatus         bool `json:"debug:webglstatus,omitempty"`

	TsunamiClear          bool   `json:"tsunami:*,omitempty"`
	TsunamiScaffoldPath   string `json:"tsunami:scaffoldpath,omitempty"`
	TsunamiSdkReplacePath string `json:"tsunami:sdkreplacepath,omitempty"`
	TsunamiSdkVersion     string `json:"tsunami:sdkversion,omitempty"`
	TsunamiGoPath         string `json:"tsunami:gopath,omitempty"`
}

func (*SettingsType) GetAiSettings added in v0.11.5

func (s *SettingsType) GetAiSettings() *AiSettingsType

type TermThemeType

type TermThemeType struct {
	DisplayName         string  `json:"display:name"`
	DisplayOrder        float64 `json:"display:order"`
	Black               string  `json:"black"`
	Red                 string  `json:"red"`
	Green               string  `json:"green"`
	Yellow              string  `json:"yellow"`
	Blue                string  `json:"blue"`
	Magenta             string  `json:"magenta"`
	Cyan                string  `json:"cyan"`
	White               string  `json:"white"`
	BrightBlack         string  `json:"brightBlack"`
	BrightRed           string  `json:"brightRed"`
	BrightGreen         string  `json:"brightGreen"`
	BrightYellow        string  `json:"brightYellow"`
	BrightBlue          string  `json:"brightBlue"`
	BrightMagenta       string  `json:"brightMagenta"`
	BrightCyan          string  `json:"brightCyan"`
	BrightWhite         string  `json:"brightWhite"`
	Gray                string  `json:"gray"`
	CmdText             string  `json:"cmdtext"`
	Foreground          string  `json:"foreground"`
	SelectionBackground string  `json:"selectionBackground"`
	Background          string  `json:"background"`
	Cursor              string  `json:"cursor"`
}

type Watcher

type Watcher struct {
	// contains filtered or unexported fields
}

func GetWatcher

func GetWatcher() *Watcher

GetWatcher returns the singleton instance of the Watcher

func (*Watcher) Close

func (w *Watcher) Close()

func (*Watcher) GetFullConfig

func (w *Watcher) GetFullConfig() FullConfigType

func (*Watcher) RegisterUpdateHandler added in v0.13.0

func (w *Watcher) RegisterUpdateHandler(handler ConfigUpdateHandler)

func (*Watcher) Start

func (w *Watcher) Start()

type WatcherUpdate

type WatcherUpdate struct {
	FullConfig FullConfigType `json:"fullconfig"`
}

type WebBookmark added in v0.11.1

type WebBookmark struct {
	Url          string  `json:"url"`
	Title        string  `json:"title,omitempty"`
	Icon         string  `json:"icon,omitempty"`
	IconColor    string  `json:"iconcolor,omitempty"`
	IconUrl      string  `json:"iconurl,omitempty"`
	DisplayOrder float64 `json:"display:order,omitempty"`
}

type WidgetConfigType

type WidgetConfigType struct {
	DisplayOrder  float64          `json:"display:order,omitempty"`
	DisplayHidden bool             `json:"display:hidden,omitempty"`
	Icon          string           `json:"icon,omitempty"`
	Color         string           `json:"color,omitempty"`
	Label         string           `json:"label,omitempty"`
	Description   string           `json:"description,omitempty"`
	Workspaces    []string         `json:"workspaces,omitempty"`
	Magnified     bool             `json:"magnified,omitempty"`
	BlockDef      waveobj.BlockDef `json:"blockdef"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL