mirror of
https://github.com/Eugeny/tabby
synced 2024-11-15 01:17:14 +00:00
.
This commit is contained in:
parent
8385161417
commit
125ec2b81c
66 changed files with 104 additions and 227 deletions
10
Makefile
10
Makefile
|
@ -17,6 +17,16 @@ build:
|
||||||
watch:
|
watch:
|
||||||
DEV=1 ./node_modules/.bin/webpack --progress -w
|
DEV=1 ./node_modules/.bin/webpack --progress -w
|
||||||
|
|
||||||
|
install-deps:
|
||||||
|
npm install
|
||||||
|
npm prune
|
||||||
|
for dir in app terminus-* ; do \
|
||||||
|
cd $$dir; \
|
||||||
|
npm --color always install 2>&1 | grep -v 'requires a peer'; \
|
||||||
|
npm --color always prune 2>&1 | grep -v 'requires a peer'; \
|
||||||
|
cd ..; \
|
||||||
|
done
|
||||||
|
make build-native
|
||||||
|
|
||||||
build-native:
|
build-native:
|
||||||
./node_modules/.bin/electron-rebuild -f -w terminus-terminal/node_modules/node-pty -m terminus-terminal
|
./node_modules/.bin/electron-rebuild -f -w terminus-terminal/node_modules/node-pty -m terminus-terminal
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "term",
|
"name": "term",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"angular2-perfect-scrollbar": "2.0.0",
|
|
||||||
"@types/fs-promise": "^1.0.1",
|
"@types/fs-promise": "^1.0.1",
|
||||||
"@types/core-js": "^0.9.35",
|
"@types/core-js": "^0.9.35",
|
||||||
"@types/electron": "1.4.34",
|
"@types/electron": "1.4.34",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
export { BaseTabComponent } from '../components/baseTab'
|
export { BaseTabComponent } from '../components/baseTab.component'
|
||||||
export { TabRecoveryProvider } from './tabRecovery'
|
export { TabRecoveryProvider } from './tabRecovery'
|
||||||
export { ToolbarButtonProvider, IToolbarButton } from './toolbarButtonProvider'
|
export { ToolbarButtonProvider, IToolbarButton } from './toolbarButtonProvider'
|
||||||
export { ConfigProvider } from './configProvider'
|
export { ConfigProvider } from './configProvider'
|
||||||
|
@ -6,10 +6,10 @@ export { HotkeyProvider, IHotkeyDescription } from './hotkeyProvider'
|
||||||
export { DefaultTabProvider } from './defaultTabProvider'
|
export { DefaultTabProvider } from './defaultTabProvider'
|
||||||
export { Theme } from './theme'
|
export { Theme } from './theme'
|
||||||
|
|
||||||
export { AppService } from '../services/app'
|
export { AppService } from '../services/app.service'
|
||||||
export { ConfigService } from '../services/config'
|
export { ConfigService } from '../services/config.service'
|
||||||
export { DockingService } from '../services/docking'
|
export { DockingService } from '../services/docking.service'
|
||||||
export { ElectronService } from '../services/electron'
|
export { ElectronService } from '../services/electron.service'
|
||||||
export { Logger, LogService } from '../services/log'
|
export { Logger, LogService } from '../services/log.service'
|
||||||
export { HotkeysService } from '../services/hotkeys'
|
export { HotkeysService } from '../services/hotkeys.service'
|
||||||
export { HostAppService, Platform } from '../services/hostApp'
|
export { HostAppService, Platform } from '../services/hostApp.service'
|
||||||
|
|
8
terminus-core/src/app.d.ts
vendored
8
terminus-core/src/app.d.ts
vendored
|
@ -1,8 +0,0 @@
|
||||||
declare interface Window {
|
|
||||||
require: any
|
|
||||||
process: any
|
|
||||||
__dirname: any
|
|
||||||
__platform: any
|
|
||||||
}
|
|
||||||
|
|
||||||
declare var window: Window
|
|
|
@ -2,23 +2,23 @@ import { Component, Inject } from '@angular/core'
|
||||||
import { trigger, style, animate, transition, state } from '@angular/animations'
|
import { trigger, style, animate, transition, state } from '@angular/animations'
|
||||||
import { ToasterConfig } from 'angular2-toaster'
|
import { ToasterConfig } from 'angular2-toaster'
|
||||||
|
|
||||||
import { ElectronService } from '../services/electron'
|
import { ElectronService } from '../services/electron.service'
|
||||||
import { HostAppService } from '../services/hostApp'
|
import { HostAppService } from '../services/hostApp.service'
|
||||||
import { HotkeysService } from '../services/hotkeys'
|
import { HotkeysService } from '../services/hotkeys.service'
|
||||||
import { Logger, LogService } from '../services/log'
|
import { Logger, LogService } from '../services/log.service'
|
||||||
import { QuitterService } from '../services/quitter'
|
import { QuitterService } from '../services/quitter.service'
|
||||||
import { ConfigService } from '../services/config'
|
import { ConfigService } from '../services/config.service'
|
||||||
import { DockingService } from '../services/docking'
|
import { DockingService } from '../services/docking.service'
|
||||||
import { TabRecoveryService } from '../services/tabRecovery'
|
import { TabRecoveryService } from '../services/tabRecovery.service'
|
||||||
import { ThemesService } from '../services/themes'
|
import { ThemesService } from '../services/themes.service'
|
||||||
|
|
||||||
import { AppService, IToolbarButton, ToolbarButtonProvider } from '../api'
|
import { AppService, IToolbarButton, ToolbarButtonProvider } from '../api'
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-root',
|
selector: 'app-root',
|
||||||
template: require('./appRoot.pug'),
|
template: require('./appRoot.component.pug'),
|
||||||
styles: [require('./appRoot.scss')],
|
styles: [require('./appRoot.component.scss')],
|
||||||
animations: [
|
animations: [
|
||||||
trigger('animateTab', [
|
trigger('animateTab', [
|
||||||
state('in', style({
|
state('in', style({
|
|
@ -3,8 +3,8 @@ import { IToolbarButton, ToolbarButtonProvider } from '../api'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'start-page',
|
selector: 'start-page',
|
||||||
template: require('./startPage.pug'),
|
template: require('./startPage.component.pug'),
|
||||||
styles: [require('./startPage.scss')],
|
styles: [require('./startPage.component.scss')],
|
||||||
})
|
})
|
||||||
export class StartPageComponent {
|
export class StartPageComponent {
|
||||||
constructor(
|
constructor(
|
|
@ -1,5 +1,5 @@
|
||||||
import { Component, Input, ViewChild, HostBinding, ViewContainerRef } from '@angular/core'
|
import { Component, Input, ViewChild, HostBinding, ViewContainerRef } from '@angular/core'
|
||||||
import { BaseTabComponent } from '../components/baseTab'
|
import { BaseTabComponent } from '../components/baseTab.component'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'tab-body',
|
selector: 'tab-body',
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
import { Component, Input, Output, EventEmitter, HostBinding } from '@angular/core'
|
import { Component, Input, Output, EventEmitter, HostBinding } from '@angular/core'
|
||||||
import { BaseTabComponent } from '../components/baseTab'
|
import { BaseTabComponent } from '../components/baseTab.component'
|
||||||
|
|
||||||
import './tabHeader.scss'
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'tab-header',
|
selector: 'tab-header',
|
||||||
template: require('./tabHeader.pug'),
|
template: require('./tabHeader.component.pug'),
|
||||||
styles: [require('./tabHeader.scss')],
|
styles: [require('./tabHeader.component.scss')],
|
||||||
})
|
})
|
||||||
export class TabHeaderComponent {
|
export class TabHeaderComponent {
|
||||||
@Input() index: number
|
@Input() index: number
|
|
@ -1,10 +1,10 @@
|
||||||
import { Component, HostBinding } from '@angular/core'
|
import { Component, HostBinding } from '@angular/core'
|
||||||
import { HostAppService, Platform } from '../services/hostApp'
|
import { HostAppService, Platform } from '../services/hostApp.service'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'title-bar',
|
selector: 'title-bar',
|
||||||
template: require('./titleBar.pug'),
|
template: require('./titleBar.component.pug'),
|
||||||
styles: [require('./titleBar.scss')],
|
styles: [require('./titleBar.component.scss')],
|
||||||
})
|
})
|
||||||
export class TitleBarComponent {
|
export class TitleBarComponent {
|
||||||
@HostBinding('class.inset-titlebar') insetTitlebar = false
|
@HostBinding('class.inset-titlebar') insetTitlebar = false
|
|
@ -6,24 +6,24 @@ import { ToasterModule } from 'angular2-toaster'
|
||||||
import { NgbModule } from '@ng-bootstrap/ng-bootstrap'
|
import { NgbModule } from '@ng-bootstrap/ng-bootstrap'
|
||||||
import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar'
|
import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar'
|
||||||
|
|
||||||
import { AppService } from './services/app'
|
import { AppService } from './services/app.service'
|
||||||
import { ConfigService } from './services/config'
|
import { ConfigService } from './services/config.service'
|
||||||
import { ElectronService } from './services/electron'
|
import { ElectronService } from './services/electron.service'
|
||||||
import { HostAppService } from './services/hostApp'
|
import { HostAppService } from './services/hostApp.service'
|
||||||
import { LogService } from './services/log'
|
import { LogService } from './services/log.service'
|
||||||
import { HotkeysService, AppHotkeyProvider } from './services/hotkeys'
|
import { HotkeysService, AppHotkeyProvider } from './services/hotkeys.service'
|
||||||
import { NotifyService } from './services/notify'
|
import { NotifyService } from './services/notify.service'
|
||||||
import { PluginsService } from './services/plugins'
|
import { PluginsService } from './services/plugins.service'
|
||||||
import { QuitterService } from './services/quitter'
|
import { QuitterService } from './services/quitter.service'
|
||||||
import { DockingService } from './services/docking'
|
import { DockingService } from './services/docking.service'
|
||||||
import { TabRecoveryService } from './services/tabRecovery'
|
import { TabRecoveryService } from './services/tabRecovery.service'
|
||||||
import { ThemesService } from './services/themes'
|
import { ThemesService } from './services/themes.service'
|
||||||
|
|
||||||
import { AppRootComponent } from './components/appRoot'
|
import { AppRootComponent } from './components/appRoot.component'
|
||||||
import { TabBodyComponent } from './components/tabBody.component'
|
import { TabBodyComponent } from './components/tabBody.component'
|
||||||
import { StartPageComponent } from './components/startPage'
|
import { StartPageComponent } from './components/startPage.component'
|
||||||
import { TabHeaderComponent } from './components/tabHeader'
|
import { TabHeaderComponent } from './components/tabHeader.component'
|
||||||
import { TitleBarComponent } from './components/titleBar'
|
import { TitleBarComponent } from './components/titleBar.component'
|
||||||
|
|
||||||
import { HotkeyProvider } from './api/hotkeyProvider'
|
import { HotkeyProvider } from './api/hotkeyProvider'
|
||||||
import { Theme } from './api/theme'
|
import { Theme } from './api/theme'
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { Subject } from 'rxjs'
|
import { Subject } from 'rxjs'
|
||||||
import { Injectable, ComponentFactoryResolver, Injector, Optional } from '@angular/core'
|
import { Injectable, ComponentFactoryResolver, Injector, Optional } from '@angular/core'
|
||||||
import { Logger, LogService } from '../services/log'
|
|
||||||
import { DefaultTabProvider } from '../api/defaultTabProvider'
|
import { DefaultTabProvider } from '../api/defaultTabProvider'
|
||||||
import { BaseTabComponent } from '../components/baseTab'
|
import { BaseTabComponent } from '../components/baseTab.component'
|
||||||
|
import { Logger, LogService } from '../services/log.service'
|
||||||
|
|
||||||
export declare type TabComponentType = new (...args: any[]) => BaseTabComponent
|
export declare type TabComponentType = new (...args: any[]) => BaseTabComponent
|
||||||
|
|
|
@ -2,8 +2,8 @@ import * as yaml from 'js-yaml'
|
||||||
import * as path from 'path'
|
import * as path from 'path'
|
||||||
import * as fs from 'fs'
|
import * as fs from 'fs'
|
||||||
import { EventEmitter, Injectable, Inject } from '@angular/core'
|
import { EventEmitter, Injectable, Inject } from '@angular/core'
|
||||||
import { ElectronService } from '../services/electron'
|
|
||||||
import { ConfigProvider } from '../api/configProvider'
|
import { ConfigProvider } from '../api/configProvider'
|
||||||
|
import { ElectronService } from '../services/electron.service'
|
||||||
|
|
||||||
|
|
||||||
export class ConfigProxy {
|
export class ConfigProxy {
|
|
@ -1,7 +1,7 @@
|
||||||
import { Injectable } from '@angular/core'
|
import { Injectable } from '@angular/core'
|
||||||
import { HostAppService } from '../services/hostApp'
|
import { ConfigService } from '../services/config.service'
|
||||||
import { ConfigService } from '../services/config'
|
import { ElectronService } from '../services/electron.service'
|
||||||
import { ElectronService } from '../services/electron'
|
import { HostAppService } from '../services/hostApp.service'
|
||||||
|
|
||||||
|
|
||||||
export interface IScreen {
|
export interface IScreen {
|
|
@ -1,6 +1,6 @@
|
||||||
import { Injectable, NgZone, EventEmitter } from '@angular/core'
|
import { Injectable, NgZone, EventEmitter } from '@angular/core'
|
||||||
import { ElectronService } from '../services/electron'
|
import { ElectronService } from '../services/electron.service'
|
||||||
import { Logger, LogService } from '../services/log'
|
import { Logger, LogService } from '../services/log.service'
|
||||||
|
|
||||||
export enum Platform {
|
export enum Platform {
|
||||||
Linux, macOS, Windows,
|
Linux, macOS, Windows,
|
|
@ -1,8 +1,8 @@
|
||||||
import { Injectable, Inject, NgZone, EventEmitter } from '@angular/core'
|
import { Injectable, Inject, NgZone, EventEmitter } from '@angular/core'
|
||||||
import { ElectronService } from '../services/electron'
|
|
||||||
import { ConfigService } from '../services/config'
|
|
||||||
import { NativeKeyEvent, stringifyKeySequence } from './hotkeys.util'
|
|
||||||
import { IHotkeyDescription, HotkeyProvider } from '../api/hotkeyProvider'
|
import { IHotkeyDescription, HotkeyProvider } from '../api/hotkeyProvider'
|
||||||
|
import { NativeKeyEvent, stringifyKeySequence } from './hotkeys.util'
|
||||||
|
import { ConfigService } from '../services/config.service'
|
||||||
|
import { ElectronService } from '../services/electron.service'
|
||||||
|
|
||||||
|
|
||||||
export interface PartialHotkeyMatch {
|
export interface PartialHotkeyMatch {
|
|
@ -1,5 +1,5 @@
|
||||||
import { Injectable } from '@angular/core'
|
import { Injectable } from '@angular/core'
|
||||||
import { HostAppService } from '../services/hostApp'
|
import { HostAppService } from '../services/hostApp.service'
|
||||||
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
|
@ -1,8 +1,8 @@
|
||||||
import { Injectable, Inject } from '@angular/core'
|
import { Injectable, Inject } from '@angular/core'
|
||||||
import { Logger, LogService } from '../services/log'
|
|
||||||
import { BaseTabComponent } from '../components/baseTab'
|
|
||||||
import { TabRecoveryProvider } from '../api/tabRecovery'
|
import { TabRecoveryProvider } from '../api/tabRecovery'
|
||||||
import { AppService } from '../services/app'
|
import { BaseTabComponent } from '../components/baseTab.component'
|
||||||
|
import { Logger, LogService } from '../services/log.service'
|
||||||
|
import { AppService } from '../services/app.service'
|
||||||
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
|
@ -1,5 +1,5 @@
|
||||||
import { Inject, Injectable } from '@angular/core'
|
import { Inject, Injectable } from '@angular/core'
|
||||||
import { ConfigService } from '../services/config'
|
import { ConfigService } from '../services/config.service'
|
||||||
import { Theme } from '../api/theme'
|
import { Theme } from '../api/theme'
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { Injectable } from '@angular/core'
|
import { Injectable } from '@angular/core'
|
||||||
import { ToolbarButtonProvider, IToolbarButton, AppService } from 'terminus-core'
|
import { ToolbarButtonProvider, IToolbarButton, AppService } from 'terminus-core'
|
||||||
|
|
||||||
import { SettingsTabComponent } from './components/settingsTab'
|
import { SettingsTabComponent } from './components/settingsTab.component'
|
||||||
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
.stroke(*ngFor='let stroke of model')
|
|
||||||
.key-container(
|
|
||||||
*ngFor='let key of splitKeys(stroke); let isLast = last; trackBy: key',
|
|
||||||
[@animateKey]='animate ? "in" : ""'
|
|
||||||
)
|
|
||||||
.key {{key}}
|
|
||||||
.plus(*ngIf='!isLast') +
|
|
|
@ -1,26 +0,0 @@
|
||||||
:host {
|
|
||||||
display: inline-block;
|
|
||||||
|
|
||||||
.stroke {
|
|
||||||
display: inline-block;
|
|
||||||
margin: 0 5px;
|
|
||||||
background: #222;
|
|
||||||
border-radius: 2px;
|
|
||||||
box-shadow: 0 1px 0 rgba(0,0,0,.5);
|
|
||||||
text-shadow: 0 1px 0 rgba(0,0,0,.5);
|
|
||||||
|
|
||||||
.key-container {
|
|
||||||
display: inline-block;
|
|
||||||
|
|
||||||
.key {
|
|
||||||
display: inline-block;
|
|
||||||
padding: 4px 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.plus {
|
|
||||||
display: inline-block;
|
|
||||||
padding: 4px 2px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,41 +0,0 @@
|
||||||
import { Component, Input, trigger, style, animate, transition } from '@angular/core'
|
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'hotkey-display',
|
|
||||||
template: require('./hotkeyDisplay.pug'),
|
|
||||||
styles: [require('./hotkeyDisplay.scss')],
|
|
||||||
//changeDetection: ChangeDetectionStrategy.OnPush,
|
|
||||||
animations: [
|
|
||||||
trigger('animateKey', [
|
|
||||||
transition('void => in', [
|
|
||||||
style({
|
|
||||||
transform: 'translateX(25px)',
|
|
||||||
opacity: '0',
|
|
||||||
}),
|
|
||||||
animate('250ms ease-out', style({
|
|
||||||
transform: 'translateX(0)',
|
|
||||||
opacity: '1',
|
|
||||||
}))
|
|
||||||
]),
|
|
||||||
transition('in => void', [
|
|
||||||
style({
|
|
||||||
transform: 'translateX(0)',
|
|
||||||
opacity: '1',
|
|
||||||
}),
|
|
||||||
animate('250ms ease-in', style({
|
|
||||||
transform: 'translateX(25px)',
|
|
||||||
opacity: '0',
|
|
||||||
}))
|
|
||||||
])
|
|
||||||
])
|
|
||||||
]
|
|
||||||
})
|
|
||||||
export class HotkeyDisplayComponent {
|
|
||||||
splitKeys(keys: string): string[] {
|
|
||||||
return keys.split('+').map((x) => x.trim())
|
|
||||||
}
|
|
||||||
|
|
||||||
@Input() model: string[]
|
|
||||||
@Input() animate = false
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
:host {
|
|
||||||
display: inline-block;
|
|
||||||
padding: 5px;
|
|
||||||
|
|
||||||
transition: 0.125s all;
|
|
||||||
|
|
||||||
&:hover:not(.active) {
|
|
||||||
background: rgba(255, 255, 255, .033);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:active:not(.active) {
|
|
||||||
background: rgba(0, 0, 0, .1);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
import { Component, Input, Output, EventEmitter, HostListener, ChangeDetectionStrategy } from '@angular/core'
|
|
||||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
|
|
||||||
|
|
||||||
import { HotkeyInputModalComponent } from './hotkeyInputModal'
|
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
|
||||||
selector: 'hotkey-input',
|
|
||||||
template: `
|
|
||||||
<hotkey-display [model]='model'></hotkey-display>
|
|
||||||
`,
|
|
||||||
styles: [require('./hotkeyInput.scss')],
|
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
||||||
})
|
|
||||||
export class HotkeyInputComponent {
|
|
||||||
constructor(
|
|
||||||
private ngbModal: NgbModal,
|
|
||||||
) { }
|
|
||||||
|
|
||||||
@HostListener('click') public click() {
|
|
||||||
this.ngbModal.open(HotkeyInputModalComponent).result.then((value: string[]) => {
|
|
||||||
this.model = value
|
|
||||||
this.modelChange.emit(this.model)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
splitKeys(keys: string): string[] {
|
|
||||||
return keys.split('+').map((x) => x.trim())
|
|
||||||
}
|
|
||||||
|
|
||||||
@Input() model: string[]
|
|
||||||
@Output() modelChange = new EventEmitter()
|
|
||||||
}
|
|
|
@ -8,8 +8,8 @@ const INPUT_TIMEOUT = 1000
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'hotkey-input-modal',
|
selector: 'hotkey-input-modal',
|
||||||
template: require('./hotkeyInputModal.pug'),
|
template: require('./hotkeyInputModal.component.pug'),
|
||||||
styles: [require('./hotkeyInputModal.scss')],
|
styles: [require('./hotkeyInputModal.component.scss')],
|
||||||
animations: [
|
animations: [
|
||||||
trigger('animateKey', [
|
trigger('animateKey', [
|
||||||
transition(':enter', [
|
transition(':enter', [
|
|
@ -1,12 +1,12 @@
|
||||||
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core'
|
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core'
|
||||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
|
import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
|
||||||
import { HotkeyInputModalComponent } from './hotkeyInputModal'
|
import { HotkeyInputModalComponent } from './hotkeyInputModal.component'
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'multi-hotkey-input',
|
selector: 'multi-hotkey-input',
|
||||||
template: require('./multiHotkeyInput.pug'),
|
template: require('./multiHotkeyInput.component.pug'),
|
||||||
styles: [require('./multiHotkeyInput.scss')],
|
styles: [require('./multiHotkeyInput.component.scss')],
|
||||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||||
})
|
})
|
||||||
export class MultiHotkeyInputComponent {
|
export class MultiHotkeyInputComponent {
|
|
@ -6,10 +6,10 @@ import { SettingsTabProvider } from '../api'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'settings-tab',
|
selector: 'settings-tab',
|
||||||
template: require('./settingsTab.pug'),
|
template: require('./settingsTab.component.pug'),
|
||||||
styles: [
|
styles: [
|
||||||
require('./settingsTab.scss'),
|
require('./settingsTab.component.scss'),
|
||||||
require('./settingsTab.deep.css'),
|
require('./settingsTab.deep.component.css'),
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
export class SettingsTabComponent extends BaseTabComponent {
|
export class SettingsTabComponent extends BaseTabComponent {
|
|
@ -6,12 +6,10 @@ import { Ng2FilterPipeModule } from 'ng2-filter-pipe'
|
||||||
|
|
||||||
import { ToolbarButtonProvider, TabRecoveryProvider } from 'terminus-core'
|
import { ToolbarButtonProvider, TabRecoveryProvider } from 'terminus-core'
|
||||||
|
|
||||||
import { HotkeyInputComponent } from './components/hotkeyInput'
|
import { HotkeyInputModalComponent } from './components/hotkeyInputModal.component'
|
||||||
import { HotkeyDisplayComponent } from './components/hotkeyDisplay'
|
import { MultiHotkeyInputComponent } from './components/multiHotkeyInput.component'
|
||||||
import { HotkeyInputModalComponent } from './components/hotkeyInputModal'
|
import { SettingsTabComponent } from './components/settingsTab.component'
|
||||||
import { MultiHotkeyInputComponent } from './components/multiHotkeyInput'
|
import { SettingsTabBodyComponent } from './components/settingsTabBody.component'
|
||||||
import { SettingsTabComponent } from './components/settingsTab'
|
|
||||||
import { SettingsTabBodyComponent } from './components/settingsTabBody'
|
|
||||||
|
|
||||||
import { ButtonProvider } from './buttonProvider'
|
import { ButtonProvider } from './buttonProvider'
|
||||||
import { RecoveryProvider } from './recoveryProvider'
|
import { RecoveryProvider } from './recoveryProvider'
|
||||||
|
@ -33,8 +31,6 @@ import { RecoveryProvider } from './recoveryProvider'
|
||||||
SettingsTabComponent,
|
SettingsTabComponent,
|
||||||
],
|
],
|
||||||
declarations: [
|
declarations: [
|
||||||
HotkeyDisplayComponent,
|
|
||||||
HotkeyInputComponent,
|
|
||||||
HotkeyInputModalComponent,
|
HotkeyInputModalComponent,
|
||||||
MultiHotkeyInputComponent,
|
MultiHotkeyInputComponent,
|
||||||
SettingsTabComponent,
|
SettingsTabComponent,
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { Injectable } from '@angular/core'
|
import { Injectable } from '@angular/core'
|
||||||
import { TabRecoveryProvider, AppService } from 'terminus-core'
|
import { TabRecoveryProvider, AppService } from 'terminus-core'
|
||||||
|
|
||||||
import { SettingsTabComponent } from './components/settingsTab'
|
import { SettingsTabComponent } from './components/settingsTab.component'
|
||||||
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import { TerminalTabComponent } from './components/terminalTab'
|
import { TerminalTabComponent } from './components/terminalTab.component'
|
||||||
export { TerminalTabComponent }
|
export { TerminalTabComponent }
|
||||||
|
|
||||||
export abstract class TerminalDecorator {
|
export abstract class TerminalDecorator {
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { Injectable } from '@angular/core'
|
import { Injectable } from '@angular/core'
|
||||||
import { HotkeysService, ToolbarButtonProvider, IToolbarButton, AppService, ConfigService } from 'terminus-core'
|
import { HotkeysService, ToolbarButtonProvider, IToolbarButton, AppService, ConfigService } from 'terminus-core'
|
||||||
|
|
||||||
import { SessionsService } from './services/sessions'
|
import { SessionsService } from './services/sessions.service'
|
||||||
import { TerminalTabComponent } from './components/terminalTab'
|
import { TerminalTabComponent } from './components/terminalTab.component'
|
||||||
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
|
|
@ -4,8 +4,8 @@ import { NgbPopover } from '@ng-bootstrap/ng-bootstrap'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'color-picker',
|
selector: 'color-picker',
|
||||||
template: require('./colorPicker.pug'),
|
template: require('./colorPicker.component.pug'),
|
||||||
styles: [require('./colorPicker.scss')],
|
styles: [require('./colorPicker.component.scss')],
|
||||||
})
|
})
|
||||||
export class ColorPickerComponent {
|
export class ColorPickerComponent {
|
||||||
@Input() model: string
|
@Input() model: string
|
|
@ -13,8 +13,8 @@ import { TerminalColorSchemeProvider, ITerminalColorScheme } from '../api'
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
template: require('./terminalSettingsTab.pug'),
|
template: require('./terminalSettingsTab.component.pug'),
|
||||||
styles: [require('./terminalSettingsTab.scss')],
|
styles: [require('./terminalSettingsTab.component.scss')],
|
||||||
})
|
})
|
||||||
export class TerminalSettingsTabComponent {
|
export class TerminalSettingsTabComponent {
|
||||||
fonts: string[] = []
|
fonts: string[] = []
|
|
@ -2,15 +2,16 @@ import { BehaviorSubject, ReplaySubject, Subject, Subscription } from 'rxjs'
|
||||||
import { Component, NgZone, Inject, ViewChild, HostBinding, Input } from '@angular/core'
|
import { Component, NgZone, Inject, ViewChild, HostBinding, Input } from '@angular/core'
|
||||||
import { AppService, ConfigService, BaseTabComponent } from 'terminus-core'
|
import { AppService, ConfigService, BaseTabComponent } from 'terminus-core'
|
||||||
|
|
||||||
|
import { Session } from '../services/sessions.service'
|
||||||
|
|
||||||
import { TerminalDecorator, ResizeEvent } from '../api'
|
import { TerminalDecorator, ResizeEvent } from '../api'
|
||||||
import { Session } from '../services/sessions'
|
|
||||||
import { hterm, preferenceManager } from '../hterm'
|
import { hterm, preferenceManager } from '../hterm'
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'terminalTab',
|
selector: 'terminalTab',
|
||||||
template: '<div #content class="content"></div>',
|
template: '<div #content class="content"></div>',
|
||||||
styles: [require('./terminalTab.scss')],
|
styles: [require('./terminalTab.component.scss')],
|
||||||
})
|
})
|
||||||
export class TerminalTabComponent extends BaseTabComponent {
|
export class TerminalTabComponent extends BaseTabComponent {
|
||||||
hterm: any
|
hterm: any
|
|
@ -18,7 +18,7 @@ hterm.hterm.VT.ESC['k'] = function(parseState) {
|
||||||
}
|
}
|
||||||
|
|
||||||
preferenceManager.set('user-css', dataurl.convert({
|
preferenceManager.set('user-css', dataurl.convert({
|
||||||
data: require('./components/terminal.userCSS.scss'),
|
data: require('./hterm.userCSS.scss'),
|
||||||
mimetype: 'text/css',
|
mimetype: 'text/css',
|
||||||
charset: 'utf8',
|
charset: 'utf8',
|
||||||
}))
|
}))
|
||||||
|
|
|
@ -6,10 +6,12 @@ import { NgbModule } from '@ng-bootstrap/ng-bootstrap'
|
||||||
import { HostAppService, Platform, ToolbarButtonProvider, TabRecoveryProvider, ConfigProvider, HotkeysService } from 'terminus-core'
|
import { HostAppService, Platform, ToolbarButtonProvider, TabRecoveryProvider, ConfigProvider, HotkeysService } from 'terminus-core'
|
||||||
import { SettingsTabProvider } from 'terminus-settings'
|
import { SettingsTabProvider } from 'terminus-settings'
|
||||||
|
|
||||||
import { TerminalTabComponent } from './components/terminalTab'
|
import { TerminalTabComponent } from './components/terminalTab.component'
|
||||||
import { TerminalSettingsTabComponent } from './components/terminalSettingsTab'
|
import { TerminalSettingsTabComponent } from './components/terminalSettingsTab.component'
|
||||||
import { ColorPickerComponent } from './components/colorPicker'
|
import { ColorPickerComponent } from './components/colorPicker.component'
|
||||||
import { SessionsService } from './services/sessions'
|
|
||||||
|
import { SessionsService } from './services/sessions.service'
|
||||||
|
|
||||||
import { ScreenPersistenceProvider } from './persistenceProviders'
|
import { ScreenPersistenceProvider } from './persistenceProviders'
|
||||||
import { ButtonProvider } from './buttonProvider'
|
import { ButtonProvider } from './buttonProvider'
|
||||||
import { RecoveryProvider } from './recoveryProvider'
|
import { RecoveryProvider } from './recoveryProvider'
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { Injectable } from '@angular/core'
|
import { Injectable } from '@angular/core'
|
||||||
import { TabRecoveryProvider, AppService } from 'terminus-core'
|
import { TabRecoveryProvider, AppService } from 'terminus-core'
|
||||||
|
|
||||||
import { SessionsService } from './services/sessions'
|
import { TerminalTabComponent } from './components/terminalTab.component'
|
||||||
import { TerminalTabComponent } from './components/terminalTab'
|
import { SessionsService } from './services/sessions.service'
|
||||||
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { Injectable } from '@angular/core'
|
import { Injectable } from '@angular/core'
|
||||||
import { SettingsTabProvider, ComponentType } from 'terminus-settings'
|
import { SettingsTabProvider, ComponentType } from 'terminus-settings'
|
||||||
|
|
||||||
import { TerminalSettingsTabComponent } from './components/terminalSettingsTab'
|
import { TerminalSettingsTabComponent } from './components/terminalSettingsTab.component'
|
||||||
|
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
|
|
Loading…
Reference in a new issue