store Screen configuration in Terminus user directory (fixes #177)

This commit is contained in:
Eugene Pankov
2017-08-11 19:21:32 +03:00
parent 7a005132cc
commit f71f518058

View File

@@ -1,10 +1,11 @@
import * as fs from 'mz/fs' import * as fs from 'mz/fs'
import * as path from 'path'
import { exec, spawn } from 'mz/child_process' import { exec, spawn } from 'mz/child_process'
import { exec as execAsync, execFileSync } from 'child_process' import { exec as execAsync, execFileSync } from 'child_process'
import { AsyncSubject } from 'rxjs' import { AsyncSubject } from 'rxjs'
import { Injectable } from '@angular/core' import { Injectable } from '@angular/core'
import { Logger, LogService } from 'terminus-core' import { Logger, LogService, ElectronService } from 'terminus-core'
import { SessionOptions, SessionPersistenceProvider } from '../api' import { SessionOptions, SessionPersistenceProvider } from '../api'
declare function delay (ms: number): Promise<void> declare function delay (ms: number): Promise<void>
@@ -35,6 +36,7 @@ export class ScreenPersistenceProvider extends SessionPersistenceProvider {
constructor ( constructor (
log: LogService, log: LogService,
private electron: ElectronService,
) { ) {
super() super()
this.logger = log.create('main') this.logger = log.create('main')
@@ -115,7 +117,7 @@ export class ScreenPersistenceProvider extends SessionPersistenceProvider {
} }
private async prepareConfig (): Promise<string> { private async prepareConfig (): Promise<string> {
let configPath = '/tmp/.termScreenConfig' let configPath = path.join(this.electron.app.getPath('userData'), 'screen-config.tmp')
await fs.writeFile(configPath, ` await fs.writeFile(configPath, `
escape ^^^ escape ^^^
vbell off vbell off