Titlebar fixes

This commit is contained in:
Fedor Indutny 2022-07-05 09:44:53 -07:00 committed by GitHub
parent f273333046
commit f92be05b15
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
41 changed files with 225 additions and 154 deletions

View file

@ -25,6 +25,8 @@ export class ActiveWindowService {
private activeCallbacks: Array<() => void> = [];
private changeCallbacks: Array<(isActive: boolean) => void> = [];
private lastActiveEventAt = -Infinity;
private callActiveCallbacks: () => void;
@ -73,6 +75,16 @@ export class ActiveWindowService {
);
}
registerForChange(callback: (isActive: boolean) => void): void {
this.changeCallbacks.push(callback);
}
unregisterForChange(callback: (isActive: boolean) => void): void {
this.changeCallbacks = this.changeCallbacks.filter(
item => item !== callback
);
}
private onActiveEvent(): void {
this.updateState(() => {
this.lastActiveEventAt = Date.now();
@ -93,5 +105,11 @@ export class ActiveWindowService {
if (!wasActiveBefore && isActiveNow) {
this.callActiveCallbacks();
}
if (wasActiveBefore !== isActiveNow) {
for (const callback of this.changeCallbacks) {
callback(isActiveNow);
}
}
}
}