Fix View Options popup not responding to clicks

Remove duplicate popup rendering from render_vertical_tabs_panel.
The popup was rendered both inside the panel's stack AND at the
workspace level in a Dismiss overlay, causing event dispatch conflicts
due to shared MouseStateHandle instances between the two identical
popup trees.
This commit is contained in:
Ryan Ward
2026-06-23 15:28:59 -05:00
parent 5ea378a38d
commit 148c97eab1
49 changed files with 1507 additions and 419 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
use galaxyui::accessibility::AccessibilityVerbosity;
use settings::{
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
};
define_settings_group!(AccessibilitySettings, settings: [
@@ -8,7 +8,7 @@ define_settings_group!(AccessibilitySettings, settings: [
type: AccessibilityVerbosity,
default: AccessibilityVerbosity::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
storage_key: "AccessibilityVerbosity",
toml_path: "accessibility.accessibility_verbosity",
+81 -77
View File
@@ -25,7 +25,7 @@ use regex::Regex;
use galaxy_core::execution_mode::AppExecutionMode;
use galaxy_core::features::FeatureFlag;
use settings::{
define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
define_settings_group, Setting, SupportedPlatforms, SyncToCloud,
};
use serde::{de::Deserializer, Deserialize, Serialize};
@@ -311,7 +311,7 @@ settings::macros::implement_setting_for_enum!(
DefaultSessionMode,
AISettings,
SupportedPlatforms::ALL,
SyncToCloud::Globally(RespectUserSyncSetting::Yes),
SyncToCloud::Never,
private: false,
toml_path: "general.default_session_mode",
description: "The default mode for new terminal sessions.",
@@ -361,7 +361,7 @@ settings::macros::implement_setting_for_enum!(
ThinkingDisplayMode,
AISettings,
SupportedPlatforms::ALL,
SyncToCloud::Globally(RespectUserSyncSetting::Yes),
SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.other.thinking_display_mode",
description: "Controls how agent thinking traces are displayed after streaming.",
@@ -422,7 +422,7 @@ settings::macros::implement_setting_for_enum!(
BedrockAuthMethod,
AISettings,
SupportedPlatforms::DESKTOP,
SyncToCloud::Globally(RespectUserSyncSetting::Yes),
SyncToCloud::Never,
private: false,
toml_path: "ai.bedrock.auth_method",
description: "Authentication method for AWS Bedrock.",
@@ -825,7 +825,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::No),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.is_any_ai_enabled",
description: "Controls whether all AI features are enabled.",
@@ -836,7 +836,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::No),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.active_ai.enabled",
description: "Controls whether proactive AI features like suggestions are enabled.",
@@ -847,7 +847,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.input.ai_auto_detection_enabled",
description: "Controls whether AI automatically detects natural language input.",
@@ -861,7 +861,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.input.nld_in_terminal_enabled",
description: "Controls whether natural language detection is enabled in the terminal input.",
@@ -870,7 +870,7 @@ define_settings_group!(AISettings, settings: [
type: String,
default: String::new(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.input.ai_command_denylist",
description: "Commands to exclude from AI natural language autodetection.",
@@ -882,7 +882,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.input.use_local_model",
description: "Use a locally downloaded AI model for command recognition and suggestions instead of Bedrock.",
@@ -893,7 +893,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true, // TODO(roland): revisit this when launched to stable
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.active_ai.intelligent_autosuggestions_enabled",
description: "Controls whether AI-powered intelligent autosuggestions are enabled.",
@@ -907,7 +907,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true, // TODO(advait): revisit this when launched to stable
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.active_ai.agent_mode_query_suggestions_enabled",
description: "Controls whether prompt suggestions are shown in agent mode.",
@@ -919,7 +919,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.active_ai.code_suggestions_enabled",
description: "Controls whether AI code suggestions are enabled.",
@@ -931,7 +931,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.active_ai.natural_language_autosuggestions_enabled",
description: "Controls whether ghosted text autosuggestions are shown for AI input queries.",
@@ -944,7 +944,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.active_ai.shared_block_title_generation_enabled",
description: "Controls whether titles are auto-generated when sharing blocks.",
@@ -955,7 +955,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.active_ai.git_operations_autogen_enabled",
description: "Controls whether AI auto-generates commit messages and PR title/body in the code review dialogs.",
@@ -966,7 +966,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.active_ai.rule_suggestions_enabled",
description: "Controls whether the agent suggests rules to save after responses.",
@@ -978,7 +978,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.voice.voice_input_enabled",
description: "Controls whether voice input is enabled for AI interactions.",
@@ -990,7 +990,7 @@ define_settings_group!(AISettings, settings: [
type: usize,
default: 0,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
// Whether or not the user has manually dismissed the voice input new feature popup.
@@ -998,7 +998,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
// This field is used to store the key used for voice input toggling.
@@ -1011,8 +1011,8 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::DESKTOP,
// Never sync to cloud to keep state separate across devices, since microphone access is per-device.
sync_to_cloud: SyncToCloud::Never,
sync_to_cloud: SyncToCloud::Never, // Never sync to cloud to keep state separate across devices, since microphone access is per-device.
private: true,
},
// Predicates that Agent Mode can use to decide if it can execute
@@ -1024,7 +1024,7 @@ define_settings_group!(AISettings, settings: [
type: Vec<AgentModeCommandExecutionPredicate>,
default: DEFAULT_COMMAND_EXECUTION_ALLOWLIST.clone(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.profiles.agent_mode_command_execution_allowlist",
description: "Commands that the agent can execute without explicit permission.",
@@ -1038,7 +1038,7 @@ define_settings_group!(AISettings, settings: [
type: Vec<AgentModeCommandExecutionPredicate>,
default: DEFAULT_COMMAND_EXECUTION_DENYLIST.clone(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.profiles.agent_mode_command_execution_denylist",
description: "Commands that the agent must always ask before executing.",
@@ -1051,7 +1051,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.profiles.agent_mode_execute_readonly_commands",
description: "Whether the agent can auto-execute read-only commands without asking.",
@@ -1066,7 +1066,7 @@ define_settings_group!(AISettings, settings: [
type: AgentModeCodingPermissionsType,
default: AgentModeCodingPermissionsType::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.profiles.agent_mode_coding_permissions",
description: "The file read permission level for the agent.",
@@ -1082,7 +1082,7 @@ define_settings_group!(AISettings, settings: [
type: Vec<PathBuf>,
default: vec![],
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Never,
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.profiles.agent_mode_coding_file_read_allowlist",
description: "File paths the agent can read without asking for permission.",
@@ -1095,7 +1095,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
}
// Whether or not we should show the speedbump for auto-executing readonly cmds.
@@ -1106,7 +1106,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
}
// Whether or not we should show the speedbump for auto-writing to the PTY.
@@ -1117,7 +1117,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
}
// Whether or not we should show the speedbump for auto-reading files.
@@ -1128,7 +1128,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
}
// Whether direct Bedrock integration is enabled (client calls Bedrock API directly).
@@ -1136,7 +1136,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "ai.bedrock.enabled",
description: "Whether to use AWS Bedrock directly for AI requests.",
@@ -1148,7 +1148,7 @@ define_settings_group!(AISettings, settings: [
type: String,
default: "default".to_string(),
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "ai.bedrock.profile",
description: "The AWS profile name to use for Bedrock credentials.",
@@ -1158,7 +1158,7 @@ define_settings_group!(AISettings, settings: [
type: String,
default: String::new(),
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "ai.bedrock.region",
description: "AWS region for Bedrock API calls. Leave empty to auto-detect from profile.",
@@ -1168,7 +1168,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "ai.bedrock.cross_region_inference",
description: "Whether to automatically add cross-region inference prefixes to model IDs.",
@@ -1178,7 +1178,7 @@ define_settings_group!(AISettings, settings: [
type: Vec<BedrockModelConfig>,
default: Vec::new(),
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "ai.bedrock.models",
description: "Custom AWS Bedrock model configurations.",
@@ -1188,7 +1188,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "ai.bedrock.auto_login",
description: "Whether to automatically run the login command when Bedrock credentials expire.",
@@ -1198,7 +1198,7 @@ define_settings_group!(AISettings, settings: [
type: String,
default: "aws sso login".to_string(),
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "ai.bedrock.auth_refresh_command",
description: "The command to run to refresh AWS credentials for Bedrock.",
@@ -1208,7 +1208,7 @@ define_settings_group!(AISettings, settings: [
type: String,
default: String::new(),
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Never,
sync_to_cloud: SyncToCloud::Never,
private: true,
}
// AWS secret access key for static key authentication (stored in OS keychain).
@@ -1216,7 +1216,7 @@ define_settings_group!(AISettings, settings: [
type: String,
default: String::new(),
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Never,
sync_to_cloud: SyncToCloud::Never,
private: true,
}
// Whether the Bedrock login banner has been permanently dismissed.
@@ -1224,7 +1224,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
}
// Whether the OpenAI-compatible (LiteLLM) provider is enabled.
@@ -1232,17 +1232,18 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "ai.openai.enabled",
description: "Whether to use an OpenAI-compatible endpoint (e.g. LiteLLM) for AI requests.",
}
// Base URL for the OpenAI-compatible API endpoint.
// Never synced — machine-local infrastructure (e.g. localhost).
openai_base_url: OpenAIBaseUrl {
type: String,
default: "http://localhost:4000/v1".to_string(),
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "ai.openai.base_url",
description: "Base URL for the OpenAI-compatible API endpoint (e.g. LiteLLM proxy).",
@@ -1252,38 +1253,41 @@ define_settings_group!(AISettings, settings: [
type: String,
default: String::new(),
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Never,
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "ai.openai.api_key",
description: "API key for the OpenAI-compatible endpoint (optional if proxy handles auth).",
}
// Model name to send to the OpenAI-compatible endpoint. Empty = use selected model ID.
// Never synced — tied to the specific endpoint configuration.
openai_model: OpenAIModel {
type: String,
default: String::new(),
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "ai.openai.model",
description: "Model name to send to the OpenAI-compatible endpoint. Leave empty to use the selected model ID.",
}
// Custom OpenAI-compatible model configurations (fetched from LiteLLM or manually configured).
// Never synced to cloud — these are machine-local (tied to local endpoints).
openai_models: OpenAIModels {
type: Vec<OpenAIModelConfig>,
default: Vec::new(),
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "ai.openai.models",
description: "Custom OpenAI-compatible model configurations (e.g. from LiteLLM).",
}
// Multiple OpenAI-compatible provider endpoints (LiteLLM, Ollama, vLLM, etc.).
// Each provider has its own name, base_url, api_key, and model list.
// Never synced to cloud — these are machine-local infrastructure configs.
openai_providers: OpenAIProviders {
type: Vec<OpenAIProviderConfig>,
default: Vec::new(),
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "ai.providers",
description: "Multiple OpenAI-compatible provider endpoints (e.g. LiteLLM, Ollama, local models).",
@@ -1293,7 +1297,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.knowledge.rules_enabled",
description: "Whether the agent uses your saved rules during requests.",
@@ -1303,7 +1307,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.knowledge.warp_drive_context_enabled",
description: "Whether Galaxy Drive context is included in AI requests.",
@@ -1316,7 +1320,7 @@ define_settings_group!(AISettings, settings: [
type: Vec<PathBuf>,
default: vec![],
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Never,
sync_to_cloud: SyncToCloud::Never,
private: true,
}
@@ -1328,7 +1332,7 @@ define_settings_group!(AISettings, settings: [
type: Vec<PathBuf>,
default: vec![],
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Never,
sync_to_cloud: SyncToCloud::Never,
private: true,
}
@@ -1339,7 +1343,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
}
@@ -1348,7 +1352,7 @@ define_settings_group!(AISettings, settings: [
type: AIRequestQuotaInfo,
default: AIRequestQuotaInfo::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
@@ -1360,7 +1364,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
}
@@ -1368,7 +1372,7 @@ define_settings_group!(AISettings, settings: [
type: Option<String>,
default: None,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Never,
sync_to_cloud: SyncToCloud::Never,
private: true,
},
@@ -1381,7 +1385,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::No),
sync_to_cloud: SyncToCloud::Never,
private: true,
}
@@ -1394,7 +1398,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::No),
sync_to_cloud: SyncToCloud::Never,
private: true,
}
@@ -1406,7 +1410,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "cloud_platform.third_party_api_keys.can_use_warp_credits_with_byok",
description: "Whether Galaxy credits can be used even when providing your own API key.",
@@ -1416,7 +1420,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.other.should_render_use_agent_toolbar_for_user_commands",
description: "Whether to show the \"Use Agent\" footer for terminal commands.",
@@ -1428,7 +1432,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.third_party.should_render_cli_agent_toolbar",
description: "Whether to show the CLI agent footer for coding agent commands.",
@@ -1440,7 +1444,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.third_party.auto_toggle_composer",
description: "Whether CLI agent Rich Input automatically closes and reopens based on the agent's blocked state.",
@@ -1452,7 +1456,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.third_party.auto_open_composer_on_cli_agent_start",
description: "Whether CLI agent Rich Input automatically opens when a CLI agent session starts.",
@@ -1466,7 +1470,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.third_party.auto_dismiss_composer_after_submit",
description: "Whether CLI agent Rich Input automatically closes after the user submits a prompt.",
@@ -1480,7 +1484,7 @@ define_settings_group!(AISettings, settings: [
type: ToolbarCommandMap,
default: ToolbarCommandMap::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.third_party.cli_agent_toolbar_enabled_commands",
max_table_depth: 1,
@@ -1497,7 +1501,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
}
@@ -1512,7 +1516,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
}
@@ -1522,7 +1526,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
}
@@ -1533,7 +1537,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
}
@@ -1548,7 +1552,7 @@ define_settings_group!(AISettings, settings: [
type: String,
default: String::new(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Never,
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "general.default_tab_config_path",
}
@@ -1561,7 +1565,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.mcp_servers.file_based_mcp_enabled",
description: "Whether third-party file-based MCP servers are automatically detected.",
@@ -1577,7 +1581,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.input.include_agent_commands_in_history",
description: "Whether agent-executed commands are included in command history.",
@@ -1588,7 +1592,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.other.show_conversation_history",
description: "Whether conversation history appears in the tools panel.",
@@ -1600,7 +1604,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.other.show_agent_notifications",
description: "Whether agent notifications are shown.",
@@ -1613,7 +1617,7 @@ define_settings_group!(AISettings, settings: [
type: HashMap<String, bool>,
default: HashMap::default(),
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Never,
sync_to_cloud: SyncToCloud::Never,
private: true,
}
@@ -1625,7 +1629,7 @@ define_settings_group!(AISettings, settings: [
type: HashMap<String, String>,
default: HashMap::default(),
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Never,
sync_to_cloud: SyncToCloud::Never,
private: true,
}
@@ -1637,7 +1641,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::No),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.other.agent_attribution_enabled",
description: "Whether the Galaxy Agent adds an attribution co-author line to commit messages and pull requests it creates.",
@@ -1650,7 +1654,7 @@ define_settings_group!(AISettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::No),
sync_to_cloud: SyncToCloud::Never,
private: true,
}
]);
+2 -2
View File
@@ -1,5 +1,5 @@
use settings::{
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
};
define_settings_group!(AliasExpansionSettings, settings: [
@@ -7,7 +7,7 @@ define_settings_group!(AliasExpansionSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.input.alias_expansion_enabled",
description: "Whether shell alias expansion is enabled in the input.",
+4 -4
View File
@@ -1,5 +1,5 @@
use settings::{
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
};
// Settings for visibility of non-user command blocks like the bootstrap block
@@ -9,7 +9,7 @@ define_settings_group!(BlockVisibilitySettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "appearance.blocks.should_show_bootstrap_block",
description: "Whether the bootstrap block is visible in the terminal.",
@@ -18,7 +18,7 @@ define_settings_group!(BlockVisibilitySettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "appearance.blocks.should_show_in_band_command_blocks",
description: "Whether in-band command blocks are visible in the terminal.",
@@ -27,7 +27,7 @@ define_settings_group!(BlockVisibilitySettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "appearance.blocks.should_show_ssh_block",
description: "Whether the SSH connection block is visible in the terminal.",
+2 -2
View File
@@ -1,5 +1,5 @@
use settings::{
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
};
define_settings_group!(ChangelogSettings, settings: [
@@ -7,7 +7,7 @@ define_settings_group!(ChangelogSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "general.show_changelog_after_update",
description: "Whether the changelog is shown after an update.",
+2 -2
View File
@@ -15,14 +15,14 @@ use crate::{
};
use settings::{
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
};
define_settings_group!(CloudPreferencesSettings, settings: [
settings_sync_enabled: IsSettingsSyncEnabled {
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::No),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "account.is_settings_sync_enabled",
description: "Whether settings are synced across devices via the cloud.",
+6 -6
View File
@@ -1,5 +1,5 @@
use settings::{
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
};
define_settings_group!(CodeSettings, settings: [
@@ -16,7 +16,7 @@ define_settings_group!(CodeSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
storage_key: "AgentModeCodebaseContext",
toml_path: "code.indexing.agent_mode_codebase_context",
@@ -26,7 +26,7 @@ define_settings_group!(CodeSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
storage_key: "AgentModeCodebaseContextAutoIndexing",
toml_path: "code.indexing.agent_mode_codebase_context_auto_indexing",
@@ -37,7 +37,7 @@ define_settings_group!(CodeSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
// Controls whether the project explorer / file tree appears in the tools panel.
@@ -45,7 +45,7 @@ define_settings_group!(CodeSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "code.editor.show_project_explorer",
description: "Whether the project explorer is shown in the tools panel.",
@@ -55,7 +55,7 @@ define_settings_group!(CodeSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "code.editor.show_global_search",
description: "Whether global file search is shown in the tools panel.",
+10 -10
View File
@@ -4,7 +4,7 @@ use enum_iterator::{all, Sequence};
use galaxyui::ModelContext;
use serde::{Deserialize, Serialize};
use settings::{
macros::define_settings_group, RespectUserSyncSetting, Setting as _, SupportedPlatforms,
macros::define_settings_group, Setting as _, SupportedPlatforms,
SyncToCloud,
};
@@ -153,7 +153,7 @@ define_settings_group!(AppEditorSettings, settings: [
type: CursorBlink,
default: CursorBlink::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
storage_key: "CursorBlink",
toml_path: "appearance.cursor.cursor_blink",
@@ -163,7 +163,7 @@ define_settings_group!(AppEditorSettings, settings: [
type: CursorDisplayType,
default: CursorDisplayType::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
storage_key: "CursorDisplayType",
toml_path: "appearance.cursor.cursor_display_type",
@@ -173,7 +173,7 @@ define_settings_group!(AppEditorSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "text_editing.vim_mode_enabled",
description: "Whether Vim keybindings are enabled.",
@@ -182,7 +182,7 @@ define_settings_group!(AppEditorSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "text_editing.vim_unnamed_system_clipboard",
description: "Whether the Vim unnamed register uses the system clipboard.",
@@ -191,7 +191,7 @@ define_settings_group!(AppEditorSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "text_editing.vim_status_bar",
description: "Whether the Vim status bar is displayed.",
@@ -200,7 +200,7 @@ define_settings_group!(AppEditorSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "text_editing.autocomplete_symbols",
description: "Whether matching symbols like brackets and quotes are auto-completed.",
@@ -209,7 +209,7 @@ define_settings_group!(AppEditorSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
storage_key: "Autosuggestions",
toml_path: "terminal.input.autosuggestions.enabled",
@@ -219,7 +219,7 @@ define_settings_group!(AppEditorSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.input.autosuggestions.keybinding_hint",
description: "Whether autosuggestion keybinding hints are displayed.",
@@ -228,7 +228,7 @@ define_settings_group!(AppEditorSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.input.autosuggestions.show_ignore_button",
description: "Whether the ignore button is shown for autosuggestions.",
+2 -2
View File
@@ -1,6 +1,6 @@
use crate::banner::BannerState;
use settings::{
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
};
// This isn't exactly a setting, but rather a record of a
@@ -15,7 +15,7 @@ define_settings_group!(EmacsBindingsSettings, settings: [
type: BannerState,
default: BannerState::NotDismissed,
supported_platforms: SupportedPlatforms::LINUX,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
]);
+3 -3
View File
@@ -3,7 +3,7 @@ use galaxyui::{fonts::Weight, rendering::ThinStrokes, AppContext, SingletonEntit
use galaxyui::elements::DEFAULT_UI_LINE_HEIGHT_RATIO;
use settings::{
macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, Setting, SupportedPlatforms, SyncToCloud,
};
use super::EnforceMinimumContrast as EnforceMinimumContrastEnum;
@@ -97,7 +97,7 @@ define_settings_group!(FontSettings,
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "appearance.text.match_notebook_to_monospace_font_size",
description: "Whether the notebook font size matches the terminal font size.",
@@ -106,7 +106,7 @@ define_settings_group!(FontSettings,
type: EnforceMinimumContrastEnum,
default: EnforceMinimumContrastEnum::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "appearance.text.enforce_minimum_contrast",
description: "Whether to enforce minimum contrast for text readability.",
+15 -15
View File
@@ -1,7 +1,7 @@
use galaxyui::{AppContext, SingletonEntity};
use serde::{Deserialize, Serialize};
/// TODO: move alias_expansion setting into this group.
use settings::{define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud};
use settings::{define_settings_group, SupportedPlatforms, SyncToCloud};
use std::collections::HashMap;
use crate::terminal::input::inline_menu::InlineMenuType;
@@ -38,7 +38,7 @@ define_settings_group!(InputSettings,
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.input.show_hint_text",
description: "Whether hint text is shown in the terminal input.",
@@ -47,7 +47,7 @@ define_settings_group!(InputSettings,
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.input.classic_completions_mode",
description: "Whether classic completions mode is enabled.",
@@ -56,7 +56,7 @@ define_settings_group!(InputSettings,
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.input.completions_open_while_typing",
description: "Whether the completions menu opens automatically while typing.",
@@ -65,7 +65,7 @@ define_settings_group!(InputSettings,
type: bool,
default: true,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.input.error_underlining_enabled",
description: "Whether command errors are underlined in the input.",
@@ -74,7 +74,7 @@ define_settings_group!(InputSettings,
type: bool,
default: true,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.input.syntax_highlighting",
description: "Whether syntax highlighting is enabled in the terminal input.",
@@ -83,7 +83,7 @@ define_settings_group!(InputSettings,
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.input.command_corrections",
description: "Whether command corrections are suggested for mistyped commands.",
@@ -92,7 +92,7 @@ define_settings_group!(InputSettings,
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
storage_key: "WorkflowsBoxOpen",
},
@@ -100,14 +100,14 @@ define_settings_group!(InputSettings,
type: i8,
default: 0,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
input_box_type: InputBoxTypeSetting {
type: InputBoxType,
default: InputBoxType::Classic,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.input.input_box_type_setting",
description: "The terminal input style.",
@@ -116,7 +116,7 @@ define_settings_group!(InputSettings,
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.input.at_context_menu_in_terminal_mode",
description: "Whether the @ context menu is available in terminal mode.",
@@ -125,7 +125,7 @@ define_settings_group!(InputSettings,
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.input.enable_slash_commands_in_terminal",
description: "Whether slash commands are available in the terminal input.",
@@ -134,7 +134,7 @@ define_settings_group!(InputSettings,
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.input.outline_codebase_symbols_for_at_context_menu",
description: "Whether codebase symbols appear in the @ context menu.",
@@ -157,7 +157,7 @@ define_settings_group!(InputSettings,
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.input.show_agent_tips",
description: "Whether agent tips are displayed in the input.",
@@ -168,7 +168,7 @@ define_settings_group!(InputSettings,
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.input.show_terminal_input_message_bar",
description: "Whether the terminal input message bar is shown.",
+2 -2
View File
@@ -1,6 +1,6 @@
use crate::terminal::block_list_viewport::InputMode;
use settings::{
macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, Setting, SupportedPlatforms, SyncToCloud,
};
define_settings_group!(InputModeSettings, settings: [
@@ -10,7 +10,7 @@ define_settings_group!(InputModeSettings, settings: [
// to set it to InputMode::Waterfall.
default: InputMode::PinnedToBottom,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
storage_key: "InputMode",
toml_path: "appearance.input.input_mode",
+3 -3
View File
@@ -1,5 +1,5 @@
use settings::{
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
};
define_settings_group!(PaneSettings, settings: [
@@ -7,7 +7,7 @@ define_settings_group!(PaneSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "appearance.panes.should_dim_inactive_panes",
description: "Whether inactive panes are visually dimmed.",
@@ -16,7 +16,7 @@ define_settings_group!(PaneSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "appearance.panes.focus_pane_on_hover",
description: "Whether panes are focused when hovered over.",
+6 -6
View File
@@ -22,7 +22,7 @@ use crate::terminal::safe_mode_settings::SafeModeSettings;
use settings::{
macros::{define_settings_group, maybe_define_setting, register_settings_events},
RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
Setting, SupportedPlatforms, SyncToCloud,
};
use serde::{Deserialize, Serialize};
@@ -98,7 +98,7 @@ define_settings_group!(WarpDrivePrivacySettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::No),
sync_to_cloud: SyncToCloud::Never,
private: false,
storage_key: "TelemetryEnabled",
toml_path: "privacy.telemetry_enabled",
@@ -108,7 +108,7 @@ define_settings_group!(WarpDrivePrivacySettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::No),
sync_to_cloud: SyncToCloud::Never,
private: false,
storage_key: "CrashReportingEnabled",
toml_path: "privacy.crash_reporting_enabled",
@@ -118,7 +118,7 @@ define_settings_group!(WarpDrivePrivacySettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::No),
sync_to_cloud: SyncToCloud::Never,
private: false,
storage_key: "CloudConversationStorageEnabled",
toml_path: "agents.cloud_conversation_storage_enabled",
@@ -130,7 +130,7 @@ maybe_define_setting!(CustomSecretRegexList, group: PrivacySettings, {
type: Vec<CustomSecretRegex>,
default: Vec::new(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::No),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "privacy.custom_secret_regex_list",
description: "Custom regex patterns for detecting and redacting secrets.",
@@ -140,7 +140,7 @@ maybe_define_setting!(HasInitializedDefaultSecretRegexes, group: PrivacySettings
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::No),
sync_to_cloud: SyncToCloud::Never,
private: true,
});
+2 -2
View File
@@ -1,5 +1,5 @@
use galaxy_core::define_settings_group;
use settings::{RespectUserSyncSetting, SupportedPlatforms, SyncToCloud};
use settings::{SupportedPlatforms, SyncToCloud};
use serde::{Deserialize, Serialize};
@@ -41,7 +41,7 @@ define_settings_group!(SameLinePromptBlockSettings, settings: [
type: SLPBlockState,
default: SLPBlockState::NotShown,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
]);
+4 -4
View File
@@ -3,7 +3,7 @@ use std::ops::Not;
use galaxyui::{clipboard::ClipboardContent, AppContext};
use settings::{
macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, Setting, SupportedPlatforms, SyncToCloud,
};
define_settings_group!(SelectionSettings, settings: [
@@ -11,7 +11,7 @@ define_settings_group!(SelectionSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.copy_on_select",
description: "Whether text is automatically copied to the clipboard when selected.",
@@ -20,7 +20,7 @@ define_settings_group!(SelectionSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::LINUX,
sync_to_cloud: SyncToCloud::PerPlatform(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "system.linux_selection_clipboard",
description: "Whether the Linux primary selection clipboard is used.",
@@ -32,7 +32,7 @@ define_settings_group!(SelectionSettings, settings: [
SupportedPlatforms::WINDOWS.into(),
SupportedPlatforms::MAC.into()
),
sync_to_cloud: SyncToCloud::PerPlatform(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.input.middle_click_paste_enabled",
description: "Whether middle-click pastes from the clipboard.",
+2 -2
View File
@@ -1,5 +1,5 @@
use settings::{
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
};
define_settings_group!(SshSettings,
@@ -8,7 +8,7 @@ define_settings_group!(SshSettings,
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
storage_key: "EnableSSHWrapper",
toml_path: "warpify.ssh.enable_legacy_ssh_wrapper",
+4 -4
View File
@@ -2,7 +2,7 @@ use galaxyui::{platform::SystemTheme, AppContext};
use crate::themes::theme::{RespectSystemTheme, SelectedSystemThemes, ThemeKind};
use settings::{
macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, Setting, SupportedPlatforms, SyncToCloud,
};
// Settings group for themes related settings.
@@ -18,7 +18,7 @@ define_settings_group!(ThemeSettings, settings: [
// to set the default theme to Phenomenon.
default: ThemeKind::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "appearance.themes.theme",
max_table_depth: 0,
@@ -28,7 +28,7 @@ define_settings_group!(ThemeSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
storage_key: "SystemTheme",
toml_path: "appearance.themes.system_theme",
@@ -38,7 +38,7 @@ define_settings_group!(ThemeSettings, settings: [
type: SelectedSystemThemes,
default: SelectedSystemThemes::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
storage_key: "SelectedSystemThemes",
toml_path: "appearance.themes.selected_system_themes",
+2 -2
View File
@@ -1,6 +1,6 @@
use crate::banner::BannerState;
use galaxy_core::define_settings_group;
use settings::{RespectUserSyncSetting, SupportedPlatforms, SyncToCloud};
use settings::{SupportedPlatforms, SyncToCloud};
// This isn't exactly a setting, but rather a record of a
// user action that should be persisted the same way we would a setting.
@@ -14,7 +14,7 @@ define_settings_group!(VimBannerSettings, settings: [
type: BannerState,
default: BannerState::NotDismissed,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
]);