Skip to content

Commit

Permalink
feat: Keep window size across launches
Browse files Browse the repository at this point in the history
  • Loading branch information
rmevans9 committed Feb 23, 2019
1 parent f1ff910 commit 6b43e38
Show file tree
Hide file tree
Showing 6 changed files with 75 additions and 97 deletions.
4 changes: 2 additions & 2 deletions examples/demo-react-native/App/Redux/index.js
@@ -1,4 +1,4 @@
import { combineReducers, applyMiddleware, compose } from 'redux'
import { createStore, combineReducers, applyMiddleware, compose } from 'redux'
import { reducer as repoReducer } from './RepoRedux'
import { reducer as logoReducer } from './LogoRedux'
import { reducer as errorReducer } from './ErrorRedux'
Expand Down Expand Up @@ -34,7 +34,7 @@ export default () => {
sagaMonitor: Reactotron.createSagaMonitor()
})
const middleware = applyMiddleware(logger, sagaMiddleware)
const store = Reactotron.createStore(rootReducer, compose(middleware))
const store = createStore(rootReducer, compose(Reactotron.createEnhancer(), middleware))
sagaMiddleware.run(rootSaga)
return store
}
2 changes: 1 addition & 1 deletion examples/demo-react-native/package.json
Expand Up @@ -14,7 +14,7 @@
"react-native-view-shot": "^2.4.0",
"react-redux": "^5.0.7",
"reactotron-react-native": "^2.1.7",
"reactotron-redux": "^2.1.3",
"reactotron-redux": "^3.0.0-beta.1",
"reactotron-redux-saga": "^4.0.1",
"redux-logger": "^3.0.6",
"redux-saga": "^1.0.1"
Expand Down
83 changes: 20 additions & 63 deletions examples/demo-react-native/yarn.lock
Expand Up @@ -5522,11 +5522,6 @@ lodash-es@^4.17.5:
version "4.17.10"
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.10.tgz#62cd7104cdf5dd87f235a837f0ede0e8e5117e05"

lodash-es@^4.2.1:
version "4.17.11"
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.11.tgz#145ab4a7ac5c5e52a3531fb4f310255a152b4be0"
integrity sha512-DHb1ub+rMjjrxqlB3H56/6MXtm1lSksDp2rA2cNWjG8mlDUYFhUj3Di2Zn5IwSU87xLv8tNIQ7sSwE/YOX/D/Q==

lodash._getnative@^3.0.0:
version "3.9.1"
resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
Expand Down Expand Up @@ -5599,11 +5594,6 @@ lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5,
version "4.17.10"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"

lodash@^4.2.1:
version "4.17.11"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==

longest@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
Expand Down Expand Up @@ -7085,22 +7075,10 @@ radium@^0.19.0:
inline-style-prefixer "^2.0.5"
prop-types "^15.5.8"

ramda@^0.24.1:
version "0.24.1"
resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.24.1.tgz#c3b7755197f35b8dc3502228262c4c91ddb6b857"
integrity sha1-w7d1UZfzW43DUCIoJixMkd22uFc=

ramda@^0.25.0:
version "0.25.0"
resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.25.0.tgz#8fdf68231cffa90bc2f9460390a0cb74a29b29a9"

ramdasauce@^2.0.0:
version "2.1.3"
resolved "https://registry.yarnpkg.com/ramdasauce/-/ramdasauce-2.1.3.tgz#acb45ecc7e4fc4d6f39e19989b4a16dff383e9c2"
integrity sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==
dependencies:
ramda "^0.24.1"

randomatic@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.0.0.tgz#d35490030eb4f7578de292ce6dfb04a91a128923"
Expand Down Expand Up @@ -7385,40 +7363,29 @@ react@16.4.1:
object-assign "^4.1.1"
prop-types "^15.6.0"

reactotron-core-client@^2.1.4, reactotron-core-client@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/reactotron-core-client/-/reactotron-core-client-2.2.1.tgz#2b7417df7831419ce9bc44b025f86012fda7e582"
integrity sha512-VINa2vuSMOCqRCaRRdTdk10vrj7xRhRUN1hpbvtANMlZmByQOf+kqRVqR6uad2jPE3nn/47V7F23MAkS8lDNug==
reactotron-core-client@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/reactotron-core-client/-/reactotron-core-client-2.2.2.tgz#cc5208158953e1bb461a357af417d7280b67b2f1"
integrity sha512-JlF9GKJLKCdFtqMo4kk8qU2uvH6uECpRvt/ssU5SYTvANRCeXyMRWcoDxs96LMCe3zTCEeLOYxANGj6UJ2100Q==

