1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
|
diff -Naur a/product.json b/product.json
--- a/product.json 2022-09-01 00:05:32.000000000 +0200
+++ b/product.json 2022-09-04 00:16:05.325505334 +0200
@@ -1,4 +1,20 @@
{
+ "quality": "stable",
+ "extensionsGallery": {
+ "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
+ "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
+ "itemUrl": "https://marketplace.visualstudio.com/items",
+ "resourceUrlTemplate": "https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",
+ "controlUrl": "https://az764295.vo.msecnd.net/extensions/marketplace.json",
+ "recommendationsUrl": "https://az764295.vo.msecnd.net/extensions/workspaceRecommendations.json.gz"
+ },
+ "documentationUrl": "https://code.visualstudio.com/docs",
+ "requestFeatureUrl": "https://github.com/Microsoft/vscode/issues",
+ "introductoryVideosUrl": "https://go.microsoft.com/fwlink/?linkid=832146",
+ "tipsAndTricksUrl": "https://go.microsoft.com/fwlink/?linkid=852118",
+ "keyboardShortcutsUrlLinux": "https://go.microsoft.com/fwlink/?linkid=832144",
+ "commit": "@COMMIT@",
+ "date": "@DATE@",
"nameShort": "Code - OSS",
"nameLong": "Code - OSS",
"applicationName": "code-oss",
diff -Naur a/src/main.js b/src/main.js
--- a/src/main.js 2022-09-01 00:05:32.000000000 +0200
+++ b/src/main.js 2022-09-04 04:30:24.685459144 +0200
@@ -224,6 +224,10 @@
*/
app.commandLine.appendSwitch('disable-features', 'CalculateNativeWinOcclusion');
+ // Enable visuals for transparent window
+ app.commandLine.appendSwitch('enable-transparent-visuals');
+ app.commandLine.appendSwitch('use-gl', 'desktop');
+
// Support JS Flags
const jsFlags = getJSFlags(cliArgs);
if (jsFlags) {
diff -Naur a/src/vs/editor/browser/widget/media/diffEditor.css b/src/vs/editor/browser/widget/media/diffEditor.css
--- a/src/vs/editor/browser/widget/media/diffEditor.css 2022-09-01 00:05:32.000000000 +0200
+++ b/src/vs/editor/browser/widget/media/diffEditor.css 2022-09-29 06:01:33.775897418 +0200
@@ -13,8 +13,8 @@
}
/* colors not externalized: using transparancy on background */
-.monaco-diff-editor.vs .diffOverview { background: rgba(0, 0, 0, 0.03); }
-.monaco-diff-editor.vs-dark .diffOverview { background: rgba(255, 255, 255, 0.01); }
+.monaco-diff-editor.vs .diffOverview { background: transparent; }
+.monaco-diff-editor.vs-dark .diffOverview { background: transparent; }
.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar { background: rgba(0,0,0,0); }
.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar { background: rgba(0,0,0,0); }
diff -Naur a/src/vs/platform/windows/electron-main/windowImpl.ts b/src/vs/platform/windows/electron-main/windowImpl.ts
--- a/src/vs/platform/windows/electron-main/windowImpl.ts 2022-09-01 00:05:32.000000000 +0200
+++ b/src/vs/platform/windows/electron-main/windowImpl.ts 2022-09-04 04:50:44.757860341 +0200
@@ -211,10 +211,11 @@
height: this.windowState.height,
x: this.windowState.x,
y: this.windowState.y,
+ transparent: true,
backgroundColor: this.themeMainService.getBackgroundColor(),
minWidth: WindowMinimumSize.WIDTH,
minHeight: WindowMinimumSize.HEIGHT,
- show: !isFullscreenOrMaximized, // reduce flicker by showing later
+ show: false,
title: this.productService.nameLong,
webPreferences: {
preload: FileAccess.asFileUri('vs/base/parts/sandbox/electron-browser/preload.js', require).fsPath,
@@ -391,9 +392,6 @@
this.setFullScreen(true);
}
- // to reduce flicker from the default window size
- // to maximize or fullscreen, we only show after
- this._win.show();
mark('code/didMaximizeCodeWindow');
}
@@ -478,6 +476,9 @@
this.readyState = ReadyState.READY;
+ // We are ready! Show the window!
+ this._win.show();
+
// inform all waiting promises that we are ready now
while (this.whenReadyCallbacks.length) {
this.whenReadyCallbacks.pop()!(this);
diff -Naur a/src/vs/workbench/common/theme.ts b/src/vs/workbench/common/theme.ts
--- a/src/vs/workbench/common/theme.ts 2022-09-01 00:05:32.000000000 +0200
+++ b/src/vs/workbench/common/theme.ts 2022-09-03 22:50:19.628326135 +0200
@@ -7,21 +7,11 @@
import { registerColor, editorBackground, contrastBorder, transparent, editorWidgetBackground, textLinkForeground, lighten, darken, focusBorder, activeContrastBorder, editorWidgetForeground, editorErrorForeground, editorWarningForeground, editorInfoForeground, treeIndentGuidesStroke, errorForeground, listActiveSelectionBackground, listActiveSelectionForeground, editorForeground, toolbarHoverBackground } from 'vs/platform/theme/common/colorRegistry';
import { IColorTheme } from 'vs/platform/theme/common/themeService';
import { Color } from 'vs/base/common/color';
-import { ColorScheme } from 'vs/platform/theme/common/theme';
// < --- Workbench (not customizable) --- >
export function WORKBENCH_BACKGROUND(theme: IColorTheme): Color {
- switch (theme.type) {
- case ColorScheme.LIGHT:
- return Color.fromHex('#F3F3F3');
- case ColorScheme.HIGH_CONTRAST_LIGHT:
- return Color.fromHex('#FFFFFF');
- case ColorScheme.HIGH_CONTRAST_DARK:
- return Color.fromHex('#000000');
- default:
- return Color.fromHex('#252526');
- }
+ return Color.transparent;
}
// < --- Tabs --- >
@@ -855,6 +845,13 @@
hcLight: editorInfoForeground
}, localize('notificationsInfoIconForeground', "The color used for the icon of info notifications. Notifications slide in from the bottom right of the window."));
+export const WINDOW_BACKGROUND = registerColor('window.background', {
+ dark: '#252526',
+ light: '#F3F3F3',
+ hcDark: '#000000',
+ hcLight: '#FFFFFF'
+}, localize('windowBackground', "The color used for the background of the window."));
+
export const WINDOW_ACTIVE_BORDER = registerColor('window.activeBorder', {
dark: null,
light: null,
diff -Naur a/src/vs/workbench/contrib/splash/browser/partsSplash.ts b/src/vs/workbench/contrib/splash/browser/partsSplash.ts
--- a/src/vs/workbench/contrib/splash/browser/partsSplash.ts 2022-09-01 00:05:32.000000000 +0200
+++ b/src/vs/workbench/contrib/splash/browser/partsSplash.ts 2022-09-29 06:05:09.976290267 +0200
@@ -68,11 +68,16 @@
private _savePartsSplash() {
const theme = this._themeService.getColorTheme();
+ const windowBackground = theme.getColor(themes.WINDOW_BACKGROUND) || Color.transparent;
+ const background = windowBackground.isOpaque() ? windowBackground.transparent(0.99)
+ : windowBackground.isTransparent() ? Color.fromHex('#FFF0')
+ : windowBackground;
+
this._partSplashService.saveWindowSplash({
baseTheme: getThemeTypeSelector(theme.type),
colorInfo: {
foreground: theme.getColor(foreground)?.toString(),
- background: Color.Format.CSS.formatHex(theme.getColor(editorBackground) || themes.WORKBENCH_BACKGROUND(theme)),
+ background: Color.Format.CSS.formatRGBA(background),
editorBackground: theme.getColor(editorBackground)?.toString(),
titleBarBackground: theme.getColor(themes.TITLE_BAR_ACTIVE_BACKGROUND)?.toString(),
activityBarBackground: theme.getColor(themes.ACTIVITY_BAR_BACKGROUND)?.toString(),
diff -Naur a/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.ts b/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.ts
--- a/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.ts 2022-09-01 00:05:32.000000000 +0200
+++ b/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.ts 2022-09-03 02:38:13.888556140 +0200
@@ -152,6 +152,7 @@
altClickMovesCursor: config.altClickMovesCursor && editorOptions.multiCursorModifier === 'alt',
scrollback: config.scrollback,
theme: this._getXtermTheme(),
+ allowTransparency: true,
drawBoldTextInBrightColors: config.drawBoldTextInBrightColors,
fontFamily: font.fontFamily,
fontWeight: config.fontWeight,
|