Add array find for older gnome-shell versions

This commit is contained in:
Charles Gagnon
2020-06-14 19:20:23 -04:00
parent c2f7797642
commit 4a6f27ac7b
3 changed files with 12 additions and 4 deletions

View File

@@ -1106,7 +1106,7 @@ var dtpPanel = Utils.defineClass({
workspace.list_windows()
).reverse();
return allWindowsByStacking.find(metaWindow => {
return Utils.find(allWindowsByStacking, metaWindow => {
let rect = metaWindow.get_frame_rect();
return metaWindow.get_monitor() == this.monitor.index &&

View File

@@ -453,7 +453,7 @@ var dtpPanelManager = Utils.defineClass({
_getBoxPointerPreferredHeight: function(boxPointer, alloc, monitor) {
if (boxPointer._dtpInPanel && boxPointer.sourceActor && Me.settings.get_boolean('intellihide')) {
monitor = monitor || Main.layoutManager.findMonitorForActor(boxPointer.sourceActor);
let panel = global.dashToPanel.panels.find(p => p.monitor == monitor);
let panel = Utils.find(global.dashToPanel.panels, p => p.monitor == monitor);
let excess = alloc.natural_size + panel.dtpSize + 10 - monitor.height; // 10 is arbitrary
if (excess > 0) {
@@ -680,7 +680,7 @@ function newUpdateHotCorners() {
// build new hot corners
for (let i = 0; i < this.monitors.length; i++) {
let panel = global.dashToPanel.panels.find(p => p.monitor.index == i);
let panel = Utils.find(global.dashToPanel.panels, p => p.monitor.index == i);
let panelPosition = panel.getPosition();
let panelTopLeft = panelPosition == St.Side.TOP || panelPosition == St.Side.LEFT;
let monitor = this.monitors[i];
@@ -809,7 +809,7 @@ function newUpdatePanelBarrier(panel) {
}
function _newLookingGlassResize() {
let primaryMonitorPanel = global.dashToPanel.panels.find(p => p.monitor == Main.layoutManager.primaryMonitor);
let primaryMonitorPanel = Utils.find(global.dashToPanel.panels, p => p.monitor == Main.layoutManager.primaryMonitor);
let topOffset = primaryMonitorPanel.getPosition() == St.Side.TOP ? primaryMonitorPanel.size : 32;
this._oldResize();

View File

@@ -316,6 +316,14 @@ var findIndex = function(array, predicate) {
return -1;
};
var find = function(array, predicate) {
let index = findIndex(array, predicate);
if (index > -1) {
return array[index];
}
};
var mergeObjects = function(main, bck) {
for (var prop in bck) {
if (!main.hasOwnProperty(prop) && bck.hasOwnProperty(prop)) {