From 4666ee8832b6859088cd5f50a166f3f25416fcfb Mon Sep 17 00:00:00 2001 From: sawka Date: Tue, 12 Jul 2022 14:27:40 -0700 Subject: [PATCH] checkpoint --- src/emain.ts | 17 ++++++++++++++++- src/model.ts | 11 +++++++++++ src/preload.js | 3 ++- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/emain.ts b/src/emain.ts index bd3141f7..7b3e4bb3 100644 --- a/src/emain.ts +++ b/src/emain.ts @@ -53,8 +53,23 @@ function createWindow() { if (input.type != "keyDown") { return; } + if (input.meta) { + console.log("before-input", input.code, input.modifiers); + } if (input.code == "KeyT" && input.meta) { - win.webContents.send("cmt-t"); + win.webContents.send("cmd-t"); + e.preventDefault(); + return; + } + if (input.code == "BracketRight" && input.meta) { + win.webContents.send("switch-screen", {relative: 1}); + e.preventDefault(); + return; + } + if (input.code == "BracketLeft" && input.meta) { + win.webContents.send("switch-screen", {relative: -1}); + e.preventDefault(); + return; } }); return win; diff --git a/src/model.ts b/src/model.ts index 459260f7..f48f4502 100644 --- a/src/model.ts +++ b/src/model.ts @@ -19,6 +19,7 @@ function isBlank(s : string) { type ElectronApi = { getId : () => string, onCmdT : (callback : () => void) => void, + onSwitchScreen : (callback : (event : any, arg : {relative? : number, absolute? : number}) => void) => void, }; function getApi() : ElectronApi { @@ -405,6 +406,16 @@ class Model { this.loadSessionList(); this.ws = new WSControl(this.clientId, this.onWSMessage.bind(this)) this.ws.reconnect(); + getApi().onCmdT(this.onCmdT.bind(this)); + getApi().onSwitchScreen(this.onSwitchScreen.bind(this)); + } + + onCmdT() { + console.log("got cmd-t"); + } + + onSwitchScreen(e : any, arg : {relative? : number, absolute? : number}) { + console.log("switch screen", arg); } isConnected() : boolean { diff --git a/src/preload.js b/src/preload.js index d1abc56f..b8efa84b 100644 --- a/src/preload.js +++ b/src/preload.js @@ -2,5 +2,6 @@ let {contextBridge, ipcRenderer} = require("electron"); contextBridge.exposeInMainWorld("api", { getId: () => ipcRenderer.sendSync("get-id"), - onCmdT: (callback) => ipcRenderer.on("cmd-t"), + onCmdT: (callback) => ipcRenderer.on("cmd-t", callback), + onSwitchScreen: (callback) => ipcRenderer.on("switch-screen", callback), });