reactotron-react-native@^2.1.5:
version "2.1.5"
resolved "https://registry.yarnpkg.com/reactotron-react-native/-/reactotron-react-native-2.1.5.tgz#2726d5f057c48933188df6a100c3ee168eeb4119"
integrity sha512-HgwdT5BXR+I/R9xI9F3lpMFc2OuN8HO7OiuR7HqeCVSUz87OKogoGGxH5eCL8uyzfFqBTUxh20Lqxn6/0+nsVg==
reactotron-react-native@^2.1.7:
version "2.1.7"
resolved "https://registry.yarnpkg.com/reactotron-react-native/-/reactotron-react-native-2.1.7.tgz#8784bce847bae738bbfd31c5a387d5271d841e69"
integrity sha512-WqHFCCgHUR0l6QhtDSTdhxtbit9gu3fWj+Ihrz2/iE9kL0P8AVMgfMVkYkd7BuBhKn7vMQZUPlNmEsNizVL6lA==
dependencies:
mitt "^1.1.2"
prop-types "^15.5.10"
reactotron-core-client "^2.2.1"
reactotron-core-client "^2.2.2"

reactotron-redux-saga@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/reactotron-redux-saga/-/reactotron-redux-saga-3.0.0.tgz#5c61e7d174d175ec694729bd5f3fcdb883f1b01b"
integrity sha512-R4wdK2VZvnepEBLiHEa5leA0N/ckhlUyCjpvrlRxw4odqU6l8rh+TPOoxSE2MOeXcvgih93emFllMGJYx9eaEA==
dependencies:
ramda "^0.24.1"
ramdasauce "^2.0.0"
reactotron-core-client "^2.2.1"
redux "^4.0.1"
redux-saga "^1.0.0"
reactotron-redux-saga@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/reactotron-redux-saga/-/reactotron-redux-saga-4.0.1.tgz#2e1712bce4fb96beb9b4ce34baacd7a3fc727633"
integrity sha512-p3KFp3F2Grw+L6lRWbI0/rcerJ0kQtdVUxH8N9PWpRonOII/dz3CAsqUzDjjFH7GH1gpqCPtpLj76qvMEN70WQ==

reactotron-redux@^2.1.3:
version "2.1.3"
resolved "https://registry.yarnpkg.com/reactotron-redux/-/reactotron-redux-2.1.3.tgz#d195d55ddd47c029c2453ce1a5746b7ff6c4c227"
integrity sha512-RA69TZW7NAQPAmcXp2EL/OKsa0jKQ47GaWV4Cb3u1Av3TFSmUH05PmC6N1mLcQNGLPQeoYzFX0MJR8viQjRmig==
dependencies:
ramda "^0.24.1"
ramdasauce "^2.0.0"
reactotron-core-client "^2.1.4"
redux "^3.7.1"
reactotron-redux@^3.0.0-beta.1:
version "3.0.0-beta.1"
resolved "https://registry.yarnpkg.com/reactotron-redux/-/reactotron-redux-3.0.0-beta.1.tgz#380e093c3b3c0df0ce01388115dfd71c29596097"
integrity sha512-s3Jz8V5ikCsIwntivxbtIa35f9CvSAb16DInDQW8oR2P+oCBcRVG0nQzAnYjuwiYzxzQ6wkFnjaVkP5KAMISqg==

read-pkg-up@^1.0.1:
version "1.0.1"
Expand Down Expand Up @@ -7527,31 +7494,21 @@ redux-logger@^3.0.6:
dependencies:
deep-diff "^0.3.5"

redux-saga@^1.0.0, redux-saga@^1.0.1:
redux-saga@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/redux-saga/-/redux-saga-1.0.1.tgz#5f5c6803882bc5c7c8dd558562e8392ef15e3ffe"
integrity sha512-XAp0OliRaoBCk/qynMfvXnTtC1WXrEpSqMwPKtOZHXVbQFekdcei/Eln/w0L7m3NcNxYQSlWwdUoffWzB1oAAQ==
dependencies:
"@redux-saga/core" "^1.0.1"

