فهرست منبع

added support for custom color schemes for local shell profiles

Eugene 1 سال پیش
والد
کامیت
e84cbd82d8
2فایلهای تغییر یافته به همراه37 افزوده شده و 26 حذف شده
  1. 35 23
      tabby-local/src/components/localProfileSettings.component.pug
  2. 2 3
      tabby-terminal/src/tabContextMenu.ts

+ 35 - 23
tabby-local/src/components/localProfileSettings.component.pug

@@ -1,27 +1,39 @@
-command-line-editor([model]='profile.options')
+ul.nav-tabs(ngbNav, #nav='ngbNav')
+    li(ngbNavItem)
+        a(ngbNavLink, translate) General
+        ng-template(ngbNavContent)
+            command-line-editor([model]='profile.options')
 
-.form-line(*ngIf='uac?.isAvailable')
-    .header
-        .title(translate) Run as administrator
-    toggle(
-        [(ngModel)]='profile.options.runAsAdministrator',
-    )
+            .form-line(*ngIf='uac?.isAvailable')
+                .header
+                    .title(translate) Run as administrator
+                toggle(
+                    [(ngModel)]='profile.options.runAsAdministrator',
+                )
 
-.mb-3
-    label(translate) Working directory
+            .mb-3
+                label(translate) Working directory
 
-    .input-group
-        input.form-control(
-            type='text',
-            placeholder='Home directory',
-            [(ngModel)]='profile.options.cwd'
-        )
-        button.btn.btn-secondary((click)='pickWorkingDirectory()')
-            i.fas.fa-folder-open
 
-.mb-3
-    label(translate) Environment
-    environment-editor(
-        type='text',
-        [(model)]='profile.options.env',
-    )
+                .input-group
+                    input.form-control(
+                        type='text',
+                        placeholder='Home directory',
+                        [(ngModel)]='profile.options.cwd'
+                    )
+                    button.btn.btn-secondary((click)='pickWorkingDirectory()')
+                        i.fas.fa-folder-open
+
+            .mb-3
+                label(translate) Environment
+                environment-editor(
+                    type='text',
+                    [(model)]='profile.options.env',
+                )
+
+    li(ngbNavItem)
+        a(ngbNavLink, translate) Colors
+        ng-template(ngbNavContent)
+            color-scheme-selector([(model)]='profile.terminalColorScheme')
+
+div([ngbNavOutlet]='nav')

+ 2 - 3
tabby-terminal/src/tabContextMenu.ts

@@ -1,3 +1,4 @@
+import deepClone from 'clone-deep'
 import { Injectable, Optional, Inject } from '@angular/core'
 import { NgbModal } from '@ng-bootstrap/ng-bootstrap'
 import { BaseTabComponent, TabContextMenuItemProvider, NotificationsService, MenuItemOptions, TranslateService, SplitTabComponent, PromptModalComponent, ConfigService, PartialProfile, Profile } from 'tabby-core'
@@ -180,9 +181,7 @@ export class SaveAsProfileContextMenu extends TabContextMenuItemProvider {
                             return
                         }
 
-                        const options = {
-                            ...tab.profile.options,
-                        }
+                        const options = deepClone(tab.profile.options)
 
                         const cwd = await tab.session?.getWorkingDirectory() ?? tab.profile.options.cwd
                         if (cwd) {