diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e15f1a2 --- /dev/null +++ b/Makefile @@ -0,0 +1,22 @@ +DESTDIR=./ +INSTALL_LOCATION=$(DESTDIR)/opt/pitaya +ELECTRON_ARCH=x64 + +ifeq ($(DEB_TARGET_ARCH), i386) + ELECTRON_ARCH=ia32 +endif + +all: build + +build: + apt-get install --yes --no-install-recommends curl ca-certificates + curl --silent --location https://deb.nodesource.com/setup_0.12 | bash - + apt-get install --yes nodejs + npm install --ignore-scripts + npm run clean + npm run compile + npm run package -- --arch=$(ELECTRON_ARCH) + +install: + mkdir -p $(INSTALL_LOCATION) + cp -r build/pitaya-linux-$(ELECTRON_ARCH)/* $(INSTALL_LOCATION)/ diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..ceeb097 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +pitaya (0.0.0) unstable; urgency=low + + * Initial release (Closes: #nnnn) + + -- William Petit Fri, 16 Oct 2015 15:57:03 +0200 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..b53efd9 --- /dev/null +++ b/debian/control @@ -0,0 +1,13 @@ +Source: pitaya +Section: unknown +Priority: optional +Maintainer: William Petit +Build-Depends: debhelper (>= 8.0.0) +Standards-Version: 3.9.4 +Homepage: +Vcs-Git: https://forge.cadoles.com/wpetit/pitaya.git +Vcs-Browser: https://forge.cadoles.com/wpetit/pitaya + +Package: pitaya +Architecture: any +Description: Lanceur d'application pour GNU/Linux diff --git a/debian/rules b/debian/rules new file mode 100644 index 0000000..4ec8f96 --- /dev/null +++ b/debian/rules @@ -0,0 +1,17 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +# Uncomment this to turn on verbose mode. +export DH_VERBOSE=1 + +%: + dh $@ + +override_dh_makeshlibs: + # Disabled + +override_dh_shlibdeps: + # Disabled + +override_dh_strip: + # Disabled diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/package.json b/package.json index 99c47d7..b0cb5f2 100644 --- a/package.json +++ b/package.json @@ -13,9 +13,9 @@ "scripts": { "test": "./node_modules/.bin/nodeunit test", "start": "./node_modules/.bin/electron .", - "compile": "./node_modules/.bin/jsx -x js src dist", + "compile": "./node_modules/.bin/jsx -x js --no-cache-dir src dist", "clean": "rm -rf dist/* build/*", - "package": "./node_modules/.bin/electron-packager ./ pitaya --prune --ignore=res/ --platform=linux --arch=ia32,x64 --version=0.33.6 --out=build --overwrite --app-version 0.0.0", + "package": "./node_modules/.bin/electron-packager ./ pitaya --out=./build --app-version 0.0.0 --version=0.33.6 --prune --ignore='/res(/|$)' --ignore='/debian(/|$)' --ignore='/scripts(/|$)' --ignore='/build(/|$)' --ignore='/test(/|$)' --ignore='/electron-packager(/|$)' --ignore='/electron-tmp-.+(/|$)' --platform=linux --overwrite", "build": "npm run clean && npm run compile && npm run package" }, "dependencies": { diff --git a/src/components/common/app-icon.js b/src/components/common/app-icon.js index 2476ae9..0e8b6d9 100644 --- a/src/components/common/app-icon.js +++ b/src/components/common/app-icon.js @@ -2,6 +2,7 @@ var React = require('react'); var Util = require('../../util'); var LazyLoad = require('../mixins/lazy-load'); var debug = Util.Debug('common:app-icon'); +var _ = require('lodash'); var LOADING_ICON = 'img/hourglass.svg'; var DEFAULT_ICON = 'img/default-icon.svg'; @@ -10,6 +11,12 @@ module.exports = React.createClass({ mixins: [LazyLoad], + componentWillMount: function() { + if(!this._findIconDebounced) { + this._findIconDebounced = _.debounce(this._findIcon, 250); + } + }, + getInitialState: function() { return { icon: DEFAULT_ICON, iconPath: DEFAULT_ICON, currentTheme: '' }; }, @@ -33,7 +40,7 @@ module.exports = React.createClass({ this.setState({ icon: newIcon, iconPath: LOADING_ICON, currentTheme: newTheme }); - this._findIcon(newIcon, newTheme); + this._findIconDebounced(newIcon, newTheme); },