فهرست منبع

Added basic support for multiple windows in windows 10

Austin Warren 6 سال پیش
والد
کامیت
a735c910d5
4فایلهای تغییر یافته به همراه7 افزوده شده و 2 حذف شده
  1. 1 1
      app/lib/app.ts
  2. 0 1
      app/lib/index.ts
  3. 4 0
      app/lib/window.ts
  4. 2 0
      terminus-core/src/services/hostApp.service.ts

+ 1 - 1
app/lib/app.ts

@@ -58,7 +58,7 @@ export class Application {
         if (!this.hasWindows()) {
             await this.newWindow()
         }
-        this.windows[0].send(event, ...args)
+        this.windows.filter(w => !w.isDestroyed())[0].send(event, ...args)
     }
 
     enableTray () {

+ 0 - 1
app/lib/index.ts

@@ -39,7 +39,6 @@ const argv = parseArgs(process.argv, process.cwd())
 
 if (!app.requestSingleInstanceLock()) {
     app.quit()
-    process.exit(0)
 }
 
 if (argv.d) {

+ 4 - 0
app/lib/window.ts

@@ -147,6 +147,10 @@ export class Window {
         this.window.webContents.send(event, ...args)
     }
 
+    isDestroyed() {
+        return !this.window || this.window.isDestroyed();
+    }
+
     private setupWindowManagement () {
         this.window.on('show', () => {
             this.visible.next(true)

+ 2 - 0
terminus-core/src/services/hostApp.service.ts

@@ -147,6 +147,8 @@ export class HostAppService {
                 this.cliPaste.next(text)
             } else if (op === 'profile') {
                 this.cliOpenProfile.next(argv.profileName)
+            } else if (op === undefined) {
+                this.newWindow();
             } else {
                 this.secondInstance.next()
             }