PrawnOS-nonfree/resources/InstallResources/extensions/window-corner-preview@fabiomereu.it/signaling.js
gdallasdye 93192fa511
Revived Gnome Support (#162)
* Add gnome, stable and unstable mesa packages,

* Install unstable mesa and stable gnome packages
2020-05-26 16:43:15 -07:00

58 lines
1.4 KiB
JavaScript

"use strict";
// Global modules
const Lang = imports.lang;
// Helper to disconnect more signals at once
var SignalConnector = new Lang.Class({
Name: "WindowCornerPreview.SignalConnector",
_init: function() {
this._connections = [];
},
tryConnect: function(actor, signal, callback) {
try {
let handle = actor.connect(signal, callback);
this._connections.push({
actor: actor,
handle: handle
});
}
catch (e) {
logError(e, "SignalConnector.tryConnect failed");
}
},
tryConnectAfter: function(actor, signal, callback) {
try {
let handle = actor.connect_after(signal, callback);
this._connections.push({
actor: actor,
handle: handle
});
}
catch (e) {
logError(e, "SignalConnector.tryConnectAfter failed");
}
},
disconnectAll: function() {
for (let i = 0; i < this._connections.length; i++) {
try {
let connection = this._connections[i];
connection.actor.disconnect(connection.handle);
this._connections[i] = null;
}
catch (e) {
logError(e, "SignalConnector.disconnectAll failed");
}
}
this._connections = [];
}
});