@codingame/monaco-vscode-view-title-bar-service-override 2.0.3 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codingame/monaco-vscode-view-title-bar-service-override",
3
- "version": "2.0.3",
3
+ "version": "2.1.0",
4
4
  "keywords": [],
5
5
  "author": {
6
6
  "name": "CodinGame",
@@ -18,7 +18,7 @@
18
18
  "module": "index.js",
19
19
  "types": "index.d.ts",
20
20
  "dependencies": {
21
- "vscode": "npm:@codingame/monaco-vscode-api@2.0.3",
21
+ "vscode": "npm:@codingame/monaco-vscode-api@2.1.0",
22
22
  "vscode-marked": "npm:marked@=3.0.2"
23
23
  }
24
24
  }
@@ -165,7 +165,7 @@ let CommandCenterCenterViewItem = class CommandCenterCenterViewItem extends Base
165
165
  suffix
166
166
  ));
167
167
  }
168
- return label;
168
+ return label.replaceAll(/\r\n|\r|\n/g, '\u23CE');
169
169
  }
170
170
  });
171
171
  }
@@ -1,6 +1,6 @@
1
1
  import n from '../../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
2
 
3
- var css = ".monaco-workbench .part.titlebar{display:flex;flex-direction:row}.monaco-workbench.mac .part.titlebar{flex-direction:row-reverse}.monaco-workbench .part.titlebar>.titlebar-container{align-items:center;box-sizing:border-box;display:flex;flex-grow:1;flex-shrink:1;height:100%;justify-content:space-between;overflow:hidden;user-select:none;-webkit-user-select:none;width:100%}.monaco-workbench .part.titlebar>.titlebar-container.counter-zoom{zoom:calc(1/var(--zoom-factor))}.monaco-workbench.mac .part.titlebar>.titlebar-container{line-height:22px}.monaco-workbench.linux .part.titlebar>.titlebar-container,.monaco-workbench.web .part.titlebar>.titlebar-container,.monaco-workbench.windows .part.titlebar>.titlebar-container{justify-content:left;line-height:22px}.monaco-workbench.web.safari .part.titlebar,.monaco-workbench.web.safari .part.titlebar>.titlebar-container{overflow:visible}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-drag-region{-webkit-app-region:drag;display:block;height:100%;left:0;position:absolute;top:0;width:100%}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center,.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-left,.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right{align-items:center;display:flex;height:100%}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-left{flex-grow:2;justify-content:flex-start;order:0;width:20%}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center{justify-content:center;margin:0 10px;max-width:fit-content;min-width:0;order:1;width:60%}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right{flex-grow:2;justify-content:flex-end;min-width:min-content;order:2;width:20%}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title{flex:0 1 auto;font-size:12px;margin-left:auto;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-workbench.linux .part.titlebar>.titlebar-container>.titlebar-center>.window-title,.monaco-workbench.web .part.titlebar>.titlebar-container>.titlebar-center>.window-title,.monaco-workbench.windows .part.titlebar>.titlebar-container>.titlebar-center>.window-title{cursor:default}.monaco-workbench.linux .part.titlebar>.titlebar-container>.titlebar-center>.window-title{font-size:inherit}.monaco-workbench .part.titlebar>.titlebar-container .monaco-toolbar .actions-container{gap:4px}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center{-webkit-app-region:no-drag;z-index:2500}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center.hide{visibility:hidden}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item>.action-label{color:var(--vscode-titleBar-activeForeground)}.monaco-workbench .part.titlebar.inactive>.titlebar-container>.titlebar-center>.window-title>.command-center>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item>.action-label{color:var(--vscode-titleBar-inactiveForeground)}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item>.action-label{color:inherit}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center{align-items:stretch;background-color:var(--vscode-commandCenter-background);border:1px solid var(--vscode-commandCenter-border);border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top-left-radius:6px;border-top-right-radius:6px;color:var(--vscode-commandCenter-foreground);display:flex;height:22px;margin-left:6px;max-width:600px;overflow:hidden;width:38vw}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center .action-item.command-center-quick-pick{display:flex}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center .action-item.command-center-quick-pick .search-icon{font-size:14px;margin:auto 3px;opacity:.8}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center .action-item.command-center-quick-pick .search-label{overflow:hidden;text-overflow:ellipsis}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center.multiple{justify-content:flex-start;padding:0 12px}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center.multiple.active .action-label{background-color:inherit}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center:only-child{margin-left:0}.monaco-workbench .part.titlebar.inactive>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center{border-color:var(--vscode-commandCenter-inactiveBorder)!important;color:var(--vscode-titleBar-inactiveForeground)}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center:HOVER{background-color:var(--vscode-commandCenter-activeBackground);border-color:var(--vscode-commandCenter-activeBorder);color:var(--vscode-commandCenter-activeForeground)}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-left>.menubar{flex-wrap:nowrap;min-width:36px;order:2;z-index:2500}.monaco-workbench.web .part.titlebar>.titlebar-container>.titlebar-left>.menubar{margin-left:4px}.monaco-workbench .part.titlebar>.titlebar-container.counter-zoom .menubar .menubar-menu-button>.menubar-menu-items-holder.monaco-menu-container{zoom:var(--zoom-factor)}.monaco-workbench.linux .part.titlebar>.titlebar-container>.resizer,.monaco-workbench.windows .part.titlebar>.titlebar-container>.resizer{-webkit-app-region:no-drag;height:4px;position:absolute;top:0;width:100%}.monaco-workbench.linux.fullscreen .part.titlebar>.titlebar-container>.resizer,.monaco-workbench.windows.fullscreen .part.titlebar>.titlebar-container>.resizer{display:none}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-left>.window-appicon{flex-shrink:0;height:100%;order:1;position:relative;width:35px;z-index:2500}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-left>.window-appicon:not(.codicon){background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0xMDI0IDEwMjRIMFYwaDEwMjR2MTAyNHoiIHN0eWxlPSJmaWxsOiNmNmY2ZjY7ZmlsbC1vcGFjaXR5OjAiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMTAyNCA4NS4zMzN2ODUzLjMzM0gwVjg1LjMzM2gxMDI0eiIgc3R5bGU9ImZpbGw6I2ZmZiIvPjxwYXRoIGQ9Ik0wIDg1LjMzM2gyOTguNjY3djg1My4zMzNIMFY4NS4zMzN6bTEwMjQgMHY4NTMuMzMzSDM4NFY4NS4zMzNoNjQwem0tNTU0LjY2NyAxNjBoMzQxLjMzM3YtNjRINDY5LjMzM3Y2NHptMzQxLjMzNCA1MzMuMzM0SDQ2OS4zMzN2NjRoMzQxLjMzM2wuMDAxLTY0em0xMjgtMTQ5LjMzNEg1OTcuMzMzdjY0aDM0MS4zMzNsLjAwMS02NHptMC0xNDkuMzMzSDU5Ny4zMzN2NjRoMzQxLjMzM2wuMDAxLTY0em0wLTE0OS4zMzNINTk3LjMzM3Y2NGgzNDEuMzMzbC4wMDEtNjR6IiBzdHlsZT0iZmlsbDojMTY3YWJmIi8+PC9zdmc+\");background-position:50%;background-repeat:no-repeat;background-size:16px}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-left>.window-appicon.codicon{line-height:30px}.monaco-workbench.fullscreen .part.titlebar>.titlebar-container>.titlebar-left>.window-appicon{display:none}.monaco-workbench .part.titlebar>.titlebar-container .window-appicon>.home-bar-icon-badge{background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0xMDI0IDEwMjRIMFYwaDEwMjR2MTAyNHoiIHN0eWxlPSJmaWxsOiNmNmY2ZjY7ZmlsbC1vcGFjaXR5OjAiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMTAyNCA4NS4zMzN2ODUzLjMzM0gwVjg1LjMzM2gxMDI0eiIgc3R5bGU9ImZpbGw6I2ZmZiIvPjxwYXRoIGQ9Ik0wIDg1LjMzM2gyOTguNjY3djg1My4zMzNIMFY4NS4zMzN6bTEwMjQgMHY4NTMuMzMzSDM4NFY4NS4zMzNoNjQwem0tNTU0LjY2NyAxNjBoMzQxLjMzM3YtNjRINDY5LjMzM3Y2NHptMzQxLjMzNCA1MzMuMzM0SDQ2OS4zMzN2NjRoMzQxLjMzM2wuMDAxLTY0em0xMjgtMTQ5LjMzNEg1OTcuMzMzdjY0aDM0MS4zMzNsLjAwMS02NHptMC0xNDkuMzMzSDU5Ny4zMzN2NjRoMzQxLjMzM2wuMDAxLTY0em0wLTE0OS4zMzNINTk3LjMzM3Y2NGgzNDEuMzMzbC4wMDEtNjR6IiBzdHlsZT0iZmlsbDojMTY3YWJmIi8+PC9zdmc+\");background-position:50%;background-repeat:no-repeat;background-size:8px;border-left:1px solid transparent;border-top:1px solid transparent;bottom:6px;height:8px;pointer-events:none;position:absolute;right:9px;width:8px;z-index:1}.monaco-workbench .part.titlebar .window-controls-container{-webkit-app-region:no-drag;display:flex;flex-grow:0;flex-shrink:0;height:100%;text-align:center;width:0;z-index:3000}.monaco-workbench.web .part.titlebar .titlebar-right .window-controls-container{height:env(titlebar-area-height,35px);width:calc(100vw - env(titlebar-area-width, 100vw) - env(titlebar-area-x, 0px))}.monaco-workbench.web .part.titlebar .titlebar-left .window-controls-container{height:env(titlebar-area-height,35px);width:env(titlebar-area-x,0)}.monaco-workbench.web.mac .part.titlebar .titlebar-left .window-controls-container{order:0}.monaco-workbench.web.mac .part.titlebar .titlebar-right .window-controls-container{order:1}.monaco-workbench:not(.web):not(.mac) .part.titlebar .window-controls-container.primary{width:calc(138px/var(--zoom-factor, 1))}.monaco-workbench:not(.web):not(.mac) .part.titlebar .titlebar-container.counter-zoom .window-controls-container.primary{width:138px}.monaco-workbench:not(.web):not(.mac) .part.titlebar .titlebar-container:not(.counter-zoom) .window-controls-container *{zoom:calc(1/var(--zoom-factor, 1))}.monaco-workbench:not(.web).mac .part.titlebar .window-controls-container.primary{width:70px}.monaco-workbench.fullscreen .part.titlebar .window-controls-container{background-color:transparent;display:none}.monaco-workbench .part.titlebar .window-controls-container>.window-icon{align-items:center;display:flex;font-size:16px;height:100%;justify-content:center;width:46px}.monaco-workbench .part.titlebar .window-controls-container>.window-icon:before{height:16px;line-height:16px}.monaco-workbench .part.titlebar .window-controls-container>.window-icon:hover{background-color:hsla(0,0%,100%,.1)}.monaco-workbench .part.titlebar.light>.window-controls-container>.window-icon:hover{background-color:rgba(0,0,0,.1)}.monaco-workbench .part.titlebar .window-controls-container>.window-icon.window-close:hover{background-color:rgba(232,17,35,.9)}.monaco-workbench .part.titlebar .window-controls-container .window-icon.window-close:hover{color:#fff}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container{-webkit-app-region:no-drag;display:none;flex-grow:0;flex-shrink:0;height:100%;margin-left:auto;min-width:28px;padding-right:2px;position:relative;text-align:center;z-index:2500}.monaco-workbench.mac:not(.web) .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container{right:8px}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container:not(.has-no-actions){display:flex;justify-content:center}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container .codicon{color:inherit}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container .monaco-action-bar .action-item{display:flex}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container .monaco-action-bar .badge{align-items:center;display:flex;margin-left:8px}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container .monaco-action-bar .action-item.icon .badge{margin-left:0}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container .monaco-action-bar .badge .badge-content{border-radius:11px;box-sizing:border-box;display:inline-block;font-size:9px;font-weight:400;height:16px;line-height:11px;min-width:11px;padding:3px 5px;position:relative;text-align:center}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container .monaco-action-bar .action-item.icon .badge.compact{bottom:0;height:100%;left:0;margin:auto;overflow:hidden;position:absolute;top:0;width:100%;z-index:2}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container .monaco-action-bar .action-item.icon .badge.compact .badge-content:before{mask-size:12px;-webkit-mask-size:12px;top:2px}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container .monaco-action-bar .action-item.icon .badge.compact .badge-content{border-radius:16px;font-size:9px;font-weight:600;height:12px;line-height:12px;min-width:12px;padding:0 2px;position:absolute;right:0;text-align:center;top:10px}.monaco-workbench .part.titlebar .window-controls-container .window-icon{color:var(--vscode-titleBar-activeForeground)}.monaco-workbench .part.titlebar.inactive .window-controls-container .window-icon{color:var(--vscode-titleBar-inactiveForeground)}";
3
+ var css = ".monaco-workbench .part.titlebar{display:flex;flex-direction:row}.monaco-workbench.mac .part.titlebar{flex-direction:row-reverse}.monaco-workbench .part.titlebar>.titlebar-container{align-items:center;box-sizing:border-box;display:flex;flex-grow:1;flex-shrink:1;height:100%;justify-content:space-between;overflow:hidden;user-select:none;-webkit-user-select:none;width:100%}.monaco-workbench .part.titlebar>.titlebar-container.counter-zoom{zoom:calc(1/var(--zoom-factor))}.monaco-workbench.mac .part.titlebar>.titlebar-container{line-height:22px}.monaco-workbench.linux .part.titlebar>.titlebar-container,.monaco-workbench.web .part.titlebar>.titlebar-container,.monaco-workbench.windows .part.titlebar>.titlebar-container{justify-content:left;line-height:22px}.monaco-workbench.web.safari .part.titlebar,.monaco-workbench.web.safari .part.titlebar>.titlebar-container{overflow:visible}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-drag-region{-webkit-app-region:drag;display:block;height:100%;left:0;position:absolute;top:0;width:100%}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center,.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-left,.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right{align-items:center;display:flex;height:100%}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-left{flex-grow:2;justify-content:flex-start;order:0;width:20%}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center{justify-content:center;margin:0 10px;max-width:fit-content;min-width:0;order:1;width:60%}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right{flex-grow:2;justify-content:flex-end;min-width:min-content;order:2;width:20%}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title{flex:0 1 auto;font-size:12px;margin-left:auto;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-workbench.linux .part.titlebar>.titlebar-container>.titlebar-center>.window-title,.monaco-workbench.web .part.titlebar>.titlebar-container>.titlebar-center>.window-title,.monaco-workbench.windows .part.titlebar>.titlebar-container>.titlebar-center>.window-title{cursor:default}.monaco-workbench.linux .part.titlebar>.titlebar-container>.titlebar-center>.window-title{font-size:inherit}.monaco-workbench .part.titlebar>.titlebar-container .monaco-toolbar .actions-container{gap:4px}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center{-webkit-app-region:no-drag;z-index:2500}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center.hide{visibility:hidden}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item>.action-label{color:var(--vscode-titleBar-activeForeground)}.monaco-workbench .part.titlebar.inactive>.titlebar-container>.titlebar-center>.window-title>.command-center>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item>.action-label{color:var(--vscode-titleBar-inactiveForeground)}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center>.monaco-toolbar>.monaco-action-bar>.actions-container>.action-item>.action-label{color:inherit}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center{align-items:stretch;background-color:var(--vscode-commandCenter-background);border:1px solid var(--vscode-commandCenter-border);border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top-left-radius:6px;border-top-right-radius:6px;color:var(--vscode-commandCenter-foreground);display:flex;height:22px;margin-left:6px;max-width:600px;overflow:hidden;width:38vw}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center .action-item.command-center-quick-pick{display:flex}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center .action-item.command-center-quick-pick .search-icon{font-size:14px;margin:auto 3px;opacity:.8}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center .action-item.command-center-quick-pick .search-label{overflow:hidden;text-overflow:ellipsis}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center.multiple{justify-content:flex-start;padding:0 12px}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center.multiple.active .action-label{background-color:inherit}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center:only-child{margin-left:0}.monaco-workbench .part.titlebar.inactive>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center{border-color:var(--vscode-commandCenter-inactiveBorder)!important;color:var(--vscode-titleBar-inactiveForeground)}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-center>.window-title>.command-center .action-item.command-center-center:HOVER{background-color:var(--vscode-commandCenter-activeBackground);border-color:var(--vscode-commandCenter-activeBorder);color:var(--vscode-commandCenter-activeForeground)}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-left>.menubar{flex-wrap:nowrap;min-width:36px;order:2;z-index:2500}.monaco-workbench.web .part.titlebar>.titlebar-container>.titlebar-left>.menubar{margin-left:4px}.monaco-workbench .part.titlebar>.titlebar-container.counter-zoom .menubar .menubar-menu-button>.menubar-menu-items-holder.monaco-menu-container{zoom:var(--zoom-factor)}.monaco-workbench.linux .part.titlebar>.titlebar-container>.resizer,.monaco-workbench.windows .part.titlebar>.titlebar-container>.resizer{-webkit-app-region:no-drag;height:4px;position:absolute;top:0;width:100%}.monaco-workbench.linux.fullscreen .part.titlebar>.titlebar-container>.resizer,.monaco-workbench.windows.fullscreen .part.titlebar>.titlebar-container>.resizer{display:none}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-left>.window-appicon{flex-shrink:0;height:100%;order:1;position:relative;width:35px;z-index:2500}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-left>.window-appicon:not(.codicon){background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0xMDI0IDEwMjRIMFYwaDEwMjR2MTAyNHoiIHN0eWxlPSJmaWxsOiNmNmY2ZjY7ZmlsbC1vcGFjaXR5OjAiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMTAyNCA4NS4zMzN2ODUzLjMzM0gwVjg1LjMzM2gxMDI0eiIgc3R5bGU9ImZpbGw6I2ZmZiIvPjxwYXRoIGQ9Ik0wIDg1LjMzM2gyOTguNjY3djg1My4zMzNIMFY4NS4zMzN6bTEwMjQgMHY4NTMuMzMzSDM4NFY4NS4zMzNoNjQwem0tNTU0LjY2NyAxNjBoMzQxLjMzM3YtNjRINDY5LjMzM3Y2NHptMzQxLjMzNCA1MzMuMzM0SDQ2OS4zMzN2NjRoMzQxLjMzM2wuMDAxLTY0em0xMjgtMTQ5LjMzNEg1OTcuMzMzdjY0aDM0MS4zMzNsLjAwMS02NHptMC0xNDkuMzMzSDU5Ny4zMzN2NjRoMzQxLjMzM2wuMDAxLTY0em0wLTE0OS4zMzNINTk3LjMzM3Y2NGgzNDEuMzMzbC4wMDEtNjR6IiBzdHlsZT0iZmlsbDojMTY3YWJmIi8+PC9zdmc+\");background-position:50%;background-repeat:no-repeat;background-size:16px}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-left>.window-appicon.codicon{line-height:30px}.monaco-workbench.fullscreen .part.titlebar>.titlebar-container>.titlebar-left>.window-appicon{display:none}.monaco-workbench .part.titlebar>.titlebar-container .window-appicon>.home-bar-icon-badge{background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxwYXRoIGQ9Ik0xMDI0IDEwMjRIMFYwaDEwMjR2MTAyNHoiIHN0eWxlPSJmaWxsOiNmNmY2ZjY7ZmlsbC1vcGFjaXR5OjAiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNMTAyNCA4NS4zMzN2ODUzLjMzM0gwVjg1LjMzM2gxMDI0eiIgc3R5bGU9ImZpbGw6I2ZmZiIvPjxwYXRoIGQ9Ik0wIDg1LjMzM2gyOTguNjY3djg1My4zMzNIMFY4NS4zMzN6bTEwMjQgMHY4NTMuMzMzSDM4NFY4NS4zMzNoNjQwem0tNTU0LjY2NyAxNjBoMzQxLjMzM3YtNjRINDY5LjMzM3Y2NHptMzQxLjMzNCA1MzMuMzM0SDQ2OS4zMzN2NjRoMzQxLjMzM2wuMDAxLTY0em0xMjgtMTQ5LjMzNEg1OTcuMzMzdjY0aDM0MS4zMzNsLjAwMS02NHptMC0xNDkuMzMzSDU5Ny4zMzN2NjRoMzQxLjMzM2wuMDAxLTY0em0wLTE0OS4zMzNINTk3LjMzM3Y2NGgzNDEuMzMzbC4wMDEtNjR6IiBzdHlsZT0iZmlsbDojMTY3YWJmIi8+PC9zdmc+\");background-position:50%;background-repeat:no-repeat;background-size:8px;border-left:1px solid transparent;border-top:1px solid transparent;bottom:6px;height:8px;pointer-events:none;position:absolute;right:9px;width:8px;z-index:1}.monaco-workbench .part.titlebar .window-controls-container{-webkit-app-region:no-drag;display:flex;flex-grow:0;flex-shrink:0;height:100%;text-align:center;width:0;z-index:3000}.monaco-workbench.web .part.titlebar .titlebar-right .window-controls-container{height:env(titlebar-area-height,35px);width:calc(100vw - env(titlebar-area-width, 100vw) - env(titlebar-area-x, 0px))}.monaco-workbench.web .part.titlebar .titlebar-left .window-controls-container{height:env(titlebar-area-height,35px);width:env(titlebar-area-x,0)}.monaco-workbench.web.mac .part.titlebar .titlebar-left .window-controls-container{order:0}.monaco-workbench.web.mac .part.titlebar .titlebar-right .window-controls-container{order:1}.monaco-workbench:not(.web):not(.mac) .part.titlebar .window-controls-container.primary{width:calc(138px/var(--zoom-factor, 1))}.monaco-workbench:not(.web):not(.mac) .part.titlebar .titlebar-container.counter-zoom .window-controls-container.primary{width:138px}.monaco-workbench:not(.web):not(.mac) .part.titlebar .titlebar-container:not(.counter-zoom) .window-controls-container *{zoom:calc(1/var(--zoom-factor, 1))}.monaco-workbench:not(.web).mac .part.titlebar .window-controls-container.primary{width:70px}.monaco-workbench.fullscreen .part.titlebar .window-controls-container{background-color:transparent;display:none}.monaco-workbench .part.titlebar .window-controls-container>.window-icon{align-items:center;display:flex;font-size:16px;height:100%;justify-content:center;width:46px}.monaco-workbench .part.titlebar .window-controls-container>.window-icon:before{height:16px;line-height:16px}.monaco-workbench .part.titlebar .window-controls-container>.window-icon:hover{background-color:hsla(0,0%,100%,.1)}.monaco-workbench .part.titlebar.light .window-controls-container>.window-icon:hover{background-color:rgba(0,0,0,.1)}.monaco-workbench .part.titlebar .window-controls-container>.window-icon.window-close:hover{background-color:rgba(232,17,35,.9)}.monaco-workbench .part.titlebar .window-controls-container .window-icon.window-close:hover{color:#fff}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container{-webkit-app-region:no-drag;display:none;flex-grow:0;flex-shrink:0;height:100%;margin-left:auto;min-width:28px;padding-right:2px;position:relative;text-align:center;z-index:2500}.monaco-workbench.mac:not(.web) .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container{right:8px}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container:not(.has-no-actions){display:flex;justify-content:center}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container .codicon{color:inherit}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container .monaco-action-bar .action-item{display:flex}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container .monaco-action-bar .badge{align-items:center;display:flex;margin-left:8px}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container .monaco-action-bar .action-item.icon .badge{margin-left:0}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container .monaco-action-bar .badge .badge-content{border-radius:11px;box-sizing:border-box;display:inline-block;font-size:9px;font-weight:400;height:16px;line-height:11px;min-width:11px;padding:3px 5px;position:relative;text-align:center}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container .monaco-action-bar .action-item.icon .badge.compact{bottom:0;height:100%;left:0;margin:auto;overflow:hidden;position:absolute;top:0;width:100%;z-index:2}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container .monaco-action-bar .action-item.icon .badge.compact .badge-content:before{mask-size:12px;-webkit-mask-size:12px;top:2px}.monaco-workbench .part.titlebar>.titlebar-container>.titlebar-right>.action-toolbar-container .monaco-action-bar .action-item.icon .badge.compact .badge-content{border-radius:16px;font-size:9px;font-weight:600;height:12px;line-height:12px;min-width:12px;padding:0 2px;position:absolute;right:0;text-align:center;top:10px}.monaco-workbench .part.titlebar .window-controls-container .window-icon{color:var(--vscode-titleBar-activeForeground)}.monaco-workbench .part.titlebar.inactive .window-controls-container .window-icon{color:var(--vscode-titleBar-inactiveForeground)}";
4
4
  n(css,{});
