diff --git a/README.md b/README.md index 7b28bee..241ebd4 100644 --- a/README.md +++ b/README.md @@ -19,23 +19,15 @@ npm install DEBUG=pitaya* npm start ``` -## Options +## Variables d'environnement -``` ---profile= Chemin vers le fichier de profil à charger dans l'application. ---edit Ouvrir l'application en mode édition. -``` +Vous pouvez configurer le comportement de Pitaya en passant des variables d'environnement: -### Passer des options en développement - -``` -npm start -- [options...] -``` - -Exemple: -``` -npm start -- --profile=my-profile.json -``` +| Variable | Description | Valeurs possibles | Valeur par défaut | +|-------------------|------------------------------------|-------------------|------------------------| +| PITAYA_MODE | Mode d'exécution de Pitaya | launcher, edit | launcher | +| PITAYA_PROFILE | Chemin du fichier profil à charger | -- | ./default-profile.json | +| PITAYA_AS_DESKTOP | Afficher Pitaya en mode "Bureau" | 1, 0 | 0 | ## Comment construire l'application depuis les sources diff --git a/js/app.jsx b/js/app.jsx index fb7e2a8..935352d 100644 --- a/js/app.jsx +++ b/js/app.jsx @@ -10,7 +10,7 @@ var App = React.createClass({ render: function() { - var editMode = this.props.processOpts.edit || false; + var editMode = process.env.PITAYA_MODE === 'edit'; var view = editMode ? : ; diff --git a/js/components/launcher/launcher-view.jsx b/js/components/launcher/launcher-view.jsx index 7be494e..635d570 100644 --- a/js/components/launcher/launcher-view.jsx +++ b/js/components/launcher/launcher-view.jsx @@ -21,7 +21,7 @@ var LauncherView = React.createClass({ }, componentDidMount: function() { - var profilePath = this.props.processOpts.profile || DEFAULT_PROFILE; + var profilePath = process.env.PITAYA_PROFILE || DEFAULT_PROFILE; this.props.dispatch(actions.common.loadProfile(profilePath)); }, diff --git a/js/store/index.js b/js/store/index.js index 87b7fd6..c448a5b 100644 --- a/js/store/index.js +++ b/js/store/index.js @@ -1,6 +1,5 @@ var redux = require('redux'); var thunkMiddleware = require('redux-thunk'); -var loggerMiddleware = require('redux-logger'); var reducers = require('./reducers'); var loggerMiddleware = require('./middlewares/logger'); diff --git a/js/store/reducers/index.js b/js/store/reducers/index.js index 7a61a24..0207160 100644 --- a/js/store/reducers/index.js +++ b/js/store/reducers/index.js @@ -1,4 +1,3 @@ exports.desktopApps = require('./desktop-apps'); exports.profile = require('./profile'); -exports.processOpts = require('./process-opts'); exports.theme = require('./theme'); diff --git a/js/store/reducers/process-opts.js b/js/store/reducers/process-opts.js deleted file mode 100644 index 79bf1d0..0000000 --- a/js/store/reducers/process-opts.js +++ /dev/null @@ -1,7 +0,0 @@ -var minimist = require('minimist'); - -var opts = minimist(process.argv); - -module.exports = function(state, action) { - return opts; -}; diff --git a/js/util/const.js b/js/util/const.js new file mode 100644 index 0000000..6c1a858 --- /dev/null +++ b/js/util/const.js @@ -0,0 +1,2 @@ +exports.EDIT_MODE = 'edit'; +exports.LAUNCHER_MODE = 'launcher'; diff --git a/js/util/debug.js b/js/util/debug.js index dc72a88..b931e3f 100644 --- a/js/util/debug.js +++ b/js/util/debug.js @@ -3,15 +3,5 @@ var util = require('util'); module.exports = function createLogger(namespace) { var logger = debug('pitaya:'+namespace); - var isNWContext = 'window' in global; - var console = isNWContext ? global.window.console : global.console; - logger.log = function() { - if(isNWContext) { - console.log.apply(console, arguments); - } else { - var str = util.format.apply(util, arguments); - console.log(str); - } - }; return logger; }; diff --git a/main.js b/main.js index 07d4351..55f5318 100644 --- a/main.js +++ b/main.js @@ -1,5 +1,6 @@ var app = require('app'); // Module to control application life. var BrowserWindow = require('browser-window'); // Module to create native browser window. +var constants = require('./js/util/const'); var mainWindow = null; @@ -13,10 +14,12 @@ app.on('ready', function() { var electronScreen = require('screen'); var size = electronScreen.getPrimaryDisplay().workAreaSize; + var asDesktop = process.env.PITAYA_AS_DESKTOP == 1; + mainWindow = new BrowserWindow({ - type: 'desktop', - 'skip-taskbar': true, - frame: false, + type: asDesktop ? 'desktop' : undefined, + 'skip-taskbar': asDesktop, + frame: !asDesktop, width: size.width, height: size.height });