perf(ags): switch to setTimeouts and delete them properly
This commit is contained in:
parent
6542d9fdd2
commit
5a5ea921a7
1 changed files with 10 additions and 13 deletions
|
@ -1,9 +1,5 @@
|
||||||
import { Notifications, Utils, Widget } from '../../imports.js';
|
import { Notifications, Widget } from '../../imports.js';
|
||||||
const { Box, Revealer, Window } = Widget;
|
const { Box, Revealer, Window } = Widget;
|
||||||
const { timeout, interval } = Utils;
|
|
||||||
|
|
||||||
import GLib from 'gi://GLib';
|
|
||||||
const { source_remove } = GLib;
|
|
||||||
|
|
||||||
import Notification from './base.js';
|
import Notification from './base.js';
|
||||||
|
|
||||||
|
@ -22,14 +18,14 @@ const Popups = () => Box({
|
||||||
if (box._map.size - 1 === 0)
|
if (box._map.size - 1 === 0)
|
||||||
box.get_parent().reveal_child = false;
|
box.get_parent().reveal_child = false;
|
||||||
|
|
||||||
timeout(200, () => {
|
setTimeout(() => {
|
||||||
if (box._map.get(id)?.interval) {
|
if (box._map.get(id)?.interval) {
|
||||||
source_remove(box._map.get(id).interval);
|
box._map.get(id).interval.destroy();
|
||||||
box._map.get(id).interval = undefined;
|
box._map.get(id).interval = undefined;
|
||||||
}
|
}
|
||||||
box._map.get(id)?.destroy();
|
box._map.get(id)?.destroy();
|
||||||
box._map.delete(id);
|
box._map.delete(id);
|
||||||
});
|
}, 200);
|
||||||
}],
|
}],
|
||||||
['notify', (box, id) => {
|
['notify', (box, id) => {
|
||||||
if (!id || Notifications.dnd)
|
if (!id || Notifications.dnd)
|
||||||
|
@ -47,19 +43,20 @@ const Popups = () => Box({
|
||||||
}));
|
}));
|
||||||
|
|
||||||
box.children = Array.from(box._map.values()).reverse();
|
box.children = Array.from(box._map.values()).reverse();
|
||||||
timeout(10, () => {
|
setTimeout(() => {
|
||||||
box.get_parent().revealChild = true;
|
box.get_parent().revealChild = true;
|
||||||
});
|
}, 10);
|
||||||
box._map.get(id).interval = interval(4500, () => {
|
box._map.get(id).interval = setInterval(() => {
|
||||||
|
print('interval')
|
||||||
if (!box._map.get(id)._hovered) {
|
if (!box._map.get(id)._hovered) {
|
||||||
box._map.get(id).child.setStyle(box._map.get(id).child._leftAnim1);
|
box._map.get(id).child.setStyle(box._map.get(id).child._leftAnim1);
|
||||||
|
|
||||||
if (box._map.get(id).interval) {
|
if (box._map.get(id).interval) {
|
||||||
source_remove(box._map.get(id).interval);
|
box._map.get(id).interval.destroy();
|
||||||
box._map.get(id).interval = undefined;
|
box._map.get(id).interval = undefined;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
}, 4500);
|
||||||
}],
|
}],
|
||||||
],
|
],
|
||||||
connections: [
|
connections: [
|
||||||
|
|
Loading…
Reference in a new issue