5
5
 
6
6
  export { css, css as default };
@@ -2,12 +2,13 @@ import { localizeWithPath } from 'vscode/vscode/vs/nls';
2
2
  import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
3
3
  import { IStorageService } from 'vscode/vscode/vs/platform/storage/common/storage';
4
4
  import { registerAction2, Action2, MenuId } from 'vscode/vscode/vs/platform/actions/common/actions';
5
- import { ContextKeyExpr } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
5
+ import { ContextKeyExpr, IContextKeyService } from 'vscode/vscode/vs/platform/contextkey/common/contextkey';
6
6
  import { ACCOUNTS_ACTIVITY_ID, GLOBAL_ACTIVITY_ID } from 'vscode/vscode/vs/workbench/common/activity';
7
- import { IsAuxiliaryWindowFocusedContext } from 'vscode/vscode/vs/workbench/common/contextkeys';
7
+ import { TitleBarStyleContext, IsMainWindowFullscreenContext, TitleBarVisibleContext, IsAuxiliaryWindowFocusedContext } from 'vscode/vscode/vs/workbench/common/contextkeys';
8
8
 
9
9
  class ToggleConfigAction extends Action2 {
10
10
  constructor(section, title, order, mainWindowOnly) {
11
+ const when = mainWindowOnly ? ( IsAuxiliaryWindowFocusedContext.toNegated()) : ContextKeyExpr.true();
11
12
  super({
12
13
  id: `toggle.${section}`,
13
14
  title,
@@ -15,12 +16,13 @@ class ToggleConfigAction extends Action2 {
15
16
  menu: [
16
17
  {
17
18
  id: MenuId.TitleBarContext,
18
- when: mainWindowOnly ? ( IsAuxiliaryWindowFocusedContext.toNegated()) : undefined,
19
- order
19
+ when,
20
+ order,
21
+ group: '2_config'
20
22
  },
21
23
  {
22
24
  id: MenuId.TitleBarTitleContext,
23
- when: mainWindowOnly ? ( IsAuxiliaryWindowFocusedContext.toNegated()) : undefined,
25
+ when,
24
26
  order,
25
27
  group: '2_config'
26
28
  }
@@ -52,9 +54,150 @@ registerAction2(class ToggleLayoutControl extends ToggleConfigAction {
52
54
  )), 2, true);
53
55
  }
54
56
  });
57
+ registerAction2(class ToggleCustomTitleBar extends Action2 {
58
+ constructor() {
59
+ super({
60
+ id: `toggle.${"window.customTitleBarVisibility" }`,
61
+ title: ( localizeWithPath(
62
+ 'vs/workbench/browser/parts/titlebar/titlebarActions',
63
+ 'toggle.hideCustomTitleBar',
64
+ 'Hide Custom Title Bar'
65
+ )),
66
+ menu: [
67
+ { id: MenuId.TitleBarContext, order: 0, when: ( ContextKeyExpr.equals(TitleBarStyleContext.key, "native" )), group: '3_toggle' },
68
+ { id: MenuId.TitleBarTitleContext, order: 0, when: ( ContextKeyExpr.equals(TitleBarStyleContext.key, "native" )), group: '3_toggle' },
69
+ ]
70
+ });
71
+ }
72
+ run(accessor, ...args) {
73
+ const configService = accessor.get(IConfigurationService);
74
+ configService.updateValue("window.customTitleBarVisibility" , "never" );
75
+ }
76
+ });
77
+ registerAction2(class ToggleCustomTitleBarWindowed extends Action2 {
78
+ constructor() {
79
+ super({
80
+ id: `toggle.${"window.customTitleBarVisibility" }.windowed`,
81
+ title: ( localizeWithPath(
82
+ 'vs/workbench/browser/parts/titlebar/titlebarActions',
83
+ 'toggle.hideCustomTitleBarInFullScreen',
84
+ 'Hide Custom Title Bar In Full Screen'
85
+ )),
86
+ menu: [
87
+ { id: MenuId.TitleBarContext, order: 1, when: IsMainWindowFullscreenContext, group: '3_toggle' },
88
+ { id: MenuId.TitleBarTitleContext, order: 1, when: IsMainWindowFullscreenContext, group: '3_toggle' },
89
+ ]
90
+ });
91
+ }
92
+ run(accessor, ...args) {
93
+ const configService = accessor.get(IConfigurationService);
94
+ configService.updateValue("window.customTitleBarVisibility" , "windowed" );
95
+ }
96
+ });
97
+ class ToggleCustomTitleBar extends Action2 {
98
+ constructor() {
99
+ super({
100
+ id: `toggle.toggleCustomTitleBar`,
101
+ title: ( localizeWithPath(
102
+ 'vs/workbench/browser/parts/titlebar/titlebarActions',
103
+ 'toggle.customTitleBar',
104
+ 'Custom Title Bar'
105
+ )),
106
+ toggled: TitleBarVisibleContext,
107
+ menu: [
108
+ {
109
+ id: MenuId.MenubarAppearanceMenu,
110
+ order: 6,
111
+ when: ( ContextKeyExpr.or(( ContextKeyExpr.and(( ContextKeyExpr.equals(TitleBarStyleContext.key, "native" )), ( ContextKeyExpr.and(( ContextKeyExpr.equals('config.workbench.layoutControl.enabled', false)), ( ContextKeyExpr.equals('config.window.commandCenter', false)), ( ContextKeyExpr.notEquals('config.workbench.editor.editorActionsLocation', 'titleBar')), ( ContextKeyExpr.notEquals('config.workbench.activityBar.location', 'top'))))?.negate())), IsMainWindowFullscreenContext)),
112
+ group: '2_workbench_layout'
113
+ },
114
+ ],
115
+ });
116
+ }
117
+ run(accessor, ...args) {
118
+ const configService = accessor.get(IConfigurationService);
119
+ const contextKeyService = accessor.get(IContextKeyService);
120
+ const titleBarVisibility = configService.getValue("window.customTitleBarVisibility" );
121
+ switch (titleBarVisibility) {
122
+ case "never" :
123
+ configService.updateValue("window.customTitleBarVisibility" , "auto" );
124
+ break;
125
+ case "windowed" : {
126
+ const isFullScreen = IsMainWindowFullscreenContext.evaluate(contextKeyService.getContext(null));
127
+ if (isFullScreen) {
128
+ configService.updateValue("window.customTitleBarVisibility" , "auto" );
129
+ }
130
+ else {
131
+ configService.updateValue("window.customTitleBarVisibility" , "never" );
132
+ }
133
+ break;
134
+ }
135
+ case "auto" :
136
+ default:
137
+ configService.updateValue("window.customTitleBarVisibility" , "never" );
138
+ break;
139
+ }
140
+ }
141
+ }
142
+ registerAction2(ToggleCustomTitleBar);
143
+ registerAction2(class ShowCustomTitleBar extends Action2 {
144
+ constructor() {
145
+ super({
146
+ id: `showCustomTitleBar`,
147
+ title: { value: ( localizeWithPath(
148
+ 'vs/workbench/browser/parts/titlebar/titlebarActions',
149
+ 'showCustomTitleBar',
150
+ 'Show Custom Title Bar'
151
+ )), original: 'Show Custom Title Bar' },
152
+ precondition: ( TitleBarVisibleContext.negate()),
153
+ f1: true
154
+ });
155
+ }
156
+ run(accessor, ...args) {
157
+ const configService = accessor.get(IConfigurationService);
158
+ configService.updateValue("window.customTitleBarVisibility" , "auto" );
159
+ }
160
+ });
161
+ registerAction2(class HideCustomTitleBar extends Action2 {
162
+ constructor() {
163
+ super({
164
+ id: `hideCustomTitleBar`,
165
+ title: { value: ( localizeWithPath(
166
+ 'vs/workbench/browser/parts/titlebar/titlebarActions',
167
+ 'hideCustomTitleBar',
168
+ 'Hide Custom Title Bar'
169
+ )), original: 'Hide Custom Title Bar' },
170
+ precondition: TitleBarVisibleContext,
171
+ f1: true
172
+ });
173
+ }
174
+ run(accessor, ...args) {
175
+ const configService = accessor.get(IConfigurationService);
176
+ configService.updateValue("window.customTitleBarVisibility" , "never" );
177
+ }
178
+ });
179
+ registerAction2(class HideCustomTitleBar extends Action2 {
180
+ constructor() {
181
+ super({
182
+ id: `hideCustomTitleBarInFullScreen`,
183
+ title: { value: ( localizeWithPath(
184
+ 'vs/workbench/browser/parts/titlebar/titlebarActions',
185
+ 'hideCustomTitleBarInFullScreen',
186
+ 'Hide Custom Title Bar In Full Screen'
187
+ )), original: 'Hide Custom Title Bar In Full Screen' },
188
+ precondition: ( ContextKeyExpr.and(TitleBarVisibleContext, IsMainWindowFullscreenContext)),
189
+ f1: true
190
+ });
191
+ }
192
+ run(accessor, ...args) {
193
+ const configService = accessor.get(IConfigurationService);
194
+ configService.updateValue("window.customTitleBarVisibility" , "windowed" );
195
+ }
196
+ });
55
197
  registerAction2(class ToggleEditorActions extends Action2 {
56
198
  static { this.settingsID = `workbench.editor.editorActionsLocation`; }
57
199
  constructor() {
200
+ const titleBarContextCondition = ( ContextKeyExpr.and(( ( ContextKeyExpr.equals(`config.workbench.editor.showTabs`, 'none')).negate()), ( ContextKeyExpr.equals(`config.${ToggleEditorActions.settingsID}`, 'default'))))?.negate();
58
201
  super({
59
202
  id: `toggle.${ToggleEditorActions.settingsID}`,
60
203
  title: ( localizeWithPath(
@@ -64,22 +207,29 @@ registerAction2(class ToggleEditorActions extends Action2 {
64
207
  )),
65
208
  toggled: ( ( ContextKeyExpr.equals(`config.${ToggleEditorActions.settingsID}`, 'hidden')).negate()),
66
209
  menu: [
67
- { id: MenuId.TitleBarContext, order: 3, when: ( ContextKeyExpr.equals(`config.workbench.editor.showTabs`, 'none')) },
68
- { id: MenuId.TitleBarTitleContext, order: 3, when: ( ContextKeyExpr.equals(`config.workbench.editor.showTabs`, 'none')), group: '2_config' }
210
+ { id: MenuId.TitleBarContext, order: 3, when: titleBarContextCondition, group: '2_config' },
211
+ { id: MenuId.TitleBarTitleContext, order: 3, when: titleBarContextCondition, group: '2_config' }
69
212
  ]
70
213
  });
71
214
  }
72
215
  run(accessor, ...args) {
73
216
  const configService = accessor.get(IConfigurationService);
74
217
  const storageService = accessor.get(IStorageService);
75
- const value = configService.getValue(ToggleEditorActions.settingsID);
76
- if (value === 'hidden') {
77
- const storedValue = storageService.get(ToggleEditorActions.settingsID, 0 );
78
- configService.updateValue(ToggleEditorActions.settingsID, storedValue ?? 'default');
218
+ const location = configService.getValue(ToggleEditorActions.settingsID);
219
+ if (location === 'hidden') {
220
+ const showTabs = configService.getValue("workbench.editor.showTabs" );
221
+ if (showTabs !== 'none') {
222
+ configService.updateValue(ToggleEditorActions.settingsID, 'titleBar');
223
+ }
224
+ else {
225
+ const storedValue = storageService.get(ToggleEditorActions.settingsID, 0 );
226
+ configService.updateValue(ToggleEditorActions.settingsID, storedValue ?? 'default');
227
+ }
228
+ storageService.remove(ToggleEditorActions.settingsID, 0 );
79
229
  }
80
230
  else {
81
231
  configService.updateValue(ToggleEditorActions.settingsID, 'hidden');
82
- storageService.store(ToggleEditorActions.settingsID, value, 0 , 0 );
232
+ storageService.store(ToggleEditorActions.settingsID, location, 0 , 0 );
83
233
  }
84
234
  }
85
235
  });
@@ -1,9 +1,9 @@
1
1
  import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
2
  import './media/titlebarpart.css.js';
3
- import { localizeWithPath } from 'vscode/vscode/vs/nls';
3
+ import { localizeWithPath, localize2WithPath } from 'vscode/vscode/vs/nls';
4
4
  import { Part, MultiWindowParts } from 'vscode/vscode/vs/workbench/browser/part';
5
- import { isWCOEnabled, getZoomFactor } from 'vscode/vscode/vs/base/browser/browser';
6
- import { getTitleBarStyle, getMenuBarVisibility } from 'vscode/vscode/vs/platform/window/common/window';
5
+ import { getZoomFactor, isWCOEnabled } from 'vscode/vscode/vs/base/browser/browser';
6
+ import { getTitleBarStyle, hasNativeTitlebar, getMenuBarVisibility } from 'vscode/vscode/vs/platform/window/common/window';
7
7
  import { IContextMenuService } from 'vscode/vscode/vs/platform/contextview/browser/contextView';
8
8
  import { StandardMouseEvent } from 'vscode/vscode/vs/base/browser/mouseEvent';
9
9
  import { IConfigurationService } from 'vscode/vscode/vs/platform/configuration/common/configuration';
@@ -14,7 +14,7 @@ import { ThemeIcon } from 'vscode/vscode/vs/base/common/themables';
14
14
  import { TITLE_BAR_INACTIVE_BACKGROUND, TITLE_BAR_ACTIVE_BACKGROUND, WORKBENCH_BACKGROUND, TITLE_BAR_INACTIVE_FOREGROUND, TITLE_BAR_ACTIVE_FOREGROUND, TITLE_BAR_BORDER } from 'vscode/vscode/vs/workbench/common/theme';
15
15
  import { isWeb, isMacintosh, isWindows, isLinux, isNative, platformLocale } from 'vscode/vscode/vs/base/common/platform';
16
16
  import { Color } from 'vscode/vscode/vs/base/common/color';
17
- import { getWindow, getWindowId, append, $, prepend, addDisposableListener, EventType, EventHelper, isAncestor, reset, Dimension } from 'vscode/vscode/vs/base/browser/dom';
17
+ import { getWindow, getWindowId, append, $, prepend, addDisposableListener, EventType, EventHelper, isAncestor, reset, Dimension, getActiveDocument } from 'vscode/vscode/vs/base/browser/dom';
18
18
  import { CustomMenubarControl } from 'vscode/vscode/vs/workbench/browser/parts/titlebar/menubarControl';
19
19
  import { IInstantiationService } from 'vscode/vscode/vs/platform/instantiation/common/instantiation';
20
20
  import { Emitter, Event } from 'vscode/vscode/vs/base/common/event';
@@ -28,7 +28,7 @@ import { Codicon } from 'vscode/vscode/vs/base/common/codicons';
28
28
  import { getIconRegistry } from 'vscode/vscode/vs/platform/theme/common/iconRegistry';
29
29
  import { WindowTitle } from 'vscode/vscode/vs/workbench/browser/parts/titlebar/windowTitle';
30
30
  import { CommandCenterControl } from './commandCenterControl.js';
31
- import { IHoverService } from 'vscode/vscode/vs/workbench/services/hover/browser/hover';
31
+ import { IHoverService } from 'vscode/vscode/vs/platform/hover/browser/hover';
32
32
  import { Categories } from 'vscode/vscode/vs/platform/action/common/actionCommonCategories';
33
33
  import { WorkbenchToolBar } from 'vscode/vscode/vs/platform/actions/browser/toolbar';
34
34
  import { GLOBAL_ACTIVITY_ID, ACCOUNTS_ACTIVITY_ID } from 'vscode/vscode/vs/workbench/common/activity';
@@ -46,16 +46,37 @@ import { ACCOUNTS_ACTIVITY_TILE_ACTION, GLOBAL_ACTIVITY_TITLE_ACTION } from './t
46
46
 
47
47
  var AuxiliaryBrowserTitlebarPart_1;
48
48
  let BrowserTitleService = class BrowserTitleService extends MultiWindowParts {
49
- constructor(instantiationService) {
50
- super();
49
+ constructor(instantiationService, storageService, themeService) {
50
+ super('workbench.titleService', themeService, storageService);
51
51
  this.instantiationService = instantiationService;
52
52
  this.mainPart = this._register(this.createMainTitlebarPart());
53
53
  this.onMenubarVisibilityChange = this.mainPart.onMenubarVisibilityChange;
54
54
  this._register(this.registerPart(this.mainPart));
55
+ this.registerActions();
55
56
  }
56
57
  createMainTitlebarPart() {
57
58
  return this.instantiationService.createInstance(MainBrowserTitlebarPart);
58
59
  }
60
+ registerActions() {
61
+ const that = this;
62
+ registerAction2(class FocusTitleBar extends Action2 {
63
+ constructor() {
64
+ super({
65
+ id: `workbench.action.focusTitleBar`,
66
+ title: ( localize2WithPath(
67
+ 'vs/workbench/browser/parts/titlebar/titlebarPart',
68
+ 'focusTitleBar',
69
+ 'Focus Title Bar'
70
+ )),
71
+ category: Categories.View,
72
+ f1: true,
73
+ });
74
+ }
75
+ run() {
76
+ that.getPartByDocument(getActiveDocument()).focus();
77
+ }
78
+ });
79
+ }
59
80
  createAuxiliaryTitlebarPart(container, editorGroupsContainer) {
60
81
  const titlebarPartContainer = document.createElement('div');
61
82
  titlebarPartContainer.classList.add('part', 'titlebar');
@@ -71,7 +92,7 @@ let BrowserTitleService = class BrowserTitleService extends MultiWindowParts {
71
92
  return titlebarPart;
72
93
  }
73
94
  doCreateAuxiliaryTitlebarPart(container, editorGroupsContainer) {
74
- return this.instantiationService.createInstance(AuxiliaryBrowserTitlebarPart, container, editorGroupsContainer);
95
+ return this.instantiationService.createInstance(AuxiliaryBrowserTitlebarPart, container, editorGroupsContainer, this.mainPart);
75
96
  }
76
97
  updateProperties(properties) {
77
98
  for (const part of this.parts) {
@@ -80,7 +101,9 @@ let BrowserTitleService = class BrowserTitleService extends MultiWindowParts {
80
101
  }
81
102
  };
82
103
  BrowserTitleService = ( __decorate([
83
- ( __param(0, IInstantiationService))
104
+ ( __param(0, IInstantiationService)),
105
+ ( __param(1, IStorageService)),
106
+ ( __param(2, IThemeService))
84
107
  ], BrowserTitleService));
85
108
  let TitlebarPartHoverDelegate = class TitlebarPartHoverDelegate {
86
109
  get delay() {
@@ -106,7 +129,7 @@ TitlebarPartHoverDelegate = ( __decorate([
106
129
  let BrowserTitlebarPart = class BrowserTitlebarPart extends Part {
107
130
  get minimumHeight() {
108
131
  const value = this.isCommandCenterVisible || (isWeb && isWCOEnabled()) ? 35 : 30;
109
- return value / (this.useCounterZoom ? getZoomFactor() : 1);
132
+ return value / (this.preventZoom ? getZoomFactor(getWindow(this.element)) : 1);
110
133
  }
111
134
  get maximumHeight() { return this.minimumHeight; }
112
135
  constructor(id, targetWindow, editorGroupsContainer, contextMenuService, configurationService, environmentService, instantiationService, themeService, storageService, layoutService, contextKeyService, hostService, hoverService, editorGroupService, editorService, menuService, keybindingService) {
@@ -118,6 +141,7 @@ let BrowserTitlebarPart = class BrowserTitlebarPart extends Part {
118
141
  this.contextKeyService = contextKeyService;
119
142
  this.hostService = hostService;
120
143
  this.hoverService = hoverService;
144
+ this.editorGroupService = editorGroupService;
121
145
  this.menuService = menuService;
122
146
  this.keybindingService = keybindingService;
123
147
  this.minimumWidth = 0;
@@ -144,6 +168,7 @@ let BrowserTitlebarPart = class BrowserTitlebarPart extends Part {
144
168
  this._register(this.hostService.onDidChangeFocus(focused => focused ? this.onFocus() : this.onBlur()));
145
169
  this._register(this.hostService.onDidChangeActiveWindow(windowId => windowId === targetWindowId ? this.onFocus() : this.onBlur()));
146
170
  this._register(this.configurationService.onDidChangeConfiguration(e => this.onConfigurationChanged(e)));
171
+ this._register(this.editorGroupService.onDidChangeEditorPartOptions(e => this.onEditorPartConfigurationChange(e)));
147
172
  }
148
173
  onBlur() {
149
174
  this.isInactive = true;
@@ -153,8 +178,18 @@ let BrowserTitlebarPart = class BrowserTitlebarPart extends Part {
153
178
  this.isInactive = false;
154
179
  this.updateStyles();
155
180
  }
181
+ onEditorPartConfigurationChange({ oldPartOptions, newPartOptions }) {
182
+ if (oldPartOptions.editorActionsLocation !== newPartOptions.editorActionsLocation ||
183
+ oldPartOptions.showTabs !== newPartOptions.showTabs) {
184
+ if (this.actionToolBar) {
185
+ this.createActionToolBar();
186
+ this.createActionToolBarMenus({ editorActions: true });
187
+ this._onDidChange.fire(undefined);
188
+ }
189
+ }
190
+ }
156
191
  onConfigurationChanged(event) {
157
- if (!this.isAuxiliary && this.titleBarStyle !== 'native' && (!isMacintosh || isWeb)) {
192
+ if (!this.isAuxiliary && !hasNativeTitlebar(this.configurationService, this.titleBarStyle) && (!isMacintosh || isWeb)) {
158
193
  if (event.affectsConfiguration('window.menuBarVisibility')) {
159
194
  if (this.currentMenubarVisibility === 'compact') {
160
195
  this.uninstallMenubar();
@@ -164,15 +199,11 @@ let BrowserTitlebarPart = class BrowserTitlebarPart extends Part {
164
199
  }
165
200
  }
166
201
  }
167
- if (this.titleBarStyle !== 'native' && this.actionToolBar) {
168
- const affectsEditorActions = event.affectsConfiguration('workbench.editor.editorActionsLocation') || event.affectsConfiguration('workbench.editor.showTabs');
169
- const affectsLayoutControl = event.affectsConfiguration('workbench.layoutControl.enabled');
202
+ if (this.actionToolBar) {
203
+ const affectsLayoutControl = event.affectsConfiguration("workbench.layoutControl.enabled" );
170
204
  const affectsActivityControl = event.affectsConfiguration("workbench.activityBar.location" );
171
- if (affectsEditorActions) {
172
- this.createActionToolBar();
173
- }
174
- if (affectsEditorActions || affectsLayoutControl || affectsActivityControl) {
175
- this.createActionToolBarMenus({ editorActions: affectsEditorActions, layoutActions: affectsLayoutControl, activityActions: affectsActivityControl });
205
+ if (affectsLayoutControl || affectsActivityControl) {
206
+ this.createActionToolBarMenus({ layoutActions: affectsLayoutControl, activityActions: affectsActivityControl });
176
207
  this._onDidChange.fire(undefined);
177
208
  }
178
209
  }
@@ -215,7 +246,7 @@ let BrowserTitlebarPart = class BrowserTitlebarPart extends Part {
215
246
  this.leftContent = append(this.rootContainer, $('.titlebar-left'));
216
247
  this.centerContent = append(this.rootContainer, $('.titlebar-center'));
217
248
  this.rightContent = append(this.rootContainer, $('.titlebar-right'));
218
- if (!isMacintosh && !isWeb) {
249
+ if (!isMacintosh && !isWeb && !hasNativeTitlebar(this.configurationService, this.titleBarStyle)) {
219
250
  this.appIcon = prepend(this.leftContent, $('a.window-appicon'));
220
251
  if (!this.isAuxiliary && isWeb) {
221
252
  const homeIndicator = this.environmentService.options?.homeIndicator;
@@ -231,14 +262,14 @@ let BrowserTitlebarPart = class BrowserTitlebarPart extends Part {
231
262
  }
232
263
  this.dragRegion = prepend(this.rootContainer, $('div.titlebar-drag-region'));
233
264
  if (!this.isAuxiliary &&
234
- this.titleBarStyle !== 'native' &&
265
+ !hasNativeTitlebar(this.configurationService, this.titleBarStyle) &&
235
266
  (!isMacintosh || isWeb) &&
236
267
  this.currentMenubarVisibility !== 'compact') {
237
268
  this.installMenubar();
238
269
  }
239
270
  this.title = append(this.centerContent, $('div.window-title'));
240
271
  this.createTitle();
241
- if (this.titleBarStyle !== 'native') {
272
+ {
242
273
  this.actionToolBarElement = append(this.rightContent, $('div.action-toolbar-container'));
243
274
  this.createActionToolBar();
244
275
  this.createActionToolBarMenus();
@@ -250,8 +281,10 @@ let BrowserTitlebarPart = class BrowserTitlebarPart extends Part {
250
281
  primaryControlLocation = 'right';
251
282
  }
252
283
  }
253
- this.primaryWindowControls = append(primaryControlLocation === 'left' ? this.leftContent : this.rightContent, $('div.window-controls-container.primary'));
254
- append(primaryControlLocation === 'left' ? this.rightContent : this.leftContent, $('div.window-controls-container.secondary'));
284
+ if (!hasNativeTitlebar(this.configurationService, this.titleBarStyle)) {
285
+ this.primaryWindowControls = append(primaryControlLocation === 'left' ? this.leftContent : this.rightContent, $('div.window-controls-container.primary'));
286
+ append(primaryControlLocation === 'left' ? this.rightContent : this.leftContent, $('div.window-controls-container.secondary'));
287
+ }
255
288
  {
256
289
  this._register(addDisposableListener(this.rootContainer, EventType.CONTEXT_MENU, e => {
257
290
  EventHelper.stop(e);
@@ -273,29 +306,6 @@ let BrowserTitlebarPart = class BrowserTitlebarPart extends Part {
273
306
  }, true ));
274
307
  }
275
308
  }
276
- const that = this;
277
- registerAction2(class FocusTitleBar extends Action2 {
278
- constructor() {
279
- super({
280
- id: `workbench.action.focusTitleBar`,
281
- title: { value: ( localizeWithPath(
282
- 'vs/workbench/browser/parts/titlebar/titlebarPart',
283
- 'focusTitleBar',
284
- "Focus Title Bar"
285
- )), original: 'Focus Title Bar' },
286
- category: Categories.View,
287
- f1: true,
288
- });
289
- }
290
- run() {
291
- if (that.customMenubar) {
292
- that.customMenubar.toggleFocus();
293
- }
294
- else {
295
- that.element.querySelector('[tabindex]:not([tabindex="-1"])').focus();
296
- }
297
- }
298
- });
299
309
  this.updateStyles();
300
310
  return this.element;
301
311
  }
@@ -435,7 +445,7 @@ let BrowserTitlebarPart = class BrowserTitlebarPart extends Part {
435
445
  }
436
446
  }
437
447
  onContextMenu(e, menuId) {
438
- const event = ( new StandardMouseEvent(getWindow(this.rootContainer), e));
448
+ const event = ( new StandardMouseEvent(getWindow(this.element), e));
439
449
  this.contextMenuService.showContextMenu({
440
450
  getAnchor: () => event,
441
451
  menuId,
@@ -450,25 +460,26 @@ let BrowserTitlebarPart = class BrowserTitlebarPart extends Part {
450
460
  return getMenuBarVisibility(this.configurationService);
451
461
  }
452
462
  get layoutControlEnabled() {
453
- return !this.isAuxiliary && this.configurationService.getValue('workbench.layoutControl.enabled') !== false;
463
+ return !this.isAuxiliary && this.configurationService.getValue("workbench.layoutControl.enabled" ) !== false;
454
464
  }
455
465
  get isCommandCenterVisible() {
456
466
  return this.configurationService.getValue("window.commandCenter" ) !== false;
457
467
  }
458
468
  get editorActionsEnabled() {
459
- return this.editorGroupsContainer.partOptions.editorActionsLocation === 'titleBar' ||
460
- (this.editorGroupsContainer.partOptions.editorActionsLocation === 'default' &&
461
- this.editorGroupsContainer.partOptions.showTabs === 'none');
469
+ return this.editorGroupService.partOptions.editorActionsLocation === "titleBar" ||
470
+ ((this.editorGroupService.partOptions.editorActionsLocation === "default" && this.editorGroupService.partOptions.showTabs === "none") );
462
471
  }
463
472
  get activityActionsEnabled() {
464
473
  return !this.isAuxiliary && this.configurationService.getValue("workbench.activityBar.location" ) === "top" ;
465
474
  }
466
- get useCounterZoom() {
467
- const zoomFactor = getZoomFactor();
468
- const noMenubar = this.currentMenubarVisibility === 'hidden' || (!isWeb && isMacintosh);
469
- const noCommandCenter = !this.isCommandCenterVisible;
470
- const noToolBarActions = !this.layoutControlEnabled && !this.editorActionsEnabled && !this.activityActionsEnabled;
471
- return zoomFactor < 1 || (noMenubar && noCommandCenter && noToolBarActions);
475
+ get hasZoomableElements() {
476
+ const hasMenubar = !(this.currentMenubarVisibility === 'hidden' || this.currentMenubarVisibility === 'compact' || (!isWeb && isMacintosh));
477
+ const hasCommandCenter = this.isCommandCenterVisible;
478
+ const hasToolBarActions = this.layoutControlEnabled || this.editorActionsEnabled || this.activityActionsEnabled;
479
+ return hasMenubar || hasCommandCenter || hasToolBarActions;
480
+ }
481
+ get preventZoom() {
482
+ return getZoomFactor(getWindow(this.element)) < 1 || !this.hasZoomableElements;
472
483
  }
473
484
  layout(width, height) {
474
485
  this.updateLayout(( new Dimension(width, height)));
@@ -476,16 +487,24 @@ let BrowserTitlebarPart = class BrowserTitlebarPart extends Part {
476
487
  }
477
488
  updateLayout(dimension) {
478
489
  this.lastLayoutDimensions = dimension;
479
- if (getTitleBarStyle(this.configurationService) === 'custom') {
480
- const zoomFactor = getZoomFactor();
490
+ {
491
+ const zoomFactor = getZoomFactor(getWindow(this.element));
481
492
  this.element.style.setProperty('--zoom-factor', ( zoomFactor.toString()));
482
- this.rootContainer.classList.toggle('counter-zoom', this.useCounterZoom);
493
+ this.rootContainer.classList.toggle('counter-zoom', this.preventZoom);
483
494
  if (this.customMenubar) {
484
495
  const menubarDimension = ( new Dimension(0, dimension.height));
485
496
  this.customMenubar.layout(menubarDimension);
486
497
  }
487
498
  }
488
499
  }
500
+ focus() {
501
+ if (this.customMenubar) {
502
+ this.customMenubar.toggleFocus();
503
+ }
504
+ else {
505
+ this.element.querySelector('[tabindex]:not([tabindex="-1"])').focus();
506
+ }
507
+ }
489
508
  toJSON() {
490
509
  return {
491
510
  type: "workbench.parts.titlebar"
@@ -537,27 +556,31 @@ let AuxiliaryBrowserTitlebarPart = class AuxiliaryBrowserTitlebarPart extends Br
537
556
  static { AuxiliaryBrowserTitlebarPart_1 = this; }
538
557
  static { this.COUNTER = 1; }
539
558
  get height() { return this.minimumHeight; }
540
- constructor(container, editorGroupsContainer, contextMenuService, configurationService, environmentService, instantiationService, themeService, storageService, layoutService, contextKeyService, hostService, hoverService, editorGroupService, editorService, menuService, keybindingService) {
559
+ constructor(container, editorGroupsContainer, mainTitlebar, contextMenuService, configurationService, environmentService, instantiationService, themeService, storageService, layoutService, contextKeyService, hostService, hoverService, editorGroupService, editorService, menuService, keybindingService) {
541
560
  const id = AuxiliaryBrowserTitlebarPart_1.COUNTER++;
542
561
  super(`workbench.parts.auxiliaryTitle.${id}`, getWindow(container), editorGroupsContainer, contextMenuService, configurationService, environmentService, instantiationService, themeService, storageService, layoutService, contextKeyService, hostService, hoverService, editorGroupService, editorService, menuService, keybindingService);
543
562
  this.container = container;
563
+ this.mainTitlebar = mainTitlebar;
564
+ }
565
+ get preventZoom() {
566
+ return getZoomFactor(getWindow(this.element)) < 1 || !this.mainTitlebar.hasZoomableElements;
544
567
  }
545
568
  };
546
569
  AuxiliaryBrowserTitlebarPart = AuxiliaryBrowserTitlebarPart_1 = ( __decorate([
547
- ( __param(2, IContextMenuService)),
548
- ( __param(3, IConfigurationService)),
549
- ( __param(4, IBrowserWorkbenchEnvironmentService)),
550
- ( __param(5, IInstantiationService)),
551
- ( __param(6, IThemeService)),
552
- ( __param(7, IStorageService)),
553
- ( __param(8, IWorkbenchLayoutService)),
554
- ( __param(9, IContextKeyService)),
555
- ( __param(10, IHostService)),
556
- ( __param(11, IHoverService)),
557
- ( __param(12, IEditorGroupsService)),
558
- ( __param(13, IEditorService)),
559
- ( __param(14, IMenuService)),
560
- ( __param(15, IKeybindingService))
570
+ ( __param(3, IContextMenuService)),
571
+ ( __param(4, IConfigurationService)),
572
+ ( __param(5, IBrowserWorkbenchEnvironmentService)),
573
+ ( __param(6, IInstantiationService)),
574
+ ( __param(7, IThemeService)),
575
+ ( __param(8, IStorageService)),
576
+ ( __param(9, IWorkbenchLayoutService)),
577
+ ( __param(10, IContextKeyService)),
578
+ ( __param(11, IHostService)),
579
+ ( __param(12, IHoverService)),
580
+ ( __param(13, IEditorGroupsService)),
581
+ ( __param(14, IEditorService)),
582
+ ( __param(15, IMenuService)),
583
+ ( __param(16, IKeybindingService))
561
584
  ], AuxiliaryBrowserTitlebarPart));
562
585
 
563
586
  export { AuxiliaryBrowserTitlebarPart, BrowserTitleService, BrowserTitlebarPart, MainBrowserTitlebarPart };