index.js 1.84 KiB
Newer Older
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
//
// SPDX-License-Identifier: BSD-3-Clause

import path from 'path';
import url from 'url';

import staticPath from '../../utils/staticPath';

const INDEX_HTML_PATH =
  process.env.ELECTRON_START_URL ||
  url.format({
    pathname: path.join(staticPath, 'build', 'index.html'),
    protocol: 'file:',
    slashes: true
  });

// Icon path differs when started with `yarn electron` or `yarn start`
const ICON_PATH =
  process.platform === 'win32'
    ? path.join(staticPath, 'assets', 'icons', 'win', 'icon.ico')
    : path.join(staticPath, 'assets', 'icons', 'iconTemplate.png');
const ICON_DOCK_PATH =
  process.platform === 'darwin'
    ? path.join(staticPath, 'assets', 'icons', 'iconDock.png')
    : '';

const shouldUseDevTools = process.env.NODE_ENV !== 'production';
Luke Schoen's avatar
Luke Schoen committed
const shouldUseFrame = process.platform === 'win32';
const windowPosition =
  process.platform === 'win32' ? 'trayBottomCenter' : 'trayCenter';

// API docs: https://electronjs.org/docs/api/browser-window
  alwaysOnTop: true,
Luke Schoen's avatar
Luke Schoen committed
  dir: staticPath,
Luke Schoen's avatar
Luke Schoen committed
  hasShadow: true,
  index: INDEX_HTML_PATH,
  resizable: false,
Luke Schoen's avatar
Luke Schoen committed
  show: false, // Run showWindow later
  showDockIcon: true, // macOS usage only
    devTools: shouldUseDevTools, // Security
    enableRemoteModule: false
  windowPosition: windowPosition, // Required
Luke Schoen's avatar
Luke Schoen committed
  frame: shouldUseFrame,
  // On Linux the user must click the tray icon and then click the tooltip
  // to toggle the Fether window open/close
  tooltip: 'Click to toggle Fether window',
  width: 352,
  withTaskbar: true
};

export { DEFAULT_OPTIONS, TASKBAR_OPTIONS };