feat: 同步终端交互配置项.
This commit is contained in:
@@ -1,4 +1,12 @@
|
||||
import type { TerminalActionBarSetting, TerminalDisplaySetting, TerminalPreference, TerminalState } from './types';
|
||||
import type {
|
||||
TerminalActionBarSetting,
|
||||
TerminalDisplaySetting,
|
||||
TerminalInteractSetting,
|
||||
TerminalPluginsSetting,
|
||||
TerminalPreference,
|
||||
TerminalSessionSetting,
|
||||
TerminalState
|
||||
} from './types';
|
||||
import type { TerminalTheme } from '@/api/asset/host-terminal';
|
||||
import { getTerminalThemes } from '@/api/asset/host-terminal';
|
||||
import { defineStore } from 'pinia';
|
||||
@@ -17,6 +25,12 @@ export const PreferenceItem = {
|
||||
DISPLAY_SETTING: 'displaySetting',
|
||||
// 操作栏设置
|
||||
ACTION_BAR_SETTING: 'actionBarSetting',
|
||||
// 交互设置
|
||||
INTERACT_SETTING: 'interactSetting',
|
||||
// 插件设置
|
||||
PLUGINS_SETTING: 'pluginsSetting',
|
||||
// 会话设置
|
||||
SESSION_SETTING: 'sessionSetting',
|
||||
};
|
||||
|
||||
export default defineStore('terminal', {
|
||||
@@ -26,6 +40,9 @@ export default defineStore('terminal', {
|
||||
theme: {} as TerminalTheme,
|
||||
displaySetting: {} as TerminalDisplaySetting,
|
||||
actionBarSetting: {} as TerminalActionBarSetting,
|
||||
interactSetting: {} as TerminalInteractSetting,
|
||||
pluginsSetting: {} as TerminalPluginsSetting,
|
||||
sessionSetting: {} as TerminalSessionSetting,
|
||||
},
|
||||
tabManager: new TerminalTabManager(),
|
||||
sessionManager: new TerminalSessionManager()
|
||||
|
||||
@@ -13,6 +13,9 @@ export interface TerminalPreference {
|
||||
theme: TerminalTheme;
|
||||
displaySetting: TerminalDisplaySetting;
|
||||
actionBarSetting: TerminalActionBarSetting;
|
||||
interactSetting: TerminalInteractSetting;
|
||||
pluginsSetting: TerminalPluginsSetting;
|
||||
sessionSetting: TerminalSessionSetting;
|
||||
}
|
||||
|
||||
// 显示设置
|
||||
@@ -34,3 +37,29 @@ export interface TerminalActionBarSetting {
|
||||
[key: string]: unknown;
|
||||
}
|
||||
|
||||
// 交互设置
|
||||
export interface TerminalInteractSetting {
|
||||
fastScrollModifier: boolean;
|
||||
altClickMovesCursor: boolean;
|
||||
rightClickSelectsWord: boolean;
|
||||
selectionChangeCopy: boolean;
|
||||
copyAutoTrim: boolean;
|
||||
pasteAutoTrim: boolean;
|
||||
rightClickPaste: boolean;
|
||||
enableRightClickMenu: boolean;
|
||||
enableBell: boolean;
|
||||
wordSeparator: string;
|
||||
}
|
||||
|
||||
// 插件设置
|
||||
export interface TerminalPluginsSetting {
|
||||
enableWeblinkPlugin: boolean;
|
||||
enableWebglPlugin: boolean;
|
||||
enableImagePlugin: boolean;
|
||||
}
|
||||
|
||||
// 会话设置
|
||||
export interface TerminalSessionSetting {
|
||||
terminalEmulationType: string;
|
||||
scrollBackLine: number;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user