From 38494c970467d511a5033e43b5c5b412494a9544 Mon Sep 17 00:00:00 2001 From: Austin Warren Date: Fri, 28 Jun 2019 13:26:17 -0700 Subject: [PATCH] Properly identify primary display and ensure all screens are sorted by their X/Y bounds --- terminus-core/src/services/docking.service.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/terminus-core/src/services/docking.service.ts b/terminus-core/src/services/docking.service.ts index 20f368db..fd8a28ea 100644 --- a/terminus-core/src/services/docking.service.ts +++ b/terminus-core/src/services/docking.service.ts @@ -63,15 +63,15 @@ export class DockingService { } getScreens () { - return this.electron.screen.getAllDisplays().map((display, index) => { + const primaryDisplayID = this.electron.screen.getPrimaryDisplay().id; + return this.electron.screen.getAllDisplays().sort((a,b) => ( + a.bounds.x === b.bounds.x ? a.bounds.y - b.bounds.y : a.bounds.x - b.bounds.x + )).map((display,index) => { return { id: display.id, - name: [ - 'Primary display', - 'Secondary display', - ][index] || `Display ${index + 1}`, + name: display.id === primaryDisplayID ? 'Primary Display' : `Display ${index +1}`, } - }) + }); } private repositionWindow () {