@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 +2 -2
- package/vscode/src/vs/workbench/browser/parts/titlebar/commandCenterControl.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css.js +1 -1
- package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarActions.js +162 -12
- package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.js +99 -76
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
|
+
"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
|
|
21
|
+
"vscode": "npm:@codingame/monaco-vscode-api@2.1.0",
|
|
22
22
|
"vscode-marked": "npm:marked@=3.0.2"
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -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
|
|
19
|
-
order
|
|
19
|
+
when,
|
|
20
|
+
order,
|
|
21
|
+
group: '2_config'
|
|
20
22
|
},
|
|
21
23
|
{
|
|
22
24
|
id: MenuId.TitleBarTitleContext,
|
|
23
|
-
when
|
|
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:
|
|
68
|
-
{ id: MenuId.TitleBarTitleContext, order: 3, when:
|
|
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
|
|
76
|
-
if (
|
|
77
|
-
const
|
|
78
|
-
|
|
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,
|
|
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 {
|
|
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/
|
|
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.
|
|
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
|
|
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.
|
|
168
|
-
const
|
|
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 (
|
|
172
|
-
this.
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
254
|
-
|
|
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.
|
|
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(
|
|
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.
|
|
460
|
-
(this.
|
|
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
|
|
467
|
-
const
|
|
468
|
-
const
|
|
469
|
-
const
|
|
470
|
-
|
|
471
|
-
|
|
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
|
-
|
|
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.
|
|
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(
|
|
548
|
-
( __param(
|
|
549
|
-
( __param(
|
|
550
|
-
( __param(
|
|
551
|
-
( __param(
|
|
552
|
-
( __param(
|
|
553
|
-
( __param(
|
|
554
|
-
( __param(
|
|
555
|
-
( __param(
|
|
556
|
-
( __param(
|
|
557
|
-
( __param(
|
|
558
|
-
( __param(
|
|
559
|
-
( __param(
|
|
560
|
-
( __param(
|
|
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 };
|