pull/236608/head
BeniBenj 2024-12-19 17:45:44 +01:00
parent 613ad56601
commit eb3b58cbdf
No known key found for this signature in database
GPG Key ID: 88390C5F13A9A253
2 changed files with 41 additions and 17 deletions

View File

@ -22,7 +22,7 @@ import { IPaneCompositePartService } from '../../services/panecomposite/browser/
import { ToggleAuxiliaryBarAction } from '../parts/auxiliarybar/auxiliaryBarActions.js';
import { TogglePanelAction } from '../parts/panel/panelActions.js';
import { ICommandService } from '../../../platform/commands/common/commands.js';
import { AuxiliaryBarVisibleContext, PanelAlignmentContext, PanelVisibleContext, SideBarVisibleContext, FocusedViewContext, InEditorZenModeContext, IsMainEditorCenteredLayoutContext, MainEditorAreaVisibleContext, IsMainWindowFullscreenContext, PanelPositionContext, IsAuxiliaryWindowFocusedContext, TitleBarStyleContext } from '../../common/contextkeys.js';
import { AuxiliaryBarVisibleContext, PanelAlignmentContext, PanelVisibleContext, SideBarVisibleContext, FocusedViewContext, InEditorZenModeContext, IsMainEditorCenteredLayoutContext, MainEditorAreaVisibleContext, IsMainWindowFullscreenContext, PanelPositionContext, IsAuxiliaryWindowFocusedContext } from '../../common/contextkeys.js';
import { Codicon } from '../../../base/common/codicons.js';
import { ThemeIcon } from '../../../base/common/themables.js';
import { DisposableStore } from '../../../base/common/lifecycle.js';
@ -30,7 +30,6 @@ import { registerIcon } from '../../../platform/theme/common/iconRegistry.js';
import { ICommandActionTitle } from '../../../platform/action/common/action.js';
import { mainWindow } from '../../../base/browser/window.js';
import { IKeybindingService } from '../../../platform/keybinding/common/keybinding.js';
import { TitlebarStyle } from '../../../platform/window/common/window.js';
import { IPreferencesService } from '../../services/preferences/common/preferences.js';
// Register Icons
@ -798,20 +797,6 @@ if (isWindows || isLinux || isWeb) {
return accessor.get(IWorkbenchLayoutService).toggleMenuBar();
}
});
// Add separately to title bar context menu so we can use a different title
for (const menuId of [MenuId.TitleBarContext, MenuId.TitleBarTitleContext]) {
MenuRegistry.appendMenuItem(menuId, {
command: {
id: 'workbench.action.toggleMenuBar',
title: localize('miMenuBarNoMnemonic', "Menu Bar"),
toggled: ContextKeyExpr.and(IsMacNativeContext.toNegated(), ContextKeyExpr.notEquals('config.window.menuBarVisibility', 'hidden'), ContextKeyExpr.notEquals('config.window.menuBarVisibility', 'toggle'), ContextKeyExpr.notEquals('config.window.menuBarVisibility', 'compact'))
},
when: ContextKeyExpr.and(IsAuxiliaryWindowFocusedContext.toNegated(), ContextKeyExpr.notEquals(TitleBarStyleContext.key, TitlebarStyle.NATIVE), IsMainWindowFullscreenContext.negate()),
group: '2_config',
order: 0
});
}
}
// --- Reset View Locations

View File

@ -8,13 +8,15 @@ import { IConfigurationService } from '../../../../platform/configuration/common
import { ServicesAccessor } from '../../../../platform/instantiation/common/instantiation.js';
import { IStorageService, StorageScope, StorageTarget } from '../../../../platform/storage/common/storage.js';
import { LayoutSettings } from '../../../services/layout/browser/layoutService.js';
import { Action2, MenuId, registerAction2 } from '../../../../platform/actions/common/actions.js';
import { Action2, MenuId, MenuRegistry, registerAction2 } from '../../../../platform/actions/common/actions.js';
import { ContextKeyExpr, ContextKeyExpression, IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';
import { ACCOUNTS_ACTIVITY_ID, GLOBAL_ACTIVITY_ID } from '../../../common/activity.js';
import { IAction } from '../../../../base/common/actions.js';
import { IsAuxiliaryWindowFocusedContext, IsMainWindowFullscreenContext, TitleBarStyleContext, TitleBarVisibleContext } from '../../../common/contextkeys.js';
import { CustomTitleBarVisibility, TitleBarSetting, TitlebarStyle } from '../../../../platform/window/common/window.js';
import { isLinux, isNative } from '../../../../base/common/platform.js';
import { Categories } from '../../../../platform/action/common/actionCommonCategories.js';
import { IsMacNativeContext } from '../../../../platform/contextkey/common/contextkeys.js';
// --- Context Menu Actions --- //
@ -279,6 +281,43 @@ if (isLinux && isNative) {
});
}
for (const menuId of [MenuId.TitleBarContext, MenuId.TitleBarTitleContext]) {
MenuRegistry.appendMenuItem(menuId, {
command: {
id: 'workbench.action.toggleMenuBar',
title: localize('miMenuBarNoMnemonic', "Menu Bar"),
toggled: ContextKeyExpr.and(IsMacNativeContext.toNegated(), ContextKeyExpr.notEquals('config.window.menuBarVisibility', 'hidden'), ContextKeyExpr.notEquals('config.window.menuBarVisibility', 'toggle'), ContextKeyExpr.notEquals('config.window.menuBarVisibility', 'compact'))
},
when: ContextKeyExpr.and(IsAuxiliaryWindowFocusedContext.toNegated(), ContextKeyExpr.notEquals(TitleBarStyleContext.key, TitlebarStyle.NATIVE), IsMainWindowFullscreenContext.negate()),
group: '2_config',
order: 0
});
}
registerAction2(class extends Action2 {
constructor() {
super({
id: 'workbench.action.toggleMenuBarInFullScreen',
title: localize2('menuBar', "Menu Bar"),
category: Categories.View,
toggled: ContextKeyExpr.equals('config.window.menuBarVisibility', 'visible'),
menu: [{
id: MenuId.TitleBarContext,
group: '2_config',
order: 0,
when: ContextKeyExpr.and(IsAuxiliaryWindowFocusedContext.toNegated(), ContextKeyExpr.notEquals(TitleBarStyleContext.key, TitlebarStyle.NATIVE), IsMainWindowFullscreenContext, IsMacNativeContext.negate()),
}]
});
}
run(accessor: ServicesAccessor): void {
const configurationService = accessor.get(IConfigurationService);
const isVisible = configurationService.getValue('window.menuBarVisibility') === 'visible';
configurationService.updateValue('window.menuBarVisibility', isVisible ? 'classic' : 'visible');
}
});
// --- Toolbar actions --- //
export const ACCOUNTS_ACTIVITY_TILE_ACTION: IAction = {