mirror of
https://github.com/Eugeny/tabby.git
synced 2026-08-24 10:14:31 -05:00
another attempt at tab blanking/flicker
This commit is contained in:
@@ -191,6 +191,21 @@ export class AppRootComponent {
|
||||
this.ready = true
|
||||
this.app.emitReady()
|
||||
})
|
||||
|
||||
// While the window is being dragged, suppress the split-pane layout
|
||||
// transition (see splitTab.component.scss). Animating pane geometry on
|
||||
// every resize frame triggers a full-layer repaint that flickers the
|
||||
// terminal; the transition is only wanted for split/close/maximize.
|
||||
let resizeEndTimeout: any = null
|
||||
window.addEventListener('resize', () => {
|
||||
document.body.classList.add('resizing')
|
||||
if (resizeEndTimeout) {
|
||||
clearTimeout(resizeEndTimeout)
|
||||
}
|
||||
resizeEndTimeout = setTimeout(() => {
|
||||
document.body.classList.remove('resizing')
|
||||
}, 200)
|
||||
})
|
||||
}
|
||||
|
||||
@HostListener('dragover')
|
||||
|
||||
@@ -28,3 +28,9 @@
|
||||
::ng-deep .no-animations split-tab > .child {
|
||||
transition: none;
|
||||
}
|
||||
|
||||
// While the window is being resized, don't animate pane geometry — the
|
||||
// transition would otherwise repaint the whole layer each frame and flicker.
|
||||
::ng-deep .resizing split-tab > .child {
|
||||
transition: none;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user