@@ -7,15 +7,15 @@ import { Event } from 'vs/base/common/event';
77import { Disposable } from 'vs/base/common/lifecycle' ;
88import { IContextKeyService , IContextKey } from 'vs/platform/contextkey/common/contextkey' ;
99import { InputFocusedContext , IsMacContext , IsLinuxContext , IsWindowsContext , IsWebContext , IsMacNativeContext , IsDevelopmentContext , IsIOSContext } from 'vs/platform/contextkey/common/contextkeys' ;
10- import { SplitEditorsVertically , InEditorZenModeContext , ActiveEditorCanRevertContext , ActiveEditorGroupLockedContext , ActiveEditorCanSplitInGroupContext , SideBySideEditorActiveContext , AuxiliaryBarVisibleContext , SideBarVisibleContext , PanelAlignmentContext , PanelMaximizedContext , PanelVisibleContext , ActiveEditorContext , EditorsVisibleContext , TextCompareEditorVisibleContext , TextCompareEditorActiveContext , ActiveEditorGroupEmptyContext , MultipleEditorGroupsContext , EditorTabsVisibleContext , IsCenteredLayoutContext , ActiveEditorGroupIndexContext , ActiveEditorGroupLastContext , ActiveEditorReadonlyContext , EditorAreaVisibleContext , ActiveEditorAvailableEditorIdsContext , DirtyWorkingCopiesContext , EmptyWorkspaceSupportContext , EnterMultiRootWorkspaceSupportContext , HasWebFileSystemAccess , IsFullscreenContext , OpenFolderWorkspaceSupportContext , RemoteNameContext , VirtualWorkspaceContext , WorkbenchStateContext , WorkspaceFolderCountContext } from 'vs/workbench/common/contextkeys' ;
10+ import { SplitEditorsVertically , InEditorZenModeContext , ActiveEditorCanRevertContext , ActiveEditorGroupLockedContext , ActiveEditorCanSplitInGroupContext , SideBySideEditorActiveContext , AuxiliaryBarVisibleContext , SideBarVisibleContext , PanelAlignmentContext , PanelMaximizedContext , PanelVisibleContext , ActiveEditorContext , EditorsVisibleContext , TextCompareEditorVisibleContext , TextCompareEditorActiveContext , ActiveEditorGroupEmptyContext , MultipleEditorGroupsContext , EditorTabsVisibleContext , IsCenteredLayoutContext , ActiveEditorGroupIndexContext , ActiveEditorGroupLastContext , ActiveEditorReadonlyContext , EditorAreaVisibleContext , ActiveEditorAvailableEditorIdsContext , DirtyWorkingCopiesContext , EmptyWorkspaceSupportContext , EnterMultiRootWorkspaceSupportContext , HasWebFileSystemAccess , IsFullscreenContext , OpenFolderWorkspaceSupportContext , RemoteNameContext , VirtualWorkspaceContext , WorkbenchStateContext , WorkspaceFolderCountContext , PanelPositionContext } from 'vs/workbench/common/contextkeys' ;
1111import { TEXT_DIFF_EDITOR_ID , EditorInputCapabilities , SIDE_BY_SIDE_EDITOR_ID , DEFAULT_EDITOR_ASSOCIATION } from 'vs/workbench/common/editor' ;
1212import { trackFocus , addDisposableListener , EventType , WebFileSystemAccess } from 'vs/base/browser/dom' ;
1313import { preferredSideBySideGroupDirection , GroupDirection , IEditorGroupsService } from 'vs/workbench/services/editor/common/editorGroupsService' ;
1414import { IConfigurationService } from 'vs/platform/configuration/common/configuration' ;
1515import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService' ;
1616import { IEditorService } from 'vs/workbench/services/editor/common/editorService' ;
1717import { WorkbenchState , IWorkspaceContextService } from 'vs/platform/workspace/common/workspace' ;
18- import { IWorkbenchLayoutService , Parts } from 'vs/workbench/services/layout/browser/layoutService' ;
18+ import { IWorkbenchLayoutService , Parts , positionToString } from 'vs/workbench/services/layout/browser/layoutService' ;
1919import { getRemoteName } from 'vs/platform/remote/common/remoteHosts' ;
2020import { getVirtualWorkspaceScheme } from 'vs/platform/workspace/common/virtualWorkspace' ;
2121import { IWorkingCopyService } from 'vs/workbench/services/workingCopy/common/workingCopyService' ;
@@ -63,6 +63,7 @@ export class WorkbenchContextKeysHandler extends Disposable {
6363 private isCenteredLayoutContext : IContextKey < boolean > ;
6464 private sideBarVisibleContext : IContextKey < boolean > ;
6565 private editorAreaVisibleContext : IContextKey < boolean > ;
66+ private panelPositionContext : IContextKey < string > ;
6667 private panelVisibleContext : IContextKey < boolean > ;
6768 private panelAlignmentContext : IContextKey < string > ;
6869 private panelMaximizedContext : IContextKey < boolean > ;
@@ -179,6 +180,8 @@ export class WorkbenchContextKeysHandler extends Disposable {
179180 this . sideBarVisibleContext = SideBarVisibleContext . bindTo ( this . contextKeyService ) ;
180181
181182 // Panel
183+ this . panelPositionContext = PanelPositionContext . bindTo ( this . contextKeyService ) ;
184+ this . panelPositionContext . set ( positionToString ( this . layoutService . getPanelPosition ( ) ) ) ;
182185 this . panelVisibleContext = PanelVisibleContext . bindTo ( this . contextKeyService ) ;
183186 this . panelVisibleContext . set ( this . layoutService . isVisible ( Parts . PANEL_PART ) ) ;
184187 this . panelMaximizedContext = PanelMaximizedContext . bindTo ( this . contextKeyService ) ;
@@ -228,6 +231,7 @@ export class WorkbenchContextKeysHandler extends Disposable {
228231 this . _register ( this . layoutService . onDidChangeZenMode ( enabled => this . inZenModeContext . set ( enabled ) ) ) ;
229232 this . _register ( this . layoutService . onDidChangeFullscreen ( fullscreen => this . isFullscreenContext . set ( fullscreen ) ) ) ;
230233 this . _register ( this . layoutService . onDidChangeCenteredLayout ( centered => this . isCenteredLayoutContext . set ( centered ) ) ) ;
234+ this . _register ( this . layoutService . onDidChangePanelPosition ( position => this . panelPositionContext . set ( position ) ) ) ;
231235
232236 this . _register ( this . layoutService . onDidChangePanelAlignment ( alignment => this . panelAlignmentContext . set ( alignment ) ) ) ;
233237
0 commit comments