Skip to content
This repository has been archived by the owner. It is now read-only.

Commit f232084

Browse files
author
Lauren McCarthy
authored
Merge pull request #237 from davejm/linux-support
Linux support
2 parents ad7d9b1 + b5a242f commit f232084

File tree

3 files changed

+33
-11
lines changed

3 files changed

+33
-11
lines changed

app/menu.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ var _ = require('underscore');
44
var Files = require('./files');
55

66
var menubar = new gui.Menu({ type: 'menubar' });
7-
if (!isWin) {
7+
if (isMac) {
88
menubar.createMacBuiltin("p5");
99
}
1010
var fileMenu = new gui.Menu();
@@ -24,7 +24,7 @@ var fs = nodeRequire('fs');
2424
* Menuitems may themselves be a submenu
2525
*/
2626
module.exports.setup = function(app) {
27-
if (isWin) {
27+
if (isWin || isLinux) {
2828
//Setup menus for windows
2929
fileMenu.append(new gui.MenuItem({
3030
label: 'New Project Ctrl+Shift+N',
@@ -318,7 +318,7 @@ module.exports.setup = function(app) {
318318
app.showHelp();
319319
}}));
320320

321-
if (isWin) {
321+
if (isWin || isLinux) {
322322
menubar.append(new gui.MenuItem({ label: 'File', submenu: fileMenu}));
323323
menubar.append(new gui.MenuItem({ label: 'View', submenu: view}));
324324
} else {
@@ -335,7 +335,7 @@ module.exports.setup = function(app) {
335335
// Many of these menuItems are different because the ace/brace editor has
336336
// native shortcuts for these commands. Their respective menuItmes only react
337337
// to being clicked on, so the shortcuts work without interference.
338-
if (isWin) {
338+
if (isWin || isLinux) {
339339
var edit = new gui.Menu();
340340

341341
var undo = new gui.MenuItem(
@@ -483,7 +483,7 @@ module.exports.setup = function(app) {
483483
//reset the menubar to the current window's frame of reference. Used whenever
484484
//the user switches focus between windows
485485
module.exports.resetMenu = function() {
486-
if (!isWin) {
486+
if (isMac) {
487487
// console.log(menubar);
488488
var serialLabel = nodeGlobal.serialrunning ? 'Stop Serial Server' : 'Start Serial Server';
489489
menubar.items[4].submenu.items[0].label = serialLabel;

gulpfile.js

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,16 @@ var fs = require('fs');
1515
var info = require('./package.json');
1616
var request = require('request');
1717

18-
var isWin = process.platform.indexOf('win') > -1;
18+
var isWin = process.platform === 'win32';
19+
var isMac = process.platform === 'darwin';
20+
var isLinux = process.platform === 'linux';
1921

2022
var builderOptions = {
2123
version: info.devDependencies.nw,
2224
buildType: 'versioned',
2325
files: [ './public/**'],
2426
buildDir: './dist',
25-
platforms: ['osx64', 'win64'],
27+
platforms: ['osx64', 'win64', 'linux64'],
2628
macIcns: './icons/p5js.icns',
2729
winIco: './icons/p5js.ico',
2830
macPlist: {
@@ -123,6 +125,11 @@ function copyFfmpegBuild() {
123125
gulp.src('./lib/ffmpegsumo.dll')
124126
.pipe(gulp.dest(binaryDir + '/win64',
125127
{overwrite: true}));
128+
129+
/*console.log('copying libffmpegsumo.so to ./dist');
130+
gulp.src('./lib/libffmpegsumo.so')
131+
.pipe(gulp.dest(binaryDir + '/linux64',
132+
{overwrite: true}));*/
126133
}
127134

128135

@@ -133,11 +140,16 @@ gulp.task('copy-ffmpeg-default', function() {
133140
gulp.src('./lib/ffmpegsumo.dll')
134141
.pipe(gulp.dest('./node_modules/nw/nwjs/',
135142
{overwrite: true}));
136-
} else {
143+
} else if (isMac) {
137144
gulp.src('./lib/ffmpegsumo.so')
138145
.pipe(gulp.dest('./node_modules/nw/nwjs/nwjs.app/Contents/Frameworks/nwjs Framework.framework/Libraries/',
139146
{overwrite: true}));
140-
}
147+
}
148+
/* else if (isLinux) {
149+
gulp.src('./lib/libffmpegsumo.so')
150+
.pipe(gulp.dest('./node_modules/nw/nwjs/',
151+
{overwrite: true}));
152+
}*/
141153
});
142154

143155

@@ -147,7 +159,15 @@ function latest () {
147159
console.log('Compressing...');
148160

149161
builderOptions.platforms.forEach(function(p){
150-
var output = 'p5-' + (p.indexOf('win') > -1 ? 'win' : 'mac') + '.zip';
162+
// var output = 'p5-' + (p.indexOf('win') > -1 ? 'win' : 'mac') + '.zip';
163+
var output = 'p5-';
164+
if (p.indexOf('win') > -1) {
165+
output += 'win.zip';
166+
} else if (p.indexOf('osx') > -1) {
167+
output += 'mac.zip';
168+
} else {
169+
output += 'linux.zip';
170+
}
151171
gulp.src(binaryDir + '/' + p +'/**').
152172
pipe(zip(output)).
153173
pipe(gulp.dest(latestDir)).

public/index.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ <h1 id="project-name" v-text="projectName"></h1>
3838
var gui = window.require('nw.gui');
3939

4040
//platform
41-
var isWin = /^win/.test(process.platform);
41+
var isWin = process.platform === 'win32';
42+
var isMac = process.platform === 'darwin';
43+
var isLinux = process.platform === 'linux';
4244

4345
//preserve node keywords
4446
var nodeRequire = require;

0 commit comments

Comments
 (0)