* Step 1: move electorn into `app/`.
This is to comply with the suggested directory format of
`electron-builder`: https://github.com/electron-userland/electron-builder#two-packagejson-structure
* Step 2: add build directory with icon files for mac / windows
* Step 3: move all development (web) assets into main directory
* Step 4: add `build` namespace to dev `package.json`
* Step 5: move all dev dependencies into dev file and get rid of
old electron packagers in favor of `eletorn-builder`
* Step 6: target build inside `app/` as everything else is excluded at build time
* Step 7: remove old stuff!
* Step 8: update README
* turn off asar for `child_pty`
This reverts commit 9e3fe9228d.
@freebroccolo while great in theory, this breaks uglifyjs.
minification provides an important advantage in interpretation
time (and therefore reduced bootup time)
* add `TERM_PROGRAM` and `TERM_PROGRAM_VERSION` env vars
MacOS's Terminal.app sets these same env variables.
They're useful to be able to sniff out the type of
terminal emulator and do different settings in your
bashrc / vimrc / etc. configuration files.
So for example, `TERM_PROGRAM` will be "HyperTerm",
and `TERM_PROGRAM_VERSION` will be the value from `package.json/version`.
* fix require package.json path
I setup cask loong time ago and hadn't updated cask since then. Had to update cask before I was able to install hyperterm. Also not the first one to encounter this: https://github.com/zeit/hyperterm/issues/295 :)
* Allow the `color` config to be an object
It only covers the ANSI 16 as named colors, but allows for an array to
be used if the full color palette wants to be overridden.
* Better handling for array color configs vs. object configs
* Move window close button into shell submenu
IMO actions that affect a session don't belong into the window menu.
* Add window zoom menu item
fixes#234
* Fix installing plugins that use `node-gyp`
Sets the proper environmental variables to install plugins that have
specific needs for compilation e.g. `nodegit`.
* Get Electron version from `package.json` for plugins env variable
* Dynamically change the `font-smoothing` pref
By default, hterm defaults to `font-smoothing: 'antialiased'`, which
works really well on retina displays. On non-retina displays, however,
the type looks very thin and is hard to read.
This will look at the devicePixelRatio of the device anytime the term
prefs are set, and change between `antialiased` and
`subpixel-antialiased` dynamically.
* Refactor to add the font smoothing override into state
This also subscribes to the electron `move` event to control when this
piece of state gets updated.
* Add UI_WINDOW_MOVE action with a side effect for font smoothing
* Add support for a `registry` configuration field
For those of us using a system-wide private registry, this helps by allowing hyperterm to bypass it when installing/updates plugins.
* Use getDecoratedConfig()
* registry -> npmRegistry
* no message