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:
@@ -1,5 +1,5 @@
|
||||
use settings::{
|
||||
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
|
||||
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
|
||||
};
|
||||
|
||||
define_settings_group!(AltScreenReporting, settings: [
|
||||
@@ -7,7 +7,7 @@ define_settings_group!(AltScreenReporting, 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.mouse_reporting_enabled",
|
||||
description: "Whether to forward mouse events to full-screen terminal applications.",
|
||||
@@ -16,7 +16,7 @@ define_settings_group!(AltScreenReporting, 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.scroll_reporting_enabled",
|
||||
description: "Whether to forward scroll events to full-screen terminal applications.",
|
||||
@@ -25,7 +25,7 @@ define_settings_group!(AltScreenReporting, 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.focus_reporting_enabled",
|
||||
description: "Whether to forward focus and blur events to full-screen terminal applications.",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use settings::{
|
||||
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
|
||||
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
|
||||
};
|
||||
|
||||
// Settings for controlling the behavior of the block list.
|
||||
@@ -8,7 +8,7 @@ define_settings_group!(BlockListSettings, 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: "appearance.blocks.show_jump_to_bottom_of_block_button",
|
||||
description: "Whether to show the jump-to-bottom button in long command output.",
|
||||
@@ -17,7 +17,7 @@ define_settings_group!(BlockListSettings, 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.snackbar_enabled",
|
||||
description: "Whether to show snackbar notifications.",
|
||||
@@ -26,7 +26,7 @@ define_settings_group!(BlockListSettings, 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: "appearance.blocks.show_block_dividers",
|
||||
description: "Whether to show dividers between terminal blocks.",
|
||||
|
||||
@@ -2,7 +2,7 @@ use std::collections::HashSet;
|
||||
|
||||
use crate::{banner::BannerState, resource_center::Tip};
|
||||
use galaxy_core::settings::{
|
||||
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
|
||||
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
|
||||
};
|
||||
|
||||
define_settings_group!(GeneralSettings, settings: [
|
||||
@@ -10,7 +10,7 @@ define_settings_group!(GeneralSettings, 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: "general.show_warning_before_quitting",
|
||||
description: "Whether to show a warning dialog before quitting Galaxy.",
|
||||
@@ -19,7 +19,7 @@ define_settings_group!(GeneralSettings, settings: [
|
||||
type: bool,
|
||||
default: false,
|
||||
supported_platforms: SupportedPlatforms::MAC,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "general.quit_on_last_window_closed",
|
||||
description: "Whether to quit Galaxy when the last window is closed.",
|
||||
@@ -28,7 +28,7 @@ define_settings_group!(GeneralSettings, 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: "general.restore_session",
|
||||
description: "Whether to restore the previous session when Galaxy starts up.",
|
||||
@@ -64,7 +64,7 @@ define_settings_group!(GeneralSettings, 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.link_tooltip",
|
||||
description: "Whether to show a tooltip when hovering over links.",
|
||||
@@ -80,28 +80,28 @@ define_settings_group!(GeneralSettings, settings: [
|
||||
type: bool,
|
||||
default: false,
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: true,
|
||||
},
|
||||
agent_mode_onboarding_block_shown: AgentModeOnboardingBlockShown {
|
||||
type: bool,
|
||||
default: false,
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: true,
|
||||
},
|
||||
telemetry_banner_dismissed: TelemetryBannerDismissed {
|
||||
type: bool,
|
||||
default: false,
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: true,
|
||||
},
|
||||
user_default_shell_unsupported_banner_state: UserDefaultShellUnsupportedBannerState {
|
||||
type: BannerState,
|
||||
default: BannerState::default(),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: true,
|
||||
},
|
||||
open_in_warp_banner_dismissed_for_markdown: OpenInWarpBannerDismissedMarkdown {
|
||||
@@ -129,14 +129,14 @@ define_settings_group!(GeneralSettings, settings: [
|
||||
type: bool,
|
||||
default: false,
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: true,
|
||||
},
|
||||
build_plan_migration_modal_dismissed: BuildPlanMigrationModalDismissed {
|
||||
type: bool,
|
||||
default: false,
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: true,
|
||||
},
|
||||
// One-time flag tracking whether the OpenWarp launch modal has already been
|
||||
@@ -146,7 +146,7 @@ define_settings_group!(GeneralSettings, settings: [
|
||||
type: bool,
|
||||
default: false,
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::No),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: true,
|
||||
},
|
||||
anonymous_user_ai_sign_up_banner_shown: AnonymousUserAISignUpBannerShown {
|
||||
@@ -160,7 +160,7 @@ define_settings_group!(GeneralSettings, 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: "code.editor.auto_open_code_review_pane_on_first_agent_change",
|
||||
description: "Whether to automatically open the code review pane when the agent makes its first change.",
|
||||
@@ -169,7 +169,7 @@ define_settings_group!(GeneralSettings, settings: [
|
||||
type: HashSet<String>,
|
||||
default: HashSet::new(),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: true,
|
||||
},
|
||||
]);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use galaxyui::{keymap::Keystroke, AppContext, DisplayIdx, ModelContext};
|
||||
use settings::{
|
||||
macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
|
||||
macros::define_settings_group, Setting, SupportedPlatforms, SyncToCloud,
|
||||
};
|
||||
|
||||
use crate::{
|
||||
@@ -17,7 +17,7 @@ define_settings_group!(KeysSettings, settings: [
|
||||
type: crate::settings::QuakeModeSettings,
|
||||
default: crate::settings::QuakeModeSettings::default(),
|
||||
supported_platforms: SupportedPlatforms::DESKTOP,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "global_hotkey.dedicated_window.settings",
|
||||
max_table_depth: 2,
|
||||
@@ -27,7 +27,7 @@ define_settings_group!(KeysSettings, 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: "global_hotkey.dedicated_window.enabled",
|
||||
description: "Whether the dedicated hotkey window is enabled. Mutually exclusive with `global_hotkey.toggle_all_windows.enabled`; only one should be true at a time.",
|
||||
@@ -36,7 +36,7 @@ define_settings_group!(KeysSettings, 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: "global_hotkey.toggle_all_windows.enabled",
|
||||
description: "Whether the hotkey that toggles visibility of all windows is enabled. Mutually exclusive with `global_hotkey.dedicated_window.enabled`; only one should be true at a time.",
|
||||
@@ -45,7 +45,7 @@ define_settings_group!(KeysSettings, settings: [
|
||||
type: Option<Keystroke>,
|
||||
default: None,
|
||||
supported_platforms: SupportedPlatforms::DESKTOP,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "global_hotkey.toggle_all_windows.keybinding",
|
||||
description: "The keybinding used for the global activation hotkey. Format: modifiers (cmd, ctrl, alt, shift, meta) and a key joined by '-', e.g. \"cmd-shift-a\" or \"alt-enter\". Bindings are case-sensitive: when shift is present, the key must be its shifted form (e.g., \"ctrl-shift-E\", not \"ctrl-shift-e\").",
|
||||
@@ -54,7 +54,7 @@ define_settings_group!(KeysSettings, settings: [
|
||||
type: ExtraMetaKeysEnum,
|
||||
default: ExtraMetaKeysEnum::default(),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "terminal.input.extra_meta_keys",
|
||||
description: "Controls which additional keys are treated as meta keys.",
|
||||
@@ -63,7 +63,7 @@ define_settings_group!(KeysSettings, settings: [
|
||||
type: CtrlTabBehavior,
|
||||
default: CtrlTabBehavior::default(),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "keys.ctrl_tab_behavior_setting",
|
||||
description: "Controls the behavior of Ctrl+Tab.",
|
||||
|
||||
@@ -2,7 +2,7 @@ use crate::features::FeatureFlag;
|
||||
|
||||
use galaxyui::{AppContext, SingletonEntity};
|
||||
use settings::{
|
||||
macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
|
||||
macros::define_settings_group, Setting, SupportedPlatforms, SyncToCloud,
|
||||
};
|
||||
|
||||
define_settings_group!(LigatureSettings, settings: [
|
||||
@@ -10,7 +10,7 @@ define_settings_group!(LigatureSettings, 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.text.ligature_rendering_enabled",
|
||||
description: "Whether to render font ligatures in the terminal.",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use galaxyui::{AppContext, SingletonEntity};
|
||||
use settings::{
|
||||
macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
|
||||
macros::define_settings_group, Setting, SupportedPlatforms, SyncToCloud,
|
||||
};
|
||||
|
||||
use crate::{terminal::model::ObfuscateSecrets, workspaces::user_workspaces::UserWorkspaces};
|
||||
@@ -75,7 +75,7 @@ define_settings_group!(SafeModeSettings, 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: "privacy.secret_redaction.enabled",
|
||||
description: "Whether secret redaction is enabled to detect and obscure secrets in terminal output.",
|
||||
@@ -84,7 +84,7 @@ define_settings_group!(SafeModeSettings, settings: [
|
||||
type: SecretDisplayMode,
|
||||
default: SecretDisplayMode::Strikethrough,
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "privacy.secret_redaction.secret_display_mode_setting",
|
||||
description: "Controls how detected secrets are visually displayed in the terminal.",
|
||||
@@ -94,7 +94,7 @@ define_settings_group!(SafeModeSettings, 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: "privacy.secret_redaction.hide_secrets_in_block_list",
|
||||
description: "Whether to hide detected secrets in the block list using asterisks.",
|
||||
|
||||
@@ -10,7 +10,7 @@ pub use startup_shell::*;
|
||||
pub use working_directory_config::*;
|
||||
|
||||
use galaxy_core::settings::{
|
||||
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
|
||||
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
|
||||
};
|
||||
|
||||
use crate::ai::blocklist::agent_view::toolbar_item::AgentToolbarItemKind;
|
||||
@@ -300,7 +300,7 @@ define_settings_group!(SessionSettings, 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.honor_ps1",
|
||||
description: "Whether to use your shell's PS1 prompt instead of the Galaxy prompt.",
|
||||
@@ -309,21 +309,21 @@ define_settings_group!(SessionSettings, settings: [
|
||||
type: PromptSelection,
|
||||
default: PromptSelection::default(),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: true,
|
||||
},
|
||||
should_add_agent_mode_chip: ShouldAddAgentModeChip {
|
||||
type: bool,
|
||||
default: true,
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: true,
|
||||
},
|
||||
should_confirm_close_session: ShouldConfirmCloseSession {
|
||||
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.should_confirm_close_session",
|
||||
description: "Whether to show a confirmation dialog when closing a session.",
|
||||
@@ -333,14 +333,14 @@ define_settings_group!(SessionSettings, settings: [
|
||||
type: bool,
|
||||
default: true,
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: true,
|
||||
}
|
||||
notifications: Notifications {
|
||||
type: NotificationsSettings,
|
||||
default: NotificationsSettings::default(),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "notifications.preferences",
|
||||
max_table_depth: 1,
|
||||
@@ -353,7 +353,7 @@ define_settings_group!(SessionSettings, settings: [
|
||||
type: bool,
|
||||
default: true,
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: true,
|
||||
storage_key: "GitPromptDirtyIndicator",
|
||||
},
|
||||
@@ -364,7 +364,7 @@ define_settings_group!(SessionSettings, 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.show_model_selectors_in_prompt",
|
||||
description: "Whether to show AI model selectors in the input prompt.",
|
||||
@@ -373,7 +373,7 @@ define_settings_group!(SessionSettings, settings: [
|
||||
type: AgentToolbarChipSelection,
|
||||
default: AgentToolbarChipSelection::default(),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "agents.warp_agent.input.agent_toolbar_chip_selection_setting",
|
||||
description: "Controls the layout of context chips in the Agent Mode toolbar.",
|
||||
@@ -382,7 +382,7 @@ define_settings_group!(SessionSettings, settings: [
|
||||
type: CLIAgentToolbarChipSelection,
|
||||
default: CLIAgentToolbarChipSelection::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_chip_selection_setting",
|
||||
description: "Controls the layout of context chips in the CLI Agent toolbar.",
|
||||
@@ -391,7 +391,7 @@ define_settings_group!(SessionSettings, settings: [
|
||||
type: u64,
|
||||
default: 8,
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "notifications.toast_duration_secs",
|
||||
description: "How long notification toasts are displayed, in seconds.",
|
||||
|
||||
@@ -3,7 +3,7 @@ use serde::{Deserialize, Serialize};
|
||||
use crate::settings::{AISettings, InputSettings, TerminalSpacing};
|
||||
use galaxyui::{units::Pixels, AppContext, SingletonEntity};
|
||||
use settings::{
|
||||
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
|
||||
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
|
||||
};
|
||||
|
||||
#[derive(
|
||||
@@ -89,7 +89,7 @@ define_settings_group!(TerminalSettings, settings: [
|
||||
type: bool,
|
||||
default: false,
|
||||
supported_platforms: SupportedPlatforms::DESKTOP, /* Audible bell is not supported on web */
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "terminal.use_audible_bell",
|
||||
description: "Whether to play an audible bell sound on terminal bell events.",
|
||||
@@ -98,7 +98,7 @@ define_settings_group!(TerminalSettings, settings: [
|
||||
type: SpacingMode,
|
||||
default: SpacingMode::default(),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "appearance.spacing",
|
||||
description: "Controls the spacing between terminal blocks.",
|
||||
@@ -107,7 +107,7 @@ define_settings_group!(TerminalSettings, settings: [
|
||||
type: usize,
|
||||
default: 50_000,
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "terminal.maximum_grid_size",
|
||||
description: "The maximum number of rows in the terminal grid.",
|
||||
@@ -116,7 +116,7 @@ define_settings_group!(TerminalSettings, settings: [
|
||||
type: AltScreenPaddingMode,
|
||||
default: AltScreenPaddingMode::default(),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "appearance.full_screen_apps.alt_screen_padding",
|
||||
max_table_depth: 0,
|
||||
@@ -128,7 +128,7 @@ define_settings_group!(TerminalSettings, 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.show_terminal_zero_state_block",
|
||||
description: "Whether to show the AI zero-state block in new terminal sessions.",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use std::time::Duration;
|
||||
|
||||
use settings::{
|
||||
macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
|
||||
macros::define_settings_group, Setting, SupportedPlatforms, SyncToCloud,
|
||||
};
|
||||
|
||||
define_settings_group!(SharedSessionSettings, settings: [
|
||||
@@ -9,7 +9,7 @@ define_settings_group!(SharedSessionSettings, settings: [
|
||||
type: bool,
|
||||
default: false,
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: true,
|
||||
},
|
||||
inactivity_period_before_ending_session: InactivityPeriodBeforeEndingSession {
|
||||
@@ -17,7 +17,7 @@ define_settings_group!(SharedSessionSettings, settings: [
|
||||
// After a total of 30 min of inactivity, we will end the session
|
||||
default: Duration::from_secs(1800),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: true,
|
||||
},
|
||||
inactivity_period_before_warning: InactivityPeriodBeforeWarning {
|
||||
@@ -25,7 +25,7 @@ define_settings_group!(SharedSessionSettings, settings: [
|
||||
// After a total of 25 min of inactivity, we will show a warning modal
|
||||
default: Duration::from_secs(1500),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: true,
|
||||
},
|
||||
inactivity_period_before_revoking_roles: InactivityPeriodBeforeRevokingRoles {
|
||||
@@ -33,7 +33,7 @@ define_settings_group!(SharedSessionSettings, settings: [
|
||||
// After a total of 10 min of inactivity, we will revoke all executor roles
|
||||
default: Duration::from_secs(600),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: true,
|
||||
},
|
||||
// Killswitch: when false, the sharer ignores viewer terminal size reports.
|
||||
@@ -41,7 +41,7 @@ define_settings_group!(SharedSessionSettings, settings: [
|
||||
type: bool,
|
||||
default: true,
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: true,
|
||||
},
|
||||
]);
|
||||
|
||||
@@ -6,7 +6,7 @@ use lazy_static::lazy_static;
|
||||
use regex::Regex;
|
||||
use settings::{
|
||||
macros::{maybe_define_setting, register_settings_events},
|
||||
ChangeEventReason, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
|
||||
ChangeEventReason, Setting, SupportedPlatforms, SyncToCloud,
|
||||
};
|
||||
use strum_macros::EnumIter;
|
||||
|
||||
@@ -17,7 +17,7 @@ maybe_define_setting!(AddedSubshellCommands, group: WarpifySettings, {
|
||||
type: Vec<String>,
|
||||
default: Vec::new(),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "warpify.subshells.added_subshell_commands",
|
||||
description: "Additional regex patterns for commands that should be recognized as subshells.",
|
||||
@@ -27,7 +27,7 @@ maybe_define_setting!(SubshellCommandsDenylist, group: WarpifySettings, {
|
||||
type: Vec<String>,
|
||||
default: Vec::new(),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "warpify.subshells.subshell_commands_denylist",
|
||||
description: "Commands that should not trigger the subshell warpification prompt.",
|
||||
@@ -37,7 +37,7 @@ maybe_define_setting!(SshHostsDenylist, group: WarpifySettings, {
|
||||
type: Vec<String>,
|
||||
default: Vec::new(),
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "warpify.ssh.ssh_hosts_denylist",
|
||||
description: "SSH hosts that should not trigger the warpification prompt.",
|
||||
@@ -47,7 +47,7 @@ maybe_define_setting!(EnableSshWarpification, group: WarpifySettings, {
|
||||
type: bool,
|
||||
default: true,
|
||||
supported_platforms: SupportedPlatforms::ALL,
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "warpify.ssh.enable_ssh_warpification",
|
||||
description: "Whether to enable Galaxy features in SSH sessions.",
|
||||
@@ -57,7 +57,7 @@ maybe_define_setting!(UseSshTmuxWrapper, group: WarpifySettings, {
|
||||
type: bool,
|
||||
default: false,
|
||||
supported_platforms: SupportedPlatforms::OR(SupportedPlatforms::MAC.into(), SupportedPlatforms::LINUX.into()),
|
||||
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
sync_to_cloud: SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "warpify.ssh.use_ssh_tmux_wrapper",
|
||||
description: "Whether to use a tmux-based wrapper for SSH warpification.",
|
||||
@@ -96,7 +96,7 @@ settings::macros::implement_setting_for_enum!(
|
||||
SshExtensionInstallMode,
|
||||
WarpifySettings,
|
||||
SupportedPlatforms::ALL,
|
||||
SyncToCloud::Globally(RespectUserSyncSetting::Yes),
|
||||
SyncToCloud::Never,
|
||||
private: false,
|
||||
toml_path: "warpify.ssh.ssh_extension_install_mode",
|
||||
description: "Controls SSH extension installation behavior.",
|
||||
|
||||
Reference in New Issue
Block a user