Titlebar fixes
This commit is contained in:
parent
f273333046
commit
f92be05b15
41 changed files with 225 additions and 154 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue