windowSettingsTab.component.pug 8.8 KB
Newer Older
E
Eugene Pankov 已提交
1
h3.mb-3(translate) Window
E
Eugene Pankov 已提交
2 3 4

.form-line
    .header
E
Eugene Pankov 已提交
5
        .title(translate) Theme
E
Eugene Pankov 已提交
6 7 8 9 10 11
    select.form-control(
        [(ngModel)]='config.store.appearance.theme',
        (ngModelChange)='saveConfiguration()',
    )
        option(*ngFor='let theme of themes', [ngValue]='theme.name') {{theme.name}}

12 13 14

.form-line(*ngIf='hostApp.platform === Platform.Web')
    .header
E
Eugene Pankov 已提交
15 16
        .title(translate) Ask before closing the browser tab
        .description(translate) Prevents accidental closing
17 18 19 20 21 22
    toggle(
        [(ngModel)]='config.store.web.preventAccidentalTabClosure',
        (ngModelChange)='saveConfiguration()',
    )


23
.form-line(*ngIf='platform.supportsWindowControls')
E
Eugene Pankov 已提交
24
    .header
E
Eugene Pankov 已提交
25 26 27
        .title(*ngIf='hostApp.platform !== Platform.macOS', translate) Acrylic background
        .title(*ngIf='hostApp.platform === Platform.macOS', translate) Vibrancy
        .description(translate) Gives the window a blurred transparent background
E
Eugene Pankov 已提交
28 29 30 31 32 33 34 35

    toggle(
        [(ngModel)]='config.store.appearance.vibrancy',
        (ngModelChange)='saveConfiguration()'
    )

.form-line(*ngIf='config.store.appearance.vibrancy && isFluentVibrancySupported')
    .header
E
Eugene Pankov 已提交
36
        .title(translate) Background type
E
Eugene Pankov 已提交
37 38 39 40 41 42 43 44 45 46 47
    .btn-group(
        [(ngModel)]='config.store.appearance.vibrancyType',
        (ngModelChange)='saveConfiguration()',
        ngbRadioGroup
    )
        label.btn.btn-secondary(ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                [value]='"blur"'
            )
E
Eugene Pankov 已提交
48
            span(translate) Blur
E
Eugene Pankov 已提交
49 50 51 52 53 54
        label.btn.btn-secondary(ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                [value]='"fluent"'
            )
E
Eugene Pankov 已提交
55
            span Fluent
E
Eugene Pankov 已提交
56

57
.form-line(*ngIf='platform.supportsWindowControls')
E
Eugene Pankov 已提交
58
    .header
E
Eugene Pankov 已提交
59
        .title(translate) Opacity
E
Eugene Pankov 已提交
60 61 62 63 64 65 66 67 68
    input(
        type='range',
        [(ngModel)]='config.store.appearance.opacity',
        (ngModelChange)='saveConfiguration(); (hostApp.platform === Platform.Linux && config.requestRestart())',
        min='0.4',
        max='1',
        step='0.01'
    )

69
.form-line(*ngIf='platform.supportsWindowControls')
E
Eugene Pankov 已提交
70
    .header
E
Eugene Pankov 已提交
71 72
        .title(translate) Window frame
        .description(translate) Whether a custom window or an OS native window should be used
E
Eugene Pankov 已提交
73 74 75 76 77 78 79 80 81 82 83 84

    .btn-group(
        [(ngModel)]='config.store.appearance.frame',
        (ngModelChange)='saveConfiguration(true)',
        ngbRadioGroup
    )
        label.btn.btn-secondary(ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                [value]='"native"'
            )
E
Eugene Pankov 已提交
85
            span(translate) Native
E
Eugene Pankov 已提交
86 87 88 89 90 91
        label.btn.btn-secondary(ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                [value]='"thin"'
            )
E
Eugene Pankov 已提交
92
            span(translate) Thin
E
Eugene Pankov 已提交
93 94 95 96 97 98
        label.btn.btn-secondary(ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                [value]='"full"'
            )
