@@ -539,14 +539,33 @@ define(function (require, exports, module) {
539539 KeyBindingManager . on ( KeyBindingManager . EVENT_NEW_PRESET , _updatePresets ) ;
540540 KeyBindingManager . on ( KeyBindingManager . EVENT_PRESET_CHANGED , _updatePresets ) ;
541541
542+ // Track whether the shortcuts panel has an open tab (survives container collapse).
543+ let _shortcutsTabOpen = false ;
544+
542545 // When the panel tab is closed externally (e.g. via the × button),
543546 // update the menu checked state and clean up resources.
544547 WorkspaceManager . on ( WorkspaceManager . EVENT_WORKSPACE_PANEL_HIDDEN , function ( event , panelID ) {
545548 if ( panelID === TOGGLE_SHORTCUTS_ID && panel ) {
549+ _shortcutsTabOpen = false ;
546550 destroyKeyList ( ) ;
547551 _clearSortingEventHandlers ( ) ;
548552 CommandManager . get ( TOGGLE_SHORTCUTS_ID ) . setChecked ( false ) ;
549553 }
554+ // Container collapsed — uncheck menu item but keep tab-open flag
555+ if ( panelID === WorkspaceManager . DEFAULT_PANEL_ID ) {
556+ CommandManager . get ( TOGGLE_SHORTCUTS_ID ) . setChecked ( false ) ;
557+ }
558+ } ) ;
559+
560+ // When any bottom panel is shown (container is visible),
561+ // re-check menu item if shortcuts panel still has an open tab.
562+ WorkspaceManager . on ( WorkspaceManager . EVENT_WORKSPACE_PANEL_SHOWN , function ( event , panelID ) {
563+ if ( panelID === TOGGLE_SHORTCUTS_ID ) {
564+ _shortcutsTabOpen = true ;
565+ }
566+ if ( _shortcutsTabOpen ) {
567+ CommandManager . get ( TOGGLE_SHORTCUTS_ID ) . setChecked ( true ) ;
568+ }
550569 } ) ;
551570 } ) ;
552571} ) ;
0 commit comments