diff --git a/.gitignore b/.gitignore index 8ca8a7ffc..afcd6a4b1 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,6 @@ npm-debug.log dist/ coverage/ node_modules/ + Gitify-darwin-x64/ +Gitify-linux-x64/ diff --git a/images/app-icon.ico b/images/app-icon.ico new file mode 100644 index 000000000..d48a4b695 Binary files /dev/null and b/images/app-icon.ico differ diff --git a/main.js b/main.js index 9e582d614..cc132e8b1 100644 --- a/main.js +++ b/main.js @@ -1,5 +1,6 @@ const { app, dialog, ipcMain, BrowserWindow, Menu, Tray } = require('electron'); const path = require('path'); + const GhReleases = require('electron-gh-releases'); const AutoLaunch = require('auto-launch'); @@ -15,6 +16,7 @@ let appWindow; let appIcon = null; let isQuitting = false; +// The auto-start module does not support Linux const autoStart = new AutoLaunch({ name: 'Gitify', path: process.execPath.match(/.*?\.app/)[0], @@ -146,16 +148,19 @@ app.on('ready', function() { const menu = Menu.buildFromTemplate(appMenuTemplate); Menu.setApplicationMenu(menu); - checkAutoUpdate(false); + + if (!isLinux) { + checkAutoUpdate(false); + } } appIcon = createAppIcon(); initWindow(); ipcMain.on('reopen-window', () => appWindow.show()); - ipcMain.on('startup-enable', () => autoStart.enable()); - ipcMain.on('startup-disable', () => autoStart.disable()); - ipcMain.on('check-update', () => checkAutoUpdate(true)); + ipcMain.on('startup-enable', () => !isLinux && autoStart.enable()); + ipcMain.on('startup-disable', () => !isLinux && autoStart.disable()); + ipcMain.on('check-update', () => !isLinux && checkAutoUpdate(true)); ipcMain.on('set-badge', (event, count) => app.setBadgeCount(count)); ipcMain.on('app-quit', () => app.quit()); diff --git a/package.json b/package.json index a27bbe751..1dda2def8 100644 --- a/package.json +++ b/package.json @@ -11,9 +11,12 @@ "watch-js": "watchify -t babelify --ignore-missing --no-builtins --no-commondir --insert-global-vars=\"global\" --no-browser-field --exclude electron src/js/app.js -o dist/js/app.js -v", "watch-scss": "node-sass -w src/scss/app.scss dist/css/app.css", "watch": "npm run build && npm run watch-js & npm run watch-scss", - "package": "electron-packager . Gitify --overwrite --platform=darwin --arch=x64 --electron-version=1.6.10 --asar=true --icon=images/app-icon.icns --prune --ignore='src' --ignore='coverage'", + "package-linux": "electron-packager . Gitify --overwrite --platform=linux --arch=x64 --electron-version=1.6.10 --asar=true --icon=images/app-icon.icns --prune --ignore='src' --ignore='coverage'", + "package-macos": "electron-packager . Gitify --overwrite --platform=darwin --arch=x64 --electron-version=1.6.10 --asar=true --icon=images/app-icon.icns --prune --ignore='src' --ignore='coverage'", "codesign": "bash scripts/codesign.bash", - "dist": "npm run build && npm run package && npm run codesign", + "dist-linux": "npm run build && npm run package-linux", + "dist-osx": "npm run build && npm run package-macos && npm run codesign", + "dist": "npm run dist-linux && npm run dist-osx", "lint-js": "eslint 'src/js/' 'src/js/app.js' 'main.js'", "lint-sass": "sass-lint -c .sass-lint.yml -v -q", "prettier": "prettier --single-quote --trailing-comma es5 --write 'src/js/**/*.js'", @@ -45,6 +48,10 @@ { "name": "Jake 'Sid' Smith", "url": "https://githib.com/JakeSidSmith" + }, + { + "name": "Denis Malinochkin", + "url": "https://github.com/mrmlnc" } ], "license": "MIT",