From 8c9af4af0d8528e4be80bb31e0abfb75dac2d34e Mon Sep 17 00:00:00 2001 From: Philip Peterson Date: Mon, 21 Apr 2025 22:43:54 -0700 Subject: [PATCH] Fix drag issue (#125) * Use electron-drag-click * Use quine fork of electron-drag-click for version compat * Update nvmrc --- .nvmrc | 2 +- app/package.json | 1 + app/ui/window.ts | 3 +++ app/yarn.lock | 22 +++++++++++++++++++++- yarn.lock | 4 ++-- 5 files changed, 28 insertions(+), 4 deletions(-) diff --git a/.nvmrc b/.nvmrc index 4a58985b..8b0beab1 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -18.18 +20.11.0 diff --git a/app/package.json b/app/package.json index 925036dd..b47c2175 100644 --- a/app/package.json +++ b/app/package.json @@ -21,6 +21,7 @@ "color": "4.2.3", "default-shell": "1.0.1", "electron-devtools-installer": "3.2.0", + "quine-electron-drag-click": "1.0.6b", "electron-fetch": "1.9.1", "electron-is-dev": "2.0.0", "electron-store": "8.2.0", diff --git a/app/ui/window.ts b/app/ui/window.ts index 87eba6d7..c51f95bd 100644 --- a/app/ui/window.ts +++ b/app/ui/window.ts @@ -8,6 +8,7 @@ import type {BrowserWindowConstructorOptions} from 'electron'; import {enable as remoteEnable} from '@electron/remote/main'; import isDev from 'electron-is-dev'; import {getWorkingDirectoryFromPID} from 'native-process-working-directory'; +import electronDragClick from 'quine-electron-drag-click'; import {v4 as uuidv4} from 'uuid'; import type {sessionExtraOptions} from '../../typings/common'; @@ -26,6 +27,8 @@ import toElectronBackgroundColor from '../utils/to-electron-background-color'; import contextMenuTemplate from './contextmenu'; +electronDragClick(); + export function newWindow( options_: BrowserWindowConstructorOptions, cfg: configOptions, diff --git a/app/yarn.lock b/app/yarn.lock index 1b3244dc..b6b0e22e 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -176,6 +176,13 @@ binary-extensions@^2.0.0: resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -458,6 +465,11 @@ fast-uri@^3.0.1: resolved "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz#88f130b77cfaea2378d56bf970dea21257a68748" integrity sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw== +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + fill-range@^7.1.1: version "7.1.1" resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" @@ -976,7 +988,7 @@ nice-try@^1.0.4: resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -node-addon-api@^3.1.0: +node-addon-api@^3.0.2, node-addon-api@^3.1.0: version "3.2.1" resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== @@ -1207,6 +1219,14 @@ queue@6.0.2: dependencies: inherits "~2.0.3" +quine-electron-drag-click@1.0.6b: + version "1.0.6-b" + resolved "https://registry.npmjs.org/quine-electron-drag-click/-/quine-electron-drag-click-1.0.6-b.tgz#778d064db08d82241ae79357ffe982db444c47b2" + integrity sha512-m9uTUhHJf2q3878J8F1UHKRvgVxusodpqn924HePZ42YlfCQa3c85YDa2Ys8BbazmV8GC9f8uEUoKVJBXwOFTw== + dependencies: + bindings "^1.5.0" + node-addon-api "^3.0.2" + react-dom@18.3.1: version "18.3.1" resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz#c2265d79511b57d479b3dd3fdfa51536494c5cb4" diff --git a/yarn.lock b/yarn.lock index cd4a0ec4..80fb2d19 100644 --- a/yarn.lock +++ b/yarn.lock @@ -535,9 +535,9 @@ optionalDependencies: global-agent "^3.0.0" -"@electron/node-gyp@git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2": +"@electron/node-gyp@https://github.com/electron/node-gyp#06b29aafb7708acef8b3669835c8a7857ebc92d2": version "10.2.0-electron.1" - resolved "git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2" + resolved "https://github.com/electron/node-gyp#06b29aafb7708acef8b3669835c8a7857ebc92d2" dependencies: env-paths "^2.2.0" exponential-backoff "^3.1.1"