E
Eugene Pankov 已提交
99
            span(translate) Full
E
Eugene Pankov 已提交
100

E
Eugene Pankov 已提交
101
h3.mt-4(translate) Docking
102

103
.form-line(*ngIf='docking')
E
Eugene Pankov 已提交
104
    .header
E
Eugene Pankov 已提交
105 106
        .title(translate) Dock the terminal
        .description(translate) Snaps the window to a side of the screen
E
Eugene Pankov 已提交
107 108 109 110 111 112 113 114 115 116 117 118

    .btn-group(
        [(ngModel)]='config.store.appearance.dock',
        (ngModelChange)='saveConfiguration(); docking.dock()',
        ngbRadioGroup
    )
        label.btn.btn-secondary(ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                [value]='"off"'
            )
E
Eugene Pankov 已提交
119
            span(translate) Off
E
Eugene Pankov 已提交
120 121 122 123 124 125
        label.btn.btn-secondary(ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                [value]='"top"'
            )
E
Eugene Pankov 已提交
126
            span(translate) Top
E
Eugene Pankov 已提交
127 128 129 130 131 132
        label.btn.btn-secondary(ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                [value]='"left"'
            )
E
Eugene Pankov 已提交
133
            span(translate) Left
E
Eugene Pankov 已提交
134 135 136 137 138 139
        label.btn.btn-secondary(ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                [value]='"right"'
            )
E
Eugene Pankov 已提交
140
            span(translate) Right
E
Eugene Pankov 已提交
141 142 143 144 145 146
        label.btn.btn-secondary(ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                [value]='"bottom"'
            )
E
Eugene Pankov 已提交
147
            span(translate) Bottom
E
Eugene Pankov 已提交
148

149
.ml-5.form-line(*ngIf='docking && config.store.appearance.dock != "off"')
E
Eugene Pankov 已提交
150
    .header
E
Eugene Pankov 已提交
151 152
        .title(translate) Display on
        .description(translate) Snaps the window to a side of the screen
E
Eugene Pankov 已提交
153 154 155 156 157 158 159 160 161 162 163 164

    div(
        [(ngModel)]='config.store.appearance.dockScreen',
        (ngModelChange)='saveConfiguration(); docking.dock()',
        ngbRadioGroup
    )
        label.btn.btn-secondary(ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                value='current'
            )
E
Eugene Pankov 已提交
165
            span(translate) Current
E
Eugene Pankov 已提交
166 167 168 169 170 171 172 173
        label.btn.btn-secondary(*ngFor='let screen of screens', ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                [value]='screen.id'
            )
            | {{screen.name}}

174
.ml-5.form-line(*ngIf='docking && config.store.appearance.dock != "off"')
E
Eugene Pankov 已提交
175
    .header
E
Eugene Pankov 已提交
176 177
        .title(translate) Dock always on top
        .description(translate) Keep docked terminal always on top
E
Eugene Pankov 已提交
178 179 180 181 182
    toggle(
        [(ngModel)]='config.store.appearance.dockAlwaysOnTop',
        (ngModelChange)='saveConfiguration(); docking.dock()',
    )

183
.ml-5.form-line(*ngIf='docking && config.store.appearance.dock != "off"')
E
Eugene Pankov 已提交
184
    .header
E
Eugene Pankov 已提交
185
        .title(translate) Docked terminal size
E
Eugene Pankov 已提交
186 187 188 189 190 191 192 193 194
    input(
        type='range',
        [(ngModel)]='config.store.appearance.dockFill',
        (mouseup)='saveConfiguration(); docking.dock()',
        min='0.05',
        max='1',
        step='0.01'
    )

195
.ml-5.form-line(*ngIf='docking && config.store.appearance.dock != "off"')
E
Eugene Pankov 已提交
196
    .header
E
Eugene Pankov 已提交
197
        .title(translate) Docked terminal space
