mirror of
https://github.com/Eugeny/tabby
synced 2024-11-14 00:47:15 +00:00
project rename
This commit is contained in:
parent
c61be3d52b
commit
43cd3318da
609 changed files with 510 additions and 530 deletions
18
.github/dependabot.yml
vendored
18
.github/dependabot.yml
vendored
|
@ -13,55 +13,55 @@ updates:
|
|||
time: "04:00"
|
||||
open-pull-requests-limit: 20
|
||||
- package-ecosystem: npm
|
||||
directory: "/terminus-core"
|
||||
directory: "/tabby-core"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "04:00"
|
||||
open-pull-requests-limit: 20
|
||||
- package-ecosystem: npm
|
||||
directory: "/terminus-settings"
|
||||
directory: "/tabby-settings"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "04:00"
|
||||
open-pull-requests-limit: 20
|
||||
- package-ecosystem: npm
|
||||
directory: "/terminus-terminal"
|
||||
directory: "/tabby-terminal"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "04:00"
|
||||
open-pull-requests-limit: 20
|
||||
- package-ecosystem: npm
|
||||
directory: "/terminus-local"
|
||||
directory: "/tabby-local"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "04:00"
|
||||
open-pull-requests-limit: 20
|
||||
- package-ecosystem: npm
|
||||
directory: "/terminus-community-color-schemes"
|
||||
directory: "/tabby-community-color-schemes"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "04:00"
|
||||
open-pull-requests-limit: 20
|
||||
- package-ecosystem: npm
|
||||
directory: "/terminus-electron"
|
||||
directory: "/tabby-electron"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "04:00"
|
||||
open-pull-requests-limit: 20
|
||||
- package-ecosystem: npm
|
||||
directory: "/terminus-web"
|
||||
directory: "/tabby-web"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "04:00"
|
||||
open-pull-requests-limit: 20
|
||||
- package-ecosystem: npm
|
||||
directory: "/terminus-plugin-manager"
|
||||
directory: "/tabby-plugin-manager"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "04:00"
|
||||
open-pull-requests-limit: 20
|
||||
- package-ecosystem: npm
|
||||
directory: "/terminus-ssh"
|
||||
directory: "/tabby-ssh"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "04:00"
|
||||
|
|
4
.github/workflows/linux.yml
vendored
4
.github/workflows/linux.yml
vendored
|
@ -44,7 +44,7 @@ jobs:
|
|||
# DEBUG: electron-builder,electron-builder:*
|
||||
|
||||
- name: Build web resources
|
||||
run: zsh -c 'tar czf terminus-web.tar.gz (terminus-*|web)/dist'
|
||||
run: zsh -c 'tar czf tabby-web.tar.gz (tabby-*|web)/dist'
|
||||
|
||||
- name: Upload symbols
|
||||
run: |
|
||||
|
@ -68,7 +68,7 @@ jobs:
|
|||
mkdir artifact-tar.gz
|
||||
mv dist/*.tar.gz artifact-tar.gz/ || true
|
||||
mkdir artifact-web
|
||||
mv terminus-web.tar.gz artifact-web/ || true
|
||||
mv tabby-web.tar.gz artifact-web/ || true
|
||||
|
||||
- uses: actions/upload-artifact@master
|
||||
name: Upload DEB
|
||||
|
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -32,5 +32,5 @@ docs/api
|
|||
sentry.properties
|
||||
sentry-symbols.js
|
||||
|
||||
terminus-ssh/util/pagent.exe
|
||||
tabby-ssh/util/pagent.exe
|
||||
*.psd
|
||||
|
|
36
.travis.yml
36
.travis.yml
|
@ -1,36 +0,0 @@
|
|||
language: node_js
|
||||
node_js: 15
|
||||
|
||||
stages:
|
||||
- Build
|
||||
- name: Docs
|
||||
if: branch = master
|
||||
|
||||
jobs:
|
||||
include:
|
||||
- stage: 'Docs'
|
||||
os: linux
|
||||
if: branch = master
|
||||
script:
|
||||
- '[ -z "${encrypted_4e2fb4889ef8_iv}" ] && exit 0 || true'
|
||||
- set -e
|
||||
- openssl aes-256-cbc -K $encrypted_4e2fb4889ef8_key -iv $encrypted_4e2fb4889ef8_iv -in .travis.ssh.key.enc -out .travis.ssh.key -d
|
||||
- eval "$(ssh-agent -s)"
|
||||
- chmod 600 .travis.ssh.key
|
||||
- ssh-add .travis.ssh.key
|
||||
- yarn
|
||||
- yarn run docs
|
||||
- rsync -e "ssh -o StrictHostKeyChecking=no" -arv docs/api/ root@ajenti.org:/srv/terminus-docs/
|
||||
|
||||
dist: xenial
|
||||
sudo: false
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- rpm
|
||||
- yarn
|
||||
- libsecret-1-dev
|
||||
sources:
|
||||
- sourceline: 'deb https://dl.yarnpkg.com/debian/ stable main'
|
||||
key_url: 'https://dl.yarnpkg.com/debian/pubkey.gpg'
|
2
.vscode/launch.json
vendored
2
.vscode/launch.json
vendored
|
@ -8,7 +8,7 @@
|
|||
"protocol": "inspector",
|
||||
"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/electron",
|
||||
"env": {
|
||||
"TERMINUS_DEV": "1"
|
||||
"TABBY_DEV": "1"
|
||||
},
|
||||
"runtimeArgs": [
|
||||
"--remote-debugging-port=9223",
|
||||
|
|
36
HACKING.md
36
HACKING.md
|
@ -1,6 +1,6 @@
|
|||
# Some background
|
||||
|
||||
Terminus is an Electron app, with the frontend written in Typescript with the help of Angular framework. It's built using Webpack.
|
||||
Tabby is an Electron app, with the frontend written in Typescript with the help of Angular framework. It's built using Webpack.
|
||||
|
||||
# Getting started
|
||||
|
||||
|
@ -34,7 +34,7 @@ Now, check if your build is working:
|
|||
yarn run build
|
||||
```
|
||||
|
||||
Start Terminus with
|
||||
Start Tabby with
|
||||
|
||||
```
|
||||
yarn start
|
||||
|
@ -58,26 +58,26 @@ The artifacts will be produced in the `dist` folder.
|
|||
|
||||
# Project layout
|
||||
```
|
||||
terminus
|
||||
tabby
|
||||
├─ app # Electron app, just the bare essentials
|
||||
| ├─ src # Electron renderer code
|
||||
| └─ main.js # Electron main entry point
|
||||
├─ build
|
||||
├─ clink # Clink distributive, for Windows
|
||||
├─ scripts # Maintenance scripts
|
||||
├─ terminus-community-color-schemes # Plugin that provides color schemes
|
||||
├─ terminus-core # Plugin that provides base UI and tab management
|
||||
├─ terminus-electron # Plugin that provides Electron-specific functions
|
||||
├─ terminus-local # Plugin that provides local shells and profiles
|
||||
├─ terminus-plugin-manager # Plugin that installs other plugins
|
||||
├─ terminus-settings # Plugin that provides the settings tab
|
||||
├─ terminus-terminal # Plugin that provides terminal tabs
|
||||
└─ terminus-web # Plugin that provides web-specific functions
|
||||
├─ tabby-community-color-schemes # Plugin that provides color schemes
|
||||
├─ tabby-core # Plugin that provides base UI and tab management
|
||||
├─ tabby-electron # Plugin that provides Electron-specific functions
|
||||
├─ tabby-local # Plugin that provides local shells and profiles
|
||||
├─ tabby-plugin-manager # Plugin that installs other plugins
|
||||
├─ tabby-settings # Plugin that provides the settings tab
|
||||
├─ tabby-terminal # Plugin that provides terminal tabs
|
||||
└─ tabby-web # Plugin that provides web-specific functions
|
||||
```
|
||||
|
||||
# Plugin layout
|
||||
```
|
||||
terminus-pluginname
|
||||
tabby-pluginname
|
||||
├─ src # Typescript code
|
||||
| ├─ components # Angular components
|
||||
| | ├─ foo.component.ts # Code
|
||||
|
@ -94,11 +94,11 @@ terminus-pluginname
|
|||
|
||||
# Plugins
|
||||
|
||||
The app will load all plugins from the source checkout in the dev mode, from the user's plugins directory at all times (click `Open Plugins Directory` under `Settings` > `Plugins`) and from the directory specified by the `TERMINUS_PLUGINS` environment var.
|
||||
The app will load all plugins from the source checkout in the dev mode, from the user's plugins directory at all times (click `Open Plugins Directory` under `Settings` > `Plugins`) and from the directory specified by the `TABBY_PLUGINS` environment var.
|
||||
|
||||
Only modules whose `package.json` file contains a `terminus-plugin` keyword will be loaded.
|
||||
Only modules whose `package.json` file contains a `tabby-plugin` keyword will be loaded.
|
||||
|
||||
If you're currently in your plugin's directory, start Terminus as `TERMINUS_PLUGINS=$(pwd) terminus --debug`
|
||||
If you're currently in your plugin's directory, start Tabby as `TABBY_PLUGINS=$(pwd) tabby --debug`
|
||||
|
||||
A plugin should only provide a default export, which should be a `NgModule` class (or a `NgModuleWithDependencies` where applicable). This module will be injected as a dependency to the app's root module.
|
||||
|
||||
|
@ -118,7 +118,7 @@ Plugins provide functionality by exporting singular or multi providers:
|
|||
|
||||
```javascript
|
||||
import { NgModule, Injectable } from '@angular/core'
|
||||
import { ToolbarButtonProvider, ToolbarButton } from 'terminus-core'
|
||||
import { ToolbarButtonProvider, ToolbarButton } from 'tabby-core'
|
||||
|
||||
@Injectable()
|
||||
export class MyButtonProvider extends ToolbarButtonProvider {
|
||||
|
@ -143,6 +143,6 @@ export default class MyModule { }
|
|||
```
|
||||
|
||||
|
||||
See `terminus-core/src/api.ts`, `terminus-settings/src/api.ts`, `terminus-local/src/api.ts` and `terminus-terminal/src/api.ts` for the available extension points.
|
||||
See `tabby-core/src/api.ts`, `tabby-settings/src/api.ts`, `tabby-local/src/api.ts` and `tabby-terminal/src/api.ts` for the available extension points.
|
||||
|
||||
Publish your plugin on NPM with a `terminus-plugin` keyword to make it appear in the Plugin Manager.
|
||||
Publish your plugin on NPM with a `tabby-plugin` keyword to make it appear in the Plugin Manager.
|
||||
|
|
16
README.md
16
README.md
|
@ -7,7 +7,7 @@
|
|||
|
||||
----
|
||||
|
||||
**Terminus** is a highly configurable terminal emulator, SSH and serial client for Windows, macOS and Linux
|
||||
**Tabby** (formerly **Terminus**) is a highly configurable terminal emulator, SSH and serial client for Windows, macOS and Linux
|
||||
|
||||
* Integrated SSH client and connection manager
|
||||
* Integrated serial terminal
|
||||
|
@ -29,7 +29,7 @@
|
|||
# Contents
|
||||
|
||||
- [Contents](#contents)
|
||||
- [What Terminus is and isn't](#what-terminus-is-and-isnt)
|
||||
- [What Tabby is and isn't](#what-tabby-is-and-isnt)
|
||||
- [Terminal features](#terminal-features)
|
||||
- [SSH Client](#ssh-client)
|
||||
- [Serial Terminal](#serial-terminal)
|
||||
|
@ -39,11 +39,11 @@
|
|||
- [Contributing](#contributing)
|
||||
|
||||
<a name="about"></a>
|
||||
# What Terminus is and isn't
|
||||
# What Tabby is and isn't
|
||||
|
||||
* **Terminus is** an alternative to Windows' standard terminal (conhost), PowerShell ISE, PuTTY or iTerm
|
||||
* **Tabby is** an alternative to Windows' standard terminal (conhost), PowerShell ISE, PuTTY or iTerm
|
||||
|
||||
* **Terminus is not** a new shell or a MinGW or Cygwin replacement. Neither is it lightweight - if RAM usage is of importance, consider [Conemu](https://conemu.github.io) or [Alacritty](https://github.com/jwilm/alacritty)
|
||||
* **Tabby is not** a new shell or a MinGW or Cygwin replacement. Neither is it lightweight - if RAM usage is of importance, consider [Conemu](https://conemu.github.io) or [Alacritty](https://github.com/jwilm/alacritty)
|
||||
|
||||
<a name="terminal"></a>
|
||||
# Terminal features
|
||||
|
@ -84,12 +84,12 @@
|
|||
<a name="portable"></a>
|
||||
# Portable
|
||||
|
||||
Terminus will run as a portable app on Windows, if you create a `data` folder in the same location where `Terminus.exe` lives.
|
||||
Tabby will run as a portable app on Windows, if you create a `data` folder in the same location where `Tabby.exe` lives.
|
||||
|
||||
<a name="plugins"></a>
|
||||
# Plugins
|
||||
|
||||
Plugins and themes can be installed directly from the Settings view inside Terminus.
|
||||
Plugins and themes can be installed directly from the Settings view inside Tabby.
|
||||
|
||||
* [clickable-links](https://github.com/Eugeny/terminus-clickable-links) - makes paths and URLs in the terminal clickable
|
||||
* [title-control](https://github.com/kbjr/terminus-title-control) - allows modifying the title of the terminal tabs by providing a prefix, suffix, and/or strings to be removed
|
||||
|
@ -102,7 +102,7 @@ Plugins and themes can be installed directly from the Settings view inside Termi
|
|||
# Themes
|
||||
|
||||
* [hype](https://github.com/Eugeny/terminus-theme-hype) - a Hyper inspired theme
|
||||
* [relaxed](https://github.com/Relaxed-Theme/relaxed-terminal-themes#terminus) - the Relaxed theme for Terminus
|
||||
* [relaxed](https://github.com/Relaxed-Theme/relaxed-terminal-themes#terminus) - the Relaxed theme for Tabby
|
||||
* [gruvbox](https://github.com/porkloin/terminus-theme-gruvbox)
|
||||
* [windows10](https://www.npmjs.com/package/terminus-theme-windows10)
|
||||
* [altair](https://github.com/yxuko/terminus-altair)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
owner: eugeny
|
||||
repo: terminus
|
||||
provider: github
|
||||
updaterCacheDirName: terminus-updater
|
||||
updaterCacheDirName: tabby-updater
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
doctype html
|
||||
html.terminus
|
||||
html.tabby
|
||||
head
|
||||
meta(charset='UTF-8')
|
||||
base(href='index.html')
|
||||
|
@ -15,8 +15,8 @@ html.terminus
|
|||
app-root
|
||||
.preload-logo
|
||||
div
|
||||
.terminus-logo
|
||||
h1.terminus-title Terminus
|
||||
.tabby-logo
|
||||
h1.tabby-title Tabby
|
||||
sup α
|
||||
.progress
|
||||
.bar(style='width: 0%')
|
||||
|
|
|
@ -154,7 +154,7 @@ export class Application {
|
|||
this.tray.setContextMenu(contextMenu)
|
||||
}
|
||||
|
||||
this.tray.setToolTip(`Terminus ${app.getVersion()}`)
|
||||
this.tray.setToolTip(`Tabby ${app.getVersion()}`)
|
||||
}
|
||||
|
||||
disableTray (): void {
|
||||
|
@ -195,7 +195,7 @@ export class Application {
|
|||
{
|
||||
label: 'Application',
|
||||
submenu: [
|
||||
{ role: 'about', label: 'About Terminus' },
|
||||
{ role: 'about', label: 'About Tabby' },
|
||||
{ type: 'separator' },
|
||||
{
|
||||
label: 'Preferences',
|
||||
|
|
|
@ -6,7 +6,7 @@ export function parseArgs (argv: string[], cwd: string): any {
|
|||
}
|
||||
|
||||
return require('yargs/yargs')(argv.slice(1))
|
||||
.usage('terminus [command] [arguments]')
|
||||
.usage('tabby [command] [arguments]')
|
||||
.command('open [directory]', 'open a shell in a directory', {
|
||||
directory: { type: 'string', 'default': cwd },
|
||||
})
|
||||
|
|
|
@ -3,7 +3,20 @@ import * as path from 'path'
|
|||
import * as yaml from 'js-yaml'
|
||||
import { app } from 'electron'
|
||||
|
||||
export function migrateConfig (): void {
|
||||
const configPath = path.join(app.getPath('userData'), 'config.yaml')
|
||||
const legacyConfigPath = path.join(app.getPath('userData'), '../terminus', 'config.yaml')
|
||||
if (fs.existsSync(legacyConfigPath) && (
|
||||
!fs.existsSync(configPath) ||
|
||||
fs.statSync(configPath).mtime < fs.statSync(legacyConfigPath).mtime
|
||||
)) {
|
||||
fs.writeFileSync(configPath, fs.readFileSync(legacyConfigPath))
|
||||
}
|
||||
}
|
||||
|
||||
export function loadConfig (): any {
|
||||
migrateConfig()
|
||||
|
||||
const configPath = path.join(app.getPath('userData'), 'config.yaml')
|
||||
if (fs.existsSync(configPath)) {
|
||||
return yaml.load(fs.readFileSync(configPath, 'utf8'))
|
||||
|
|
|
@ -7,8 +7,8 @@ import { parseArgs } from './cli'
|
|||
import { Application } from './app'
|
||||
import electronDebug = require('electron-debug')
|
||||
|
||||
if (!process.env.TERMINUS_PLUGINS) {
|
||||
process.env.TERMINUS_PLUGINS = ''
|
||||
if (!process.env.TABBY_PLUGINS) {
|
||||
process.env.TABBY_PLUGINS = ''
|
||||
}
|
||||
|
||||
const application = new Application()
|
||||
|
|
|
@ -4,9 +4,6 @@ import * as electron from 'electron'
|
|||
|
||||
const appPath = path.dirname(electron.app.getPath('exe'))
|
||||
|
||||
if (fs.existsSync(path.join(appPath, 'terminus-data'))) {
|
||||
fs.renameSync(path.join(appPath, 'terminus-data'), path.join(appPath, 'data'))
|
||||
}
|
||||
const portableData = path.join(appPath, 'data')
|
||||
if (fs.existsSync(portableData)) {
|
||||
console.log('reset user data to ' + portableData)
|
||||
|
|
|
@ -8,7 +8,7 @@ try {
|
|||
release = require('@electron/remote').app.getVersion()
|
||||
}
|
||||
|
||||
if (!process.env.TERMINUS_DEV) {
|
||||
if (!process.env.TABBY_DEV) {
|
||||
init({
|
||||
dsn: SENTRY_DSN,
|
||||
release,
|
||||
|
|
|
@ -56,7 +56,7 @@ export class Window {
|
|||
const bwOptions: BrowserWindowConstructorOptions = {
|
||||
width: 800,
|
||||
height: 600,
|
||||
title: 'Terminus',
|
||||
title: 'Tabby',
|
||||
minWidth: 400,
|
||||
minHeight: 300,
|
||||
webPreferences: {
|
||||
|
@ -118,7 +118,7 @@ export class Window {
|
|||
})
|
||||
|
||||
this.window.on('blur', () => {
|
||||
if (this.configStore.appearance.dock !== 'off' && this.configStore.appearance?.dockHideOnBlur) {
|
||||
if (this.configStore.appearance?.dock !== 'off' && this.configStore.appearance?.dockHideOnBlur) {
|
||||
this.hide()
|
||||
}
|
||||
})
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "terminus",
|
||||
"name": "tabby",
|
||||
"description": "A terminal for a modern age",
|
||||
"private": true,
|
||||
"repository": "https://github.com/eugeny/terminus",
|
||||
|
@ -55,15 +55,15 @@
|
|||
"source-map-support": "^0.5.19"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"terminus-community-color-schemes": "*",
|
||||
"terminus-core": "*",
|
||||
"terminus-electron": "*",
|
||||
"terminus-local": "*",
|
||||
"terminus-plugin-manager": "*",
|
||||
"terminus-serial": "*",
|
||||
"terminus-settings": "*",
|
||||
"terminus-ssh": "*",
|
||||
"terminus-terminal": "*"
|
||||
"tabby-community-color-schemes": "*",
|
||||
"tabby-core": "*",
|
||||
"tabby-electron": "*",
|
||||
"tabby-local": "*",
|
||||
"tabby-plugin-manager": "*",
|
||||
"tabby-serial": "*",
|
||||
"tabby-settings": "*",
|
||||
"tabby-ssh": "*",
|
||||
"tabby-terminal": "*"
|
||||
},
|
||||
"resolutions": {
|
||||
"*/node-abi": "^2.20.0"
|
||||
|
|
|
@ -12,7 +12,7 @@ import { ipcRenderer } from 'electron'
|
|||
|
||||
import { getRootModule } from './app.module'
|
||||
import { findPlugins, initModuleLookup, loadPlugins } from './plugins'
|
||||
import { BootstrapData, BOOTSTRAP_DATA, PluginInfo } from '../../terminus-core/src/api/mainProcess'
|
||||
import { BootstrapData, BOOTSTRAP_DATA, PluginInfo } from '../../tabby-core/src/api/mainProcess'
|
||||
|
||||
// Always land on the start view
|
||||
location.hash = ''
|
||||
|
@ -23,7 +23,7 @@ if (process.platform === 'win32' && !('HOME' in process.env)) {
|
|||
process.env.HOME = `${process.env.HOMEDRIVE}${process.env.HOMEPATH}`
|
||||
}
|
||||
|
||||
if (process.env.TERMINUS_DEV && !process.env.TERMINUS_FORCE_ANGULAR_PROD) {
|
||||
if (process.env.TABBY_DEV && !process.env.TABBY_FORCE_ANGULAR_PROD) {
|
||||
console.warn('Running in debug mode')
|
||||
} else {
|
||||
enableProdMode()
|
||||
|
@ -42,7 +42,7 @@ async function bootstrap (bootstrapData: BootstrapData, plugins: PluginInfo[], s
|
|||
const moduleRef = await platformBrowserDynamic([
|
||||
{ provide: BOOTSTRAP_DATA, useValue: bootstrapData },
|
||||
]).bootstrapModule(module)
|
||||
if (process.env.TERMINUS_DEV) {
|
||||
if (process.env.TABBY_DEV) {
|
||||
const applicationRef = moduleRef.injector.get(ApplicationRef)
|
||||
const componentRef = applicationRef.components[0]
|
||||
enableDebugTools(componentRef)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import * as fs from 'mz/fs'
|
||||
import * as path from 'path'
|
||||
import * as remote from '@electron/remote'
|
||||
import { PluginInfo } from '../../terminus-core/src/api/mainProcess'
|
||||
import { PluginInfo } from '../../tabby-core/src/api/mainProcess'
|
||||
|
||||
const nodeModule = require('module') // eslint-disable-line @typescript-eslint/no-var-requires
|
||||
|
||||
|
@ -16,7 +16,7 @@ function normalizePath (p: string): string {
|
|||
return p
|
||||
}
|
||||
|
||||
const builtinPluginsPath = process.env.TERMINUS_DEV ? path.dirname(remote.app.getAppPath()) : path.join((process as any).resourcesPath, 'builtin-plugins')
|
||||
const builtinPluginsPath = process.env.TABBY_DEV ? path.dirname(remote.app.getAppPath()) : path.join((process as any).resourcesPath, 'builtin-plugins')
|
||||
|
||||
const builtinModules = [
|
||||
'@angular/animations',
|
||||
|
@ -30,10 +30,10 @@ const builtinModules = [
|
|||
'ngx-toastr',
|
||||
'rxjs',
|
||||
'rxjs/operators',
|
||||
'terminus-core',
|
||||
'terminus-local',
|
||||
'terminus-settings',
|
||||
'terminus-terminal',
|
||||
'tabby-core',
|
||||
'tabby-local',
|
||||
'tabby-settings',
|
||||
'tabby-terminal',
|
||||
'zone.js/dist/zone.js',
|
||||
]
|
||||
|
||||
|
@ -42,15 +42,15 @@ export type ProgressCallback = (current: number, total: number) => void // eslin
|
|||
export function initModuleLookup (userPluginsPath: string): void {
|
||||
global['module'].paths.map((x: string) => nodeModule.globalPaths.push(normalizePath(x)))
|
||||
|
||||
if (process.env.TERMINUS_DEV) {
|
||||
if (process.env.TABBY_DEV) {
|
||||
nodeModule.globalPaths.unshift(path.dirname(remote.app.getAppPath()))
|
||||
}
|
||||
|
||||
nodeModule.globalPaths.unshift(builtinPluginsPath)
|
||||
nodeModule.globalPaths.unshift(path.join(userPluginsPath, 'node_modules'))
|
||||
// nodeModule.globalPaths.unshift(path.join((process as any).resourcesPath, 'app.asar', 'node_modules'))
|
||||
if (process.env.TERMINUS_PLUGINS) {
|
||||
process.env.TERMINUS_PLUGINS.split(':').map(x => nodeModule.globalPaths.push(normalizePath(x)))
|
||||
if (process.env.TABBY_PLUGINS) {
|
||||
process.env.TABBY_PLUGINS.split(':').map(x => nodeModule.globalPaths.push(normalizePath(x)))
|
||||
}
|
||||
|
||||
const cachedBuiltinModules = {}
|
||||
|
@ -79,7 +79,8 @@ export async function findPlugins (): Promise<PluginInfo[]> {
|
|||
const paths = nodeModule.globalPaths
|
||||
let foundPlugins: PluginInfo[] = []
|
||||
const candidateLocations: { pluginDir: string, packageName: string }[] = []
|
||||
const PREFIX = 'terminus-'
|
||||
const PREFIX = 'tabby-'
|
||||
const LEGACY_PREFIX = 'terminus-'
|
||||
|
||||
const processedPaths = []
|
||||
|
||||
|
@ -101,7 +102,7 @@ export async function findPlugins (): Promise<PluginInfo[]> {
|
|||
})
|
||||
}
|
||||
for (const packageName of pluginNames) {
|
||||
if (packageName.startsWith(PREFIX)) {
|
||||
if (packageName.startsWith(PREFIX) || packageName.startsWith(LEGACY_PREFIX)) {
|
||||
candidateLocations.push({ pluginDir, packageName })
|
||||
}
|
||||
}
|
||||
|
@ -114,7 +115,7 @@ export async function findPlugins (): Promise<PluginInfo[]> {
|
|||
continue
|
||||
}
|
||||
|
||||
const name = packageName.substring(PREFIX.length)
|
||||
const name = packageName.startsWith(PREFIX) ? packageName.substring(PREFIX.length) : packageName.substring(LEGACY_PREFIX.length)
|
||||
|
||||
if (builtinModules.includes(packageName) && pluginDir !== builtinPluginsPath) {
|
||||
continue
|
||||
|
@ -129,7 +130,7 @@ export async function findPlugins (): Promise<PluginInfo[]> {
|
|||
|
||||
try {
|
||||
const info = JSON.parse(await fs.readFile(infoPath, { encoding: 'utf-8' }))
|
||||
if (!info.keywords || !(info.keywords.includes('terminus-plugin') || info.keywords.includes('terminus-builtin-plugin'))) {
|
||||
if (!info.keywords || !(info.keywords.includes('terminus-plugin') || info.keywords.includes('terminus-builtin-plugin') || !info.keywords.includes('tabby-plugin') || info.keywords.includes('tabby-builtin-plugin'))) {
|
||||
continue
|
||||
}
|
||||
let author = info.author
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
|
||||
|
||||
|
||||
.terminus-logo {
|
||||
.tabby-logo {
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
background: url('../assets/logo.svg');
|
||||
|
@ -48,7 +48,7 @@
|
|||
}
|
||||
|
||||
|
||||
.terminus-title {
|
||||
.tabby-title {
|
||||
color: #a1c5e4;
|
||||
font-family: 'Source Sans Pro';
|
||||
text-align: center;
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
"dist",
|
||||
"node_modules",
|
||||
"*/node_modules",
|
||||
"terminus*",
|
||||
"tabby*",
|
||||
"platforms"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@ const path = require('path')
|
|||
const webpack = require('webpack')
|
||||
|
||||
module.exports = {
|
||||
name: 'terminus',
|
||||
name: 'tabby',
|
||||
target: 'node',
|
||||
entry: {
|
||||
'index.ignore': 'file-loader?name=index.html!pug-html-loader!' + path.resolve(__dirname, './index.pug'),
|
||||
|
@ -10,7 +10,7 @@ module.exports = {
|
|||
preload: path.resolve(__dirname, 'src/entry.preload.ts'),
|
||||
bundle: path.resolve(__dirname, 'src/entry.ts'),
|
||||
},
|
||||
mode: process.env.TERMINUS_DEV ? 'development' : 'production',
|
||||
mode: process.env.TABBY_DEV ? 'development' : 'production',
|
||||
optimization:{
|
||||
minimize: false,
|
||||
},
|
||||
|
|
|
@ -3,12 +3,12 @@ const webpack = require('webpack')
|
|||
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
|
||||
|
||||
module.exports = {
|
||||
name: 'terminus-main',
|
||||
name: 'tabby-main',
|
||||
target: 'electron-main',
|
||||
entry: {
|
||||
main: path.resolve(__dirname, 'lib/index.ts'),
|
||||
},
|
||||
mode: process.env.TERMINUS_DEV ? 'development' : 'production',
|
||||
mode: process.env.TABBY_DEV ? 'development' : 'production',
|
||||
context: __dirname,
|
||||
devtool: 'source-map',
|
||||
output: {
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
!macro customInit
|
||||
nsExec::Exec '"$LOCALAPPDATA\terminus\Update.exe" --uninstall -s'
|
||||
nsExec::Exec '"$LOCALAPPDATA\tabby\Update.exe" --uninstall -s'
|
||||
!macroend
|
||||
|
|
|
@ -11,7 +11,7 @@ module.exports = async function (params) {
|
|||
}
|
||||
console.log('afterSign hook triggered', params)
|
||||
|
||||
let appId = 'org.terminus'
|
||||
let appId = 'org.tabby'
|
||||
|
||||
let appPath = path.join(params.appOutDir, params._pathOverride || `${params.packager.appInfo.productFilename}.app`)
|
||||
if (!fs.existsSync(appPath)) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
appId: org.terminus
|
||||
productName: Terminus
|
||||
appId: org.tabby
|
||||
productName: Tabby
|
||||
compression: normal
|
||||
npmRebuild: false
|
||||
afterSign: "./build/mac/afterSignHook.js"
|
||||
|
@ -39,18 +39,18 @@ publish:
|
|||
|
||||
win:
|
||||
icon: "./build/windows/icon.ico"
|
||||
artifactName: terminus-${version}-portable.${ext}
|
||||
artifactName: tabby-${version}-portable.${ext}
|
||||
rfc3161TimeStampServer: http://sha256timestamp.ws.symantec.com/sha256/timestamp
|
||||
nsis:
|
||||
oneClick: false
|
||||
artifactName: terminus-${version}-setup.${ext}
|
||||
artifactName: tabby-${version}-setup.${ext}
|
||||
installerIcon: "./build/windows/icon.ico"
|
||||
allowToChangeInstallationDirectory: true
|
||||
|
||||
mac:
|
||||
category: public.app-category.video
|
||||
icon: "./build/mac/icon.icns"
|
||||
artifactName: terminus-${version}-macos-${env.ARCH}.${ext}
|
||||
artifactName: tabby-${version}-macos-${env.ARCH}.${ext}
|
||||
hardenedRuntime: true
|
||||
entitlements: "./build/mac/entitlements.plist"
|
||||
entitlementsInherit: "./build/mac/entitlements.plist"
|
||||
|
@ -68,11 +68,11 @@ mac:
|
|||
linux:
|
||||
category: Utility
|
||||
icon: "./build/icons"
|
||||
artifactName: terminus-${version}-linux.${ext}
|
||||
artifactName: tabby-${version}-linux.${ext}
|
||||
executableArgs:
|
||||
- "--no-sandbox"
|
||||
desktop:
|
||||
StartupWMClass: terminus
|
||||
StartupWMClass: tabby
|
||||
snap:
|
||||
plugs:
|
||||
- default
|
||||
|
@ -91,7 +91,7 @@ deb:
|
|||
afterInstall: build/linux/after-install.tpl
|
||||
fpm:
|
||||
- '--replaces'
|
||||
- 'terminus'
|
||||
- 'terminus-terminal'
|
||||
pacman:
|
||||
depends:
|
||||
- gnome-keyring
|
||||
|
@ -103,4 +103,4 @@ rpm:
|
|||
- '--rpm-rpmbuild-define'
|
||||
- '_build_id_links none'
|
||||
- '--replaces'
|
||||
- 'terminus'
|
||||
- 'terminus-terminal'
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<key>NSMenuItem</key>
|
||||
<dict>
|
||||
<key>default</key>
|
||||
<string>Open Terminus here</string>
|
||||
<string>Open Tabby here</string>
|
||||
</dict>
|
||||
<key>NSMessage</key>
|
||||
<string>runWorkflowAsService</string>
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
@ -59,7 +59,7 @@
|
|||
<key>ActionParameters</key>
|
||||
<dict>
|
||||
<key>COMMAND_STRING</key>
|
||||
<string>/Applications/Terminus.app/Contents/MacOS/terminus open "$1"</string>
|
||||
<string>/Applications/Tabby.app/Contents/MacOS/tabby open "$1"</string>
|
||||
<key>CheckedForUserDefaultShell</key>
|
||||
<true/>
|
||||
<key>inputMethod</key>
|
|
@ -12,7 +12,7 @@
|
|||
<key>NSMenuItem</key>
|
||||
<dict>
|
||||
<key>default</key>
|
||||
<string>Paste path into Terminus</string>
|
||||
<string>Paste path into Tabby</string>
|
||||
</dict>
|
||||
<key>NSMessage</key>
|
||||
<string>runWorkflowAsService</string>
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
@ -59,7 +59,7 @@
|
|||
<key>ActionParameters</key>
|
||||
<dict>
|
||||
<key>COMMAND_STRING</key>
|
||||
<string>/Applications/Terminus.app/Contents/MacOS/terminus paste --escape "$1"</string>
|
||||
<string>/Applications/Tabby.app/Contents/MacOS/tabby paste --escape "$1"</string>
|
||||
<key>CheckedForUserDefaultShell</key>
|
||||
<true/>
|
||||
<key>inputMethod</key>
|
10
package.json
10
package.json
|
@ -64,13 +64,13 @@
|
|||
"**/graceful-fs": "^4.2.4"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "npm run build:typings && webpack --color --config app/webpack.main.config.js && webpack --color --config app/webpack.config.js && webpack --color --config terminus-core/webpack.config.js && webpack --color --config terminus-settings/webpack.config.js && webpack --color --config terminus-terminal/webpack.config.js && webpack --color --config terminus-local/webpack.config.js && webpack --color --config terminus-plugin-manager/webpack.config.js && webpack --color --config terminus-community-color-schemes/webpack.config.js && webpack --color --config terminus-ssh/webpack.config.js && webpack --color --config terminus-serial/webpack.config.js && webpack --color --config terminus-electron/webpack.config.js && webpack --color --config terminus-web/webpack.config.js && webpack --color --config web/webpack.config.js",
|
||||
"build": "npm run build:typings && webpack --color --config app/webpack.main.config.js && webpack --color --config app/webpack.config.js && webpack --color --config tabby-core/webpack.config.js && webpack --color --config tabby-settings/webpack.config.js && webpack --color --config tabby-terminal/webpack.config.js && webpack --color --config tabby-local/webpack.config.js && webpack --color --config tabby-plugin-manager/webpack.config.js && webpack --color --config tabby-community-color-schemes/webpack.config.js && webpack --color --config tabby-ssh/webpack.config.js && webpack --color --config tabby-serial/webpack.config.js && webpack --color --config tabby-electron/webpack.config.js && webpack --color --config tabby-web/webpack.config.js && webpack --color --config web/webpack.config.js",
|
||||
"build:typings": "node scripts/build-typings.js",
|
||||
"watch": "cross-env TERMINUS_DEV=1 webpack --progress --color --watch",
|
||||
"start": "cross-env TERMINUS_DEV=1 electron app --debug --inspect",
|
||||
"watch": "cross-env TABBY_DEV=1 webpack --progress --color --watch",
|
||||
"start": "cross-env TABBY_DEV=1 electron app --debug --inspect",
|
||||
"start:prod": "electron app --debug",
|
||||
"prod": "cross-env TERMINUS_DEV=1 electron app",
|
||||
"docs": "typedoc --out docs/api --tsconfig terminus-core/src/tsconfig.typings.json terminus-core/src/index.ts && typedoc --out docs/api/terminal --tsconfig terminus-terminal/tsconfig.typings.json terminus-terminal/src/index.ts && typedoc --out docs/api/local --tsconfig terminus-local/tsconfig.typings.json terminus-local/src/index.ts && typedoc --out docs/api/settings --tsconfig terminus-settings/tsconfig.typings.json terminus-settings/src/index.ts",
|
||||
"prod": "cross-env TABBY_DEV=1 electron app",
|
||||
"docs": "typedoc --out docs/api --tsconfig tabby-core/src/tsconfig.typings.json tabby-core/src/index.ts && typedoc --out docs/api/terminal --tsconfig tabby-terminal/tsconfig.typings.json tabby-terminal/src/index.ts && typedoc --out docs/api/local --tsconfig tabby-local/tsconfig.typings.json tabby-local/src/index.ts && typedoc --out docs/api/settings --tsconfig tabby-settings/tsconfig.typings.json tabby-settings/src/index.ts",
|
||||
"lint": "eslint --ext ts */src */lib",
|
||||
"postinstall": "node ./scripts/install-deps.js",
|
||||
"patch": "patch-package; cd web; patch-package"
|
||||
|
|
|
@ -7,7 +7,7 @@ index 25a159e..d8a0262 100644
|
|||
const name = this.name; // https://github.com/electron-userland/electron-builder/issues/2963
|
||||
|
||||
- return name.startsWith("@") ? this.sanitizedProductName : name;
|
||||
+ return 'terminus-terminal'
|
||||
+ return 'tabby-terminal'
|
||||
}
|
||||
|
||||
get sanitizedName() {
|
||||
|
|
|
@ -4,7 +4,7 @@ const path = require('path')
|
|||
const vars = require('./vars')
|
||||
|
||||
let lifecycles = []
|
||||
for (let dir of ['app', 'terminus-core', 'terminus-local', 'terminus-ssh', 'terminus-terminal']) {
|
||||
for (let dir of ['app', 'tabby-core', 'tabby-local', 'tabby-ssh', 'tabby-terminal']) {
|
||||
const build = rebuild({
|
||||
buildPath: path.resolve(__dirname, '../' + dir),
|
||||
electronVersion: vars.electronVersion,
|
||||
|
|
|
@ -11,7 +11,7 @@ sh.mkdir('-p', target)
|
|||
fs.writeFileSync(path.join(target, 'package.json'), '{}')
|
||||
sh.cd(target)
|
||||
vars.builtinPlugins.forEach(plugin => {
|
||||
if (plugin === 'terminus-web') {
|
||||
if (plugin === 'tabby-web') {
|
||||
return
|
||||
}
|
||||
log.info('install', plugin)
|
||||
|
|
|
@ -14,16 +14,16 @@ if (exports.version.includes('-c')) {
|
|||
}
|
||||
|
||||
exports.builtinPlugins = [
|
||||
'terminus-core',
|
||||
'terminus-settings',
|
||||
'terminus-terminal',
|
||||
'terminus-electron',
|
||||
'terminus-local',
|
||||
'terminus-web',
|
||||
'terminus-community-color-schemes',
|
||||
'terminus-plugin-manager',
|
||||
'terminus-ssh',
|
||||
'terminus-serial',
|
||||
'tabby-core',
|
||||
'tabby-settings',
|
||||
'tabby-terminal',
|
||||
'tabby-electron',
|
||||
'tabby-local',
|
||||
'tabby-web',
|
||||
'tabby-community-color-schemes',
|
||||
'tabby-plugin-manager',
|
||||
'tabby-ssh',
|
||||
'tabby-serial',
|
||||
]
|
||||
exports.bundledModules = [
|
||||
'@angular',
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
name: terminus
|
||||
name: tabby
|
||||
version: '1.0.0'
|
||||
summary: A terminal for a modern age
|
||||
description: |
|
||||
Terminus is a terminal heavily inspired by Hyper. It is, however, designed for people who need to get things done.
|
||||
Tabby is a local, SSH and serial terminal heavily inspired by Hyper.
|
||||
|
||||
grade: devel
|
||||
confinement: devmode
|
||||
|
||||
apps:
|
||||
terminus:
|
||||
command: opt/terminus/terminus
|
||||
tabby:
|
||||
command: opt/tabby/tabby
|
||||
|
||||
parts:
|
||||
app:
|
||||
|
@ -22,5 +22,5 @@ parts:
|
|||
./scripts/build-native.js
|
||||
yarn run build
|
||||
./scripts/build-linux.js
|
||||
mkdir -p $SNAPCRAFT_PART_INSTALL/opt/terminus || true
|
||||
cp -ar dist/linux-unpacked/* $SNAPCRAFT_PART_INSTALL/opt/terminus/
|
||||
mkdir -p $SNAPCRAFT_PART_INSTALL/opt/tabby || true
|
||||
cp -ar dist/linux-unpacked/* $SNAPCRAFT_PART_INSTALL/opt/tabby/
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"name": "terminus-community-color-schemes",
|
||||
"name": "tabby-community-color-schemes",
|
||||
"version": "1.0.140",
|
||||
"description": "Community color schemes for Terminus",
|
||||
"description": "Community color schemes for Tabby",
|
||||
"keywords": [
|
||||
"terminus-builtin-plugin"
|
||||
"tabby-builtin-plugin"
|
||||
],
|
||||
"main": "dist/index.js",
|
||||
"typings": "typings/index.d.ts",
|
||||
|
@ -18,7 +18,7 @@
|
|||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"@angular/core": "^9.1.9",
|
||||
"terminus-core": "*",
|
||||
"terminus-terminal": "*"
|
||||
"tabby-core": "*",
|
||||
"tabby-terminal": "*"
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue