fix(core): add option to disable middle click paste behavior on linux (#11496)

fix BS-3028
This commit is contained in:
pengx17
2025-04-07 07:01:37 +00:00
parent 6e10fe6205
commit 952f1878a6
6 changed files with 69 additions and 13 deletions
@@ -487,6 +487,36 @@ const SpellCheckSettings = () => {
);
};
const MiddleClickPasteSettings = () => {
const t = useI18n();
const editorSettingService = useService(EditorSettingService);
const settings = useLiveData(editorSettingService.editorSetting.settings$);
const onToggleMiddleClickPaste = useCallback(
(checked: boolean) => {
editorSettingService.editorSetting.set(
'disableMiddleClickPaste',
checked
);
},
[editorSettingService.editorSetting]
);
return (
<SettingRow
name={t[
'com.affine.settings.editorSettings.general.middle-click-paste.title'
]()}
desc={t[
'com.affine.settings.editorSettings.general.middle-click-paste.description'
]()}
>
<Switch
checked={settings.disableMiddleClickPaste}
onChange={onToggleMiddleClickPaste}
/>
</SettingRow>
);
};
export const General = () => {
const t = useI18n();
@@ -497,6 +527,7 @@ export const General = () => {
<CustomFontFamilySettings />
<NewDocDefaultModeSettings />
{BUILD_CONFIG.isElectron && <SpellCheckSettings />}
{environment.isLinux && <MiddleClickPasteSettings />}
{/* // TODO(@akumatus): implement these settings
<DeFaultCodeBlockSettings />
*/}