mirror of
https://github.com/Eugeny/tabby.git
synced 2024-09-20 01:18:39 +03:00
more responsive css editing
This commit is contained in:
parent
c119d3283e
commit
9d6a1031da
@ -131,10 +131,10 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
debug "^4.1.1"
|
debug "^4.1.1"
|
||||||
|
|
||||||
"@terminus-term/node-pty@0.10.0-terminus.2":
|
"@terminus-term/node-pty@0.10.0-terminus.3":
|
||||||
version "0.10.0-terminus.2"
|
version "0.10.0-terminus.3"
|
||||||
resolved "https://registry.yarnpkg.com/@terminus-term/node-pty/-/node-pty-0.10.0-terminus.2.tgz#028c7762d13150984bc800b8cd954ceb7dbcac68"
|
resolved "https://registry.yarnpkg.com/@terminus-term/node-pty/-/node-pty-0.10.0-terminus.3.tgz#9dbd64d52afda5079e66265a89d313fe42affab7"
|
||||||
integrity sha512-vcscP3jldTMZeHv0XVxQjwEtnh0usUQgUWvsXtPRMy2rMjijwC1+8xFp/FKPpLpWYNTN8WWmRjSdiw+qGGU4CQ==
|
integrity sha512-HvIOts22dnoBXhRfLiK9DyPasuixYVgEUvgqZmOr0B0Ki9tF8e074oYPUtzLRll6Y553QiUzTWhriCS99MChNQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
nan "^2.14.0"
|
nan "^2.14.0"
|
||||||
|
|
||||||
|
@ -17,7 +17,8 @@
|
|||||||
"author": "Eugene Pankov",
|
"author": "Eugene Pankov",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/deep-equal": "1.0.1"
|
"@types/deep-equal": "1.0.1",
|
||||||
|
"utils-decorators": "^1.8.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/animations": "^9.1.9",
|
"@angular/animations": "^9.1.9",
|
||||||
|
@ -25,7 +25,7 @@ ngb-tabset.vertical(type='pills', [activeId]='activeTab')
|
|||||||
.title Theme
|
.title Theme
|
||||||
select.form-control(
|
select.form-control(
|
||||||
[(ngModel)]='config.store.appearance.theme',
|
[(ngModel)]='config.store.appearance.theme',
|
||||||
(ngModelChange)='config.save()',
|
(ngModelChange)='saveConfiguration()',
|
||||||
)
|
)
|
||||||
option(*ngFor='let theme of themes', [ngValue]='theme.name') {{theme.name}}
|
option(*ngFor='let theme of themes', [ngValue]='theme.name') {{theme.name}}
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ ngb-tabset.vertical(type='pills', [activeId]='activeTab')
|
|||||||
.title Tabs location
|
.title Tabs location
|
||||||
.btn-group(
|
.btn-group(
|
||||||
[(ngModel)]='config.store.appearance.tabsLocation',
|
[(ngModel)]='config.store.appearance.tabsLocation',
|
||||||
(ngModelChange)='config.save()',
|
(ngModelChange)='saveConfiguration()',
|
||||||
ngbRadioGroup
|
ngbRadioGroup
|
||||||
)
|
)
|
||||||
label.btn.btn-secondary(ngbButtonLabel)
|
label.btn.btn-secondary(ngbButtonLabel)
|
||||||
@ -71,7 +71,7 @@ ngb-tabset.vertical(type='pills', [activeId]='activeTab')
|
|||||||
.title Tabs width
|
.title Tabs width
|
||||||
.btn-group(
|
.btn-group(
|
||||||
[(ngModel)]='config.store.appearance.flexTabs',
|
[(ngModel)]='config.store.appearance.flexTabs',
|
||||||
(ngModelChange)='config.save()',
|
(ngModelChange)='saveConfiguration()',
|
||||||
ngbRadioGroup
|
ngbRadioGroup
|
||||||
)
|
)
|
||||||
label.btn.btn-secondary(ngbButtonLabel)
|
label.btn.btn-secondary(ngbButtonLabel)
|
||||||
@ -97,7 +97,7 @@ ngb-tabset.vertical(type='pills', [activeId]='activeTab')
|
|||||||
|
|
||||||
toggle(
|
toggle(
|
||||||
[(ngModel)]='config.store.appearance.vibrancy',
|
[(ngModel)]='config.store.appearance.vibrancy',
|
||||||
(ngModelChange)='config.save()'
|
(ngModelChange)='saveConfiguration()'
|
||||||
)
|
)
|
||||||
|
|
||||||
.form-line(*ngIf='config.store.appearance.vibrancy && isFluentVibrancySupported')
|
.form-line(*ngIf='config.store.appearance.vibrancy && isFluentVibrancySupported')
|
||||||
@ -105,7 +105,7 @@ ngb-tabset.vertical(type='pills', [activeId]='activeTab')
|
|||||||
.title Background type
|
.title Background type
|
||||||
.btn-group(
|
.btn-group(
|
||||||
[(ngModel)]='config.store.appearance.vibrancyType',
|
[(ngModel)]='config.store.appearance.vibrancyType',
|
||||||
(ngModelChange)='config.save()',
|
(ngModelChange)='saveConfiguration()',
|
||||||
ngbRadioGroup
|
ngbRadioGroup
|
||||||
)
|
)
|
||||||
label.btn.btn-secondary(ngbButtonLabel)
|
label.btn.btn-secondary(ngbButtonLabel)
|
||||||
@ -129,7 +129,7 @@ ngb-tabset.vertical(type='pills', [activeId]='activeTab')
|
|||||||
input(
|
input(
|
||||||
type='range',
|
type='range',
|
||||||
[(ngModel)]='config.store.appearance.opacity',
|
[(ngModel)]='config.store.appearance.opacity',
|
||||||
(ngModelChange)='config.save(); (hostApp.platform === Platform.Linux && config.requestRestart())',
|
(ngModelChange)='saveConfiguration(); (hostApp.platform === Platform.Linux && config.requestRestart())',
|
||||||
min='0.4',
|
min='0.4',
|
||||||
max='1',
|
max='1',
|
||||||
step='0.01'
|
step='0.01'
|
||||||
@ -148,7 +148,7 @@ ngb-tabset.vertical(type='pills', [activeId]='activeTab')
|
|||||||
|
|
||||||
.btn-group(
|
.btn-group(
|
||||||
[(ngModel)]='config.store.appearance.frame',
|
[(ngModel)]='config.store.appearance.frame',
|
||||||
(ngModelChange)='config.save(); config.requestRestart()',
|
(ngModelChange)='saveConfiguration(true)',
|
||||||
ngbRadioGroup
|
ngbRadioGroup
|
||||||
)
|
)
|
||||||
label.btn.btn-secondary(ngbButtonLabel)
|
label.btn.btn-secondary(ngbButtonLabel)
|
||||||
@ -180,7 +180,7 @@ ngb-tabset.vertical(type='pills', [activeId]='activeTab')
|
|||||||
|
|
||||||
.btn-group(
|
.btn-group(
|
||||||
[(ngModel)]='config.store.appearance.dock',
|
[(ngModel)]='config.store.appearance.dock',
|
||||||
(ngModelChange)='config.save(); docking.dock()',
|
(ngModelChange)='saveConfiguration(); docking.dock()',
|
||||||
ngbRadioGroup
|
ngbRadioGroup
|
||||||
)
|
)
|
||||||
label.btn.btn-secondary(ngbButtonLabel)
|
label.btn.btn-secondary(ngbButtonLabel)
|
||||||
@ -226,7 +226,7 @@ ngb-tabset.vertical(type='pills', [activeId]='activeTab')
|
|||||||
|
|
||||||
div(
|
div(
|
||||||
[(ngModel)]='config.store.appearance.dockScreen',
|
[(ngModel)]='config.store.appearance.dockScreen',
|
||||||
(ngModelChange)='config.save(); docking.dock()',
|
(ngModelChange)='saveConfiguration(); docking.dock()',
|
||||||
ngbRadioGroup
|
ngbRadioGroup
|
||||||
)
|
)
|
||||||
label.btn.btn-secondary(ngbButtonLabel)
|
label.btn.btn-secondary(ngbButtonLabel)
|
||||||
@ -250,7 +250,7 @@ ngb-tabset.vertical(type='pills', [activeId]='activeTab')
|
|||||||
.description Keep docked terminal always on top
|
.description Keep docked terminal always on top
|
||||||
toggle(
|
toggle(
|
||||||
[(ngModel)]='config.store.appearance.dockAlwaysOnTop',
|
[(ngModel)]='config.store.appearance.dockAlwaysOnTop',
|
||||||
(ngModelChange)='config.save(); docking.dock()',
|
(ngModelChange)='saveConfiguration(); docking.dock()',
|
||||||
)
|
)
|
||||||
|
|
||||||
.form-line(*ngIf='config.store.appearance.dock != "off"')
|
.form-line(*ngIf='config.store.appearance.dock != "off"')
|
||||||
@ -259,7 +259,7 @@ ngb-tabset.vertical(type='pills', [activeId]='activeTab')
|
|||||||
input(
|
input(
|
||||||
type='range',
|
type='range',
|
||||||
[(ngModel)]='config.store.appearance.dockFill',
|
[(ngModel)]='config.store.appearance.dockFill',
|
||||||
(mouseup)='config.save(); docking.dock()',
|
(mouseup)='saveConfiguration(); docking.dock()',
|
||||||
min='0.05',
|
min='0.05',
|
||||||
max='1',
|
max='1',
|
||||||
step='0.01'
|
step='0.01'
|
||||||
@ -271,7 +271,7 @@ ngb-tabset.vertical(type='pills', [activeId]='activeTab')
|
|||||||
.description Hides the docked terminal when you click away.
|
.description Hides the docked terminal when you click away.
|
||||||
toggle(
|
toggle(
|
||||||
[(ngModel)]='config.store.appearance.dockHideOnBlur',
|
[(ngModel)]='config.store.appearance.dockHideOnBlur',
|
||||||
(ngModelChange)='config.save(); ',
|
(ngModelChange)='saveConfiguration(); ',
|
||||||
)
|
)
|
||||||
|
|
||||||
.form-line
|
.form-line
|
||||||
@ -288,21 +288,21 @@ ngb-tabset.vertical(type='pills', [activeId]='activeTab')
|
|||||||
.description We're only tracking your Terminus and OS versions.
|
.description We're only tracking your Terminus and OS versions.
|
||||||
toggle(
|
toggle(
|
||||||
[(ngModel)]='config.store.enableAnalytics',
|
[(ngModel)]='config.store.enableAnalytics',
|
||||||
(ngModelChange)='config.save(); config.requestRestart()',
|
(ngModelChange)='saveConfiguration(true)',
|
||||||
)
|
)
|
||||||
|
|
||||||
.form-line
|
.form-line
|
||||||
.header
|
.header
|
||||||
.title Automatic Updates
|
.title Automatic Updates
|
||||||
.description Enable automatic installation of updates when they become available.
|
.description Enable automatic installation of updates when they become available.
|
||||||
toggle([(ngModel)]='config.store.enableAutomaticUpdates', (ngModelChange)='config.save()')
|
toggle([(ngModel)]='config.store.enableAutomaticUpdates', (ngModelChange)='saveConfiguration()')
|
||||||
|
|
||||||
.form-line
|
.form-line
|
||||||
.header
|
.header
|
||||||
.title Custom CSS
|
.title Custom CSS
|
||||||
textarea.form-control(
|
textarea.form-control(
|
||||||
[(ngModel)]='config.store.appearance.css',
|
[(ngModel)]='config.store.appearance.css',
|
||||||
(ngModelChange)='config.save()',
|
(ngModelChange)='saveConfiguration()',
|
||||||
)
|
)
|
||||||
|
|
||||||
ngb-tab(id='hotkeys')
|
ngb-tab(id='hotkeys')
|
||||||
@ -331,7 +331,7 @@ ngb-tabset.vertical(type='pills', [activeId]='activeTab')
|
|||||||
td.pr-5
|
td.pr-5
|
||||||
multi-hotkey-input(
|
multi-hotkey-input(
|
||||||
[model]='getHotkey(hotkey.id) || []',
|
[model]='getHotkey(hotkey.id) || []',
|
||||||
(modelChange)='setHotkey(hotkey.id, $event); config.save(); docking.dock()'
|
(modelChange)='setHotkey(hotkey.id, $event); saveConfiguration(); docking.dock()'
|
||||||
)
|
)
|
||||||
|
|
||||||
ngb-tab(*ngFor='let provider of settingsProviders', [id]='provider.id')
|
ngb-tab(*ngFor='let provider of settingsProviders', [id]='provider.id')
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
|
||||||
import * as yaml from 'js-yaml'
|
import * as yaml from 'js-yaml'
|
||||||
|
import { debounce } from 'utils-decorators/dist/cjs'
|
||||||
import { Subscription } from 'rxjs'
|
import { Subscription } from 'rxjs'
|
||||||
import { Component, Inject, Input, HostBinding, NgZone } from '@angular/core'
|
import { Component, Inject, Input, HostBinding, NgZone } from '@angular/core'
|
||||||
import {
|
import {
|
||||||
@ -104,6 +105,14 @@ export class SettingsTabComponent extends BaseTabComponent {
|
|||||||
this.hostApp.relaunch()
|
this.hostApp.relaunch()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@debounce(500)
|
||||||
|
saveConfiguration (requireRestart?: boolean) {
|
||||||
|
this.config.save()
|
||||||
|
if (requireRestart) {
|
||||||
|
this.config.requestRestart()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
saveConfigFile () {
|
saveConfigFile () {
|
||||||
if (this.isConfigFileValid()) {
|
if (this.isConfigFileValid()) {
|
||||||
this.config.writeRaw(this.configFile)
|
this.config.writeRaw(this.configFile)
|
||||||
|
@ -6,3 +6,15 @@
|
|||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/@types/deep-equal/-/deep-equal-1.0.1.tgz#71cfabb247c22bcc16d536111f50c0ed12476b03"
|
resolved "https://registry.yarnpkg.com/@types/deep-equal/-/deep-equal-1.0.1.tgz#71cfabb247c22bcc16d536111f50c0ed12476b03"
|
||||||
integrity sha512-mMUu4nWHLBlHtxXY17Fg6+ucS/MnndyOWyOe7MmwkoMYxvfQU2ajtRaEvqSUv+aVkMqH/C0NCI8UoVfRNQ10yg==
|
integrity sha512-mMUu4nWHLBlHtxXY17Fg6+ucS/MnndyOWyOe7MmwkoMYxvfQU2ajtRaEvqSUv+aVkMqH/C0NCI8UoVfRNQ10yg==
|
||||||
|
|
||||||
|
tinyqueue@^2.0.3:
|
||||||
|
version "2.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/tinyqueue/-/tinyqueue-2.0.3.tgz#64d8492ebf39e7801d7bd34062e29b45b2035f08"
|
||||||
|
integrity sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==
|
||||||
|
|
||||||
|
utils-decorators@^1.8.0:
|
||||||
|
version "1.8.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/utils-decorators/-/utils-decorators-1.8.0.tgz#6897ce2e57b4a92b18c37fa1a3926f170edbfaa8"
|
||||||
|
integrity sha512-anKv6Zkebhfyh6exTg3mgvKRYA9fDLkRDbIvbs15m5ridTq0uKqsiBwr222BtJToXNImCJzwkN00F7vL4aKldg==
|
||||||
|
dependencies:
|
||||||
|
tinyqueue "^2.0.3"
|
||||||
|
Loading…
Reference in New Issue
Block a user