Skip to content

Commit 2b64659

Browse files
committed
fix(devtool): fix devtool font in windows
Signed-off-by: Innei <i@innei.in>
1 parent adbdf74 commit 2b64659

File tree

1 file changed

+27
-5
lines changed

1 file changed

+27
-5
lines changed

apps/main/src/window.ts

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -163,15 +163,37 @@ export function createWindow(
163163
window.webContents.on("devtools-opened", () => {
164164
// source-code-font: For code such as Elements panel
165165
// monospace-font: For sidebar such as Event Listener Panel
166-
const css = `
167-
:root {--devtool-font-family: consolas, operator mono, Cascadia Code, monospace;--source-code-font-family: var(--devtool-font-family);--source-code-font-size: 13px;--monospace-font-family: var(--devtool-font-family);--monospace-font-size: 13px;
168-
}`
166+
const css = `:root {--devtool-font-family: consolas, operator mono, Cascadia Code, OperatorMonoSSmLig Nerd Font,"Agave Nerd Font","Cascadia Code PL", monospace;--source-code-font-family:var(--devtool-font-family);--source-code-font-size: 13px;--monospace-font-family: var(--devtool-font-family);--monospace-font-size: 13px;}`
169167
window.webContents.devToolsWebContents?.executeJavaScript(`
170168
const overriddenStyle = document.createElement('style');
171169
overriddenStyle.innerHTML = '${css.replaceAll("\n", " ")}';
172170
document.body.append(overriddenStyle);
173-
document.body.classList.remove('platform-windows');
174-
`)
171+
document.querySelectorAll('.platform-windows').forEach(el => el.classList.remove('platform-windows'));
172+
addStyleToAutoComplete();
173+
const observer = new MutationObserver((mutationList, observer) => {
174+
for (const mutation of mutationList) {
175+
if (mutation.type === 'childList') {
176+
for (let i = 0; i < mutation.addedNodes.length; i++) {
177+
const item = mutation.addedNodes[i];
178+
if (item.classList.contains('editor-tooltip-host')) {
179+
addStyleToAutoComplete();
180+
}
181+
}
182+
}
183+
}
184+
});
185+
observer.observe(document.body, {childList: true});
186+
function addStyleToAutoComplete() {
187+
document.querySelectorAll('.editor-tooltip-host').forEach(element => {
188+
if (element.shadowRoot.querySelectorAll('[data-key="overridden-dev-tools-font"]').length === 0) {
189+
const overriddenStyle = document.createElement('style');
190+
overriddenStyle.setAttribute('data-key', 'overridden-dev-tools-font');
191+
overriddenStyle.innerHTML = '.cm-tooltip-autocomplete ul[role=listbox] {font-family: consolas !important;}';
192+
element.shadowRoot.append(overriddenStyle);
193+
}
194+
});
195+
}
196+
`)
175197
})
176198
}
177199

0 commit comments

Comments
 (0)