diff --git a/setup.sh b/setup.sh index 60a743e..b3b39b5 100755 --- a/setup.sh +++ b/setup.sh @@ -156,6 +156,7 @@ for PLUGIN_DIR in cloud9_ext/plugins-server/*/; do echo " * $PLUGIN_NAME ..." cp -a "$PLUGIN_DIR" "./cloud9/plugins-server/$PLUGIN_NAME" done +echo # node-webkit @@ -189,12 +190,20 @@ else Darwin) #TODO: unzip from piped stdin instead? - curl -O "http://dl.node-webkit.org/v$NW_VER/node-webkit-v$NW_VER-osx-ia32.zip" - unzip -n "node-webkit-v$NW_VER-osx-ia32.zip" - rm "node-webkit-v$NW_VER-osx-ia32.zip" - mv node-webkit.app C9.app + NW_NAME="node-webkit-v$NW_VER-osx-ia32" + curl -O "http://dl.node-webkit.org/v$NW_VER/$NW_NAME.zip" + unzip -n "$NW_NAME.zip" + rm "$NW_NAME.zip" + if [ -d "node-webkit.app" ]; then # older packages + mv "node-webkit.app" "C9.app" + else # newer packages + mv "$NW_NAME/node-webkit.app" "C9.app" + rm -fr "$NW_NAME" + fi cp darwin/Info.plist C9.app/Contents/Info.plist cp darwin/nw.icns C9.app/Contents/Resources/nw.icns + mkdir "$NW_DIR" + echo "The existence of this dir prevents 'setup.sh' from installing 'node-webkit' again; See the C9.app instead" >> "$NW_DIR/README" ;; *) diff --git a/www/index.html b/www/index.html index 3a30986..e6b12b9 100644 --- a/www/index.html +++ b/www/index.html @@ -5,8 +5,8 @@ - - + + @@ -31,11 +31,11 @@

Workspaces

- + diff --git a/www/lib/Main.js b/www/lib/Main.js index 7488308..27d015c 100644 --- a/www/lib/Main.js +++ b/www/lib/Main.js @@ -129,6 +129,11 @@ var Main = module.exports = { var menubar = new gui.Menu({type:"menubar"}); var item, submenu; + // Setup Mac OS X builtins + if (menubar.createMacBuiltin) { + menubar.createMacBuiltin("C9"); + } + // Add the main menu if(process.platform !== "darwin"){ item = new gui.MenuItem({label:"App"}); @@ -151,9 +156,16 @@ var Main = module.exports = { // Add the Window menu if(process.platform === "darwin"){ - item = new gui.MenuItem({label:"Window"}); - menubar.append(item); - submenu = item.submenu = new gui.Menu(); + item = menubar.items.filter(function (i) { + return i.label === "Window"; + })[0]; + if (!item) { + item = new gui.MenuItem({label:"Window"}); + menubar.append(item); + submenu = item.submenu = new gui.Menu(); + }else{ + submenu = item.submenu; + } submenu.append(new gui.MenuItem({label:"Zoom"}).on("click", Main.commands.window.zoom)); }