提交 2b526bc2 编写于 作者: D Daniel Imms

Force DejaVu Sans Mono font in terminal on Fedora

Fixes #35644
上级 53b27405
......@@ -8,6 +8,7 @@ import * as cp from 'child_process';
import * as os from 'os';
import * as platform from 'vs/base/common/platform';
import * as processes from 'vs/base/node/processes';
import { readFile, fileExists } from 'vs/base/node/pfs';
export const TERMINAL_DEFAULT_SHELL_LINUX = !platform.isWindows ? (process.env.SHELL || 'sh') : 'sh';
export const TERMINAL_DEFAULT_SHELL_OSX = !platform.isWindows ? (process.env.SHELL || 'sh') : 'sh';
......@@ -21,3 +22,19 @@ export const TERMINAL_DEFAULT_SHELL_WINDOWS = isAtLeastWindows10 ? powerShellPat
export interface ITerminalProcessFactory {
create(env: { [key: string]: string }): cp.ChildProcess;
}
if (platform.isLinux) {
fileExists('/etc/os-release').then(exists => {
if (!exists) {
return;
}
readFile('/etc/os-release').then(b => {
const contents = b.toString();
if (contents.indexOf('NAME=Fedora')) {
isFedora = true;
}
});
});
}
export let isFedora = false;
\ No newline at end of file
......@@ -14,6 +14,7 @@ import { IStorageService, StorageScope } from 'vs/platform/storage/common/storag
import { ITerminalConfiguration, ITerminalConfigHelper, ITerminalFont, IShellLaunchConfig, IS_WORKSPACE_SHELL_ALLOWED_STORAGE_KEY } from 'vs/workbench/parts/terminal/common/terminal';
import { TPromise } from 'vs/base/common/winjs.base';
import Severity from 'vs/base/common/severity';
import { isFedora } from 'vs/workbench/parts/terminal/electron-browser/terminal';
interface IEditorConfiguration {
editor: IEditorOptions;
......@@ -89,7 +90,15 @@ export class TerminalConfigHelper implements ITerminalConfigHelper {
const editorConfig = (<IEditorConfiguration>config).editor;
const terminalConfig = this.config;
const fontFamily = terminalConfig.fontFamily || editorConfig.fontFamily;
let fontFamily = terminalConfig.fontFamily || editorConfig.fontFamily;
// Work around bad font on Fedora
if (!terminalConfig.fontFamily) {
if (isFedora) {
fontFamily = '\'DejaVu Sans Mono\'';
}
}
let fontSize = this._toInteger(terminalConfig.fontSize, 0);
if (fontSize <= 0) {
fontSize = EDITOR_FONT_DEFAULTS.fontSize;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册