diff --git a/.eslintrc.json b/.eslintrc.json index 44d8df5f..7da833a8 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -109,8 +109,7 @@ "@typescript-eslint/no-unsafe-member-access": "off", "@typescript-eslint/no-unsafe-return": "off", "@typescript-eslint/restrict-plus-operands": "off", - "@typescript-eslint/restrict-template-expressions": "off", - "@typescript-eslint/unbound-method": "off" + "@typescript-eslint/restrict-template-expressions": "off" } } ] diff --git a/app/config.ts b/app/config.ts index 6f8919dd..c64f306f 100644 --- a/app/config.ts +++ b/app/config.ts @@ -2,7 +2,6 @@ import chokidar from 'chokidar'; import notify from './notify'; import {_import, getDefaultConfig} from './config/import'; import _openConfig from './config/open'; -import win from './config/windows'; import {cfgPath, cfgDir} from './config/paths'; import {getColorMap} from './utils/colors'; import {parsedConfig, configOptions} from '../lib/config'; @@ -108,9 +107,7 @@ export const setup = () => { checkDeprecatedConfig(); }; -export const getWin = win.get; -export const winRecord = win.recordState; -export const windowDefaults = win.defaults; +export {get as getWin, recordState as winRecord, defaults as windowDefaults} from './config/windows'; export const fixConfigDefaults = (decoratedConfig: configOptions) => { const defaultConfig = getDefaultConfig().config!; diff --git a/app/config/windows.ts b/app/config/windows.ts index bc218ad0..5f3b7fc8 100644 --- a/app/config/windows.ts +++ b/app/config/windows.ts @@ -1,7 +1,7 @@ import Config from 'electron-store'; import {BrowserWindow} from 'electron'; -const defaults = { +export const defaults = { windowPosition: [50, 50], windowSize: [540, 380] }; @@ -9,15 +9,12 @@ const defaults = { // local storage const cfg = new Config({defaults}); -export default { - defaults, - get() { - const position = cfg.get('windowPosition', defaults.windowPosition); - const size = cfg.get('windowSize', defaults.windowSize); - return {position, size}; - }, - recordState(win: BrowserWindow) { - cfg.set('windowPosition', win.getPosition()); - cfg.set('windowSize', win.getSize()); - } -}; +export function get() { + const position = cfg.get('windowPosition', defaults.windowPosition); + const size = cfg.get('windowSize', defaults.windowSize); + return {position, size}; +} +export function recordState(win: BrowserWindow) { + cfg.set('windowPosition', win.getPosition()); + cfg.set('windowSize', win.getSize()); +} diff --git a/app/rpc.ts b/app/rpc.ts index 7cd26af7..dd8661ed 100644 --- a/app/rpc.ts +++ b/app/rpc.ts @@ -18,6 +18,7 @@ export class Server extends EventEmitter { const uid = uuidv4(); this.id = uid; + // eslint-disable-next-line @typescript-eslint/unbound-method ipcMain.on(uid, this.ipcListener); // we intentionally subscribe to `on` instead of `once` @@ -48,6 +49,7 @@ export class Server extends EventEmitter { this.removeAllListeners(); this.wc.removeAllListeners(); if (this.id) { + // eslint-disable-next-line @typescript-eslint/unbound-method ipcMain.removeListener(this.id, this.ipcListener); } else { // mark for `genUid` in constructor diff --git a/app/ui/window.ts b/app/ui/window.ts index f9cdf857..68c9c358 100644 --- a/app/ui/window.ts +++ b/app/ui/window.ts @@ -210,8 +210,7 @@ export function newWindow( }); rpc.on('open context menu', (selection) => { const {createWindow} = app; - const {buildFromTemplate} = Menu; - buildFromTemplate(contextMenuTemplate(createWindow, selection)).popup({window}); + Menu.buildFromTemplate(contextMenuTemplate(createWindow, selection)).popup({window}); }); rpc.on('open hamburger menu', ({x, y}) => { Menu.getApplicationMenu()!.popup({x: Math.ceil(x), y: Math.ceil(y)}); diff --git a/lib/components/term.tsx b/lib/components/term.tsx index 55174917..30785fcf 100644 --- a/lib/components/term.tsx +++ b/lib/components/term.tsx @@ -152,6 +152,7 @@ export default class Term extends React.PureComponent { return event && (!props.webLinksActivationKey || event[`${props.webLinksActivationKey}Key`]); }; + // eslint-disable-next-line @typescript-eslint/unbound-method this.term.attachCustomKeyEventHandler(this.keyboardHandler); this.term.loadAddon(this.fitAddon); this.term.loadAddon(this.searchAddon);