macOS UTF8 fixes fixed #31, fixed #40

This commit is contained in:
Eugene Pankov 2017-07-08 11:30:25 +02:00
parent 50968508df
commit 980834df6f
2 changed files with 15 additions and 1 deletions

View file

@ -88,7 +88,7 @@ export class ScreenPersistenceProvider extends SessionPersistenceProvider {
await fs.writeFile(configPath, ` await fs.writeFile(configPath, `
escape ^^^ escape ^^^
vbell on vbell on
deflogin off deflogin on
term xterm-color term xterm-color
bindkey "^[OH" beginning-of-line bindkey "^[OH" beginning-of-line
bindkey "^[OF" end-of-line bindkey "^[OF" end-of-line
@ -98,6 +98,8 @@ export class ScreenPersistenceProvider extends SessionPersistenceProvider {
defhstatus "^Et" defhstatus "^Et"
hardstatus off hardstatus off
altscreen on altscreen on
defutf8 on
defencoding utf8
`, 'utf-8') `, 'utf-8')
let recoveryId = `term-tab-${Date.now()}` let recoveryId = `term-tab-${Date.now()}`
let args = ['-d', '-m', '-c', configPath, '-U', '-S', recoveryId, '-T', 'xterm-256color', '--', '-' + options.command].concat(options.args || []) let args = ['-d', '-m', '-c', configPath, '-U', '-S', recoveryId, '-T', 'xterm-256color', '--', '-' + options.command].concat(options.args || [])

View file

@ -28,6 +28,18 @@ export class Session {
...options.env, ...options.env,
TERM: 'xterm-256color', TERM: 'xterm-256color',
} }
if (process.platform === 'darwin' && !process.env.LC_ALL) {
let locale = process.env.LC_CTYPE || 'en_US.UTF-8'
Object.assign(env, {
LANG: locale,
LC_ALL: locale,
LC_MESSAGES: locale,
LC_NUMERIC: locale,
LC_COLLATE: locale,
LC_MONETARY: locale,
})
}
this.pty = nodePTY.spawn(options.command, options.args || [], { this.pty = nodePTY.spawn(options.command, options.args || [], {
name: 'xterm-256color', name: 'xterm-256color',
cols: options.width || 80, cols: options.width || 80,