E
Eugene Pankov 已提交
198 199 200 201 202 203 204 205 206
    input(
        type='range',
        [(ngModel)]='config.store.appearance.dockSpace',
        (mouseup)='saveConfiguration(); docking.dock()',
        min='0.2',
        max='1',
        step='0.01'
    )

207
.ml-5.form-line(*ngIf='docking && config.store.appearance.dock != "off"')
E
Eugene Pankov 已提交
208
    .header
E
Eugene Pankov 已提交
209 210
        .title(translate) Hide dock on blur
        .description(translate) Hides the docked terminal when you click away.
E
Eugene Pankov 已提交
211 212 213 214 215
    toggle(
        [(ngModel)]='config.store.appearance.dockHideOnBlur',
        (ngModelChange)='saveConfiguration(); ',
    )

E
Eugene Pankov 已提交
216
h3.mt-4(translate) Tabs
217

E
Eugene Pankov 已提交
218 219
.form-line
    .header
E
Eugene Pankov 已提交
220
        .title(translate) Tabs location
E
Eugene Pankov 已提交
221 222 223 224 225 226 227 228 229 230 231
    .btn-group(
        [(ngModel)]='config.store.appearance.tabsLocation',
        (ngModelChange)='saveConfiguration()',
        ngbRadioGroup
    )
        label.btn.btn-secondary(ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                [value]='"top"'
            )
E
Eugene Pankov 已提交
232
            span(translate) Top
E
Eugene Pankov 已提交
233 234 235 236 237 238
        label.btn.btn-secondary(ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                [value]='"bottom"'
            )
E
Eugene Pankov 已提交
239
            span(translate) Bottom
E
Eugene Pankov 已提交
240 241 242 243 244 245
        label.btn.btn-secondary(ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                [value]='"left"'
            )
E
Eugene Pankov 已提交
246
            span(translate) Left
E
Eugene Pankov 已提交
247 248 249 250 251 252
        label.btn.btn-secondary(ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                [value]='"right"'
            )
E
Eugene Pankov 已提交
253
            span(translate) Right
E
Eugene Pankov 已提交
254 255 256

.form-line
    .header
E
Eugene Pankov 已提交
257
        .title(translate) Tabs width
E
Eugene Pankov 已提交
258 259 260 261 262 263 264 265 266 267 268
    .btn-group(
        [(ngModel)]='config.store.appearance.flexTabs',
        (ngModelChange)='saveConfiguration()',
        ngbRadioGroup
    )
        label.btn.btn-secondary(ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                [value]='true'
            )
E
Eugene Pankov 已提交
269
            span(translate) Dynamic
E
Eugene Pankov 已提交
270 271 272 273 274 275
        label.btn.btn-secondary(ngbButtonLabel)
            input(
                type='radio',
                ngbButton,
                [value]='false'
            )
E
Eugene Pankov 已提交
276
            span(translate) Fixed
E
Eugene Pankov 已提交
277 278 279

.form-line
    .header
E
Eugene Pankov 已提交
280
        .title(translate) Hide tab index
E
Eugene Pankov 已提交
281 282 283 284 285 286 287 288

    toggle(
        [(ngModel)]='config.store.terminal.hideTabIndex',
        (ngModelChange)='config.save();',
    )

.form-line
    .header
E
Eugene Pankov 已提交
289
        .title(translate) Hide tab close button
E
Eugene Pankov 已提交
290 291 292 293 294

    toggle(
        [(ngModel)]='config.store.terminal.hideCloseButton',
        (ngModelChange)='config.save();',
    )
295 296 297 298 299

h3.mt-4 Hacks

.form-line
    .header
E
Eugene Pankov 已提交
300 301
        .title(translate) Disable GPU acceleration
        .description(translate) Tick this if you're experiencing aliasing, ghosting or other visual issues
302 303 304 305 306

    toggle(
        [(ngModel)]='config.store.hacks.disableGPU',
        (ngModelChange)='config.save(); config.requestRestart()'
    )