"redux@>=0.10 <5", redux@^4.0.1:
"redux@>=0.10 <5":
version "4.0.1"
resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.1.tgz#436cae6cc40fbe4727689d7c8fae44808f1bfef5"
integrity sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg==
dependencies:
loose-envify "^1.4.0"
symbol-observable "^1.2.0"

redux@^3.7.1:
version "3.7.2"
resolved "https://registry.yarnpkg.com/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b"
integrity sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==
dependencies:
lodash "^4.2.1"
lodash-es "^4.2.1"
loose-envify "^1.1.0"
symbol-observable "^1.0.3"

regenerate-unicode-properties@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c"
Expand Down Expand Up @@ -8352,7 +8309,7 @@ svgo@^0.7.0:
sax "~1.2.1"
whet.extend "~0.9.9"

symbol-observable@^1.0.3, symbol-observable@^1.2.0:
symbol-observable@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
Expand Down
1 change: 1 addition & 0 deletions package.json
Expand Up @@ -145,6 +145,7 @@
"electron-devtools-installer": "^2.2.4",
"electron-log": "^2.2.17",
"electron-updater": "^4.0.5",
"electron-window-state": "^5.0.3",
"font-awesome": "^4.7.0",
"mobx": "^4.2.1",
"mobx-react": "^5.1.2",
Expand Down
74 changes: 43 additions & 31 deletions src/main.dev.js
Expand Up @@ -7,6 +7,7 @@
* `./app/main.prod.js` using webpack. This gives us some performance wins.
*/

import windowStateKeeper from "electron-window-state"
import { app, BrowserWindow } from "electron"
import { autoUpdater } from "electron-updater"
import log from "electron-log"
Expand Down Expand Up @@ -51,34 +52,45 @@ app.on("ready", /* async */ () => {
// await installExtensions()
// }

mainWindow = new BrowserWindow({
show: false,
width: 650,
height: 800,
useContentHeight: true,
titleBarStyle: "hiddenInset",
})

mainWindow.loadURL(`file://${__dirname}/app.html`)

mainWindow.webContents.on("did-finish-load", () => {
if (!mainWindow) {
throw new Error('"mainWindow" is not defined')
}
if (process.env.START_MINIMIZED) {
mainWindow.minimize()
} else {
mainWindow.show()
mainWindow.focus()
}
})

mainWindow.on("closed", () => {
mainWindow = null
})

const menuBuilder = new MenuBuilder(mainWindow)
menuBuilder.buildMenu()

new AppUpdater()
})
// Load the previous state with fallback to defaults
let mainWindowState = windowStateKeeper({
file: 'reactotron-window-state.json',
defaultWidth: 650,
defaultHeight: 800,
})

mainWindow = new BrowserWindow({
show: false,
x: mainWindowState.x,
y: mainWindowState.y,
width: mainWindowState.width,
height: mainWindowState.height,
titleBarStyle: "hiddenInset",
})

mainWindowState.manage(mainWindow)

mainWindow.loadURL(`file://${__dirname}/app.html`)

mainWindow.webContents.on("did-finish-load", () => {
if (!mainWindow) {
throw new Error('"mainWindow" is not defined')
}
if (process.env.START_MINIMIZED) {
mainWindow.minimize()
} else {
mainWindow.show()
mainWindow.focus()
}
})

mainWindow.on("closed", () => {
mainWindow = null
})

const menuBuilder = new MenuBuilder(mainWindow)
menuBuilder.buildMenu()

new AppUpdater()
}
)
8 changes: 8 additions & 0 deletions yarn.lock
Expand Up @@ -3319,6 +3319,14 @@ electron-updater@^4.0.5:
semver "^5.6.0"
source-map-support "^0.5.9"

electron-window-state@^5.0.3:
version "5.0.3"
resolved "https://registry.yarnpkg.com/electron-window-state/-/electron-window-state-5.0.3.tgz#4f36d09e3f953d87aff103bf010f460056050aa8"
integrity sha512-1mNTwCfkolXl3kMf50yW3vE2lZj0y92P/HYWFBrb+v2S/pCka5mdwN3cagKm458A7NjndSwijynXgcLWRodsVg==
dependencies:
jsonfile "^4.0.0"
mkdirp "^0.5.1"

electron@3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/electron/-/electron-3.0.3.tgz#2857ed8d37c1b46e0a75a72684800252255f3243"
Expand Down

0 comments on commit 6b43e38

Please sign in to comment.