Skip to content

Commit 320b2b3

Browse files
committed
release 2.1.0
1 parent 7b5711f commit 320b2b3

27 files changed

+16808
-14336
lines changed

package-lock.json

+10,207-11,898
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+64-66
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,67 @@
11
{
2-
"name": "colorpicker",
3-
"productName": "colorpicker",
4-
"version": "2.0.5",
5-
"description": "Colorpicker is a little Electron app that can show colors with hex/rgb code, and generate shading for your color.",
6-
"main": "src/main.js",
7-
"scripts": {
8-
"start": "npx electron src/main.js",
9-
"standard": "standard",
10-
"pack": "electron-builder --dir",
11-
"publish": "snapcraft push --release=stable *.snap",
12-
"release": "electron-builder --publish=never --config colorpicker-build.json",
13-
"release-linux": "electron-builder --publish=never --config colorpicker-build.json --linux deb appImage",
14-
"release-snap": "snapcraft snap",
15-
"release-window": "electron-builder --publish=never --config colorpicker-build.json --win nsis portable",
16-
"nightly": "electron-builder --publish=never --config colorpicker-build-nightly.json",
17-
"nightly-linux": "electron-builder --publish=never --config colorpicker-build-nightly.json --linux deb appImage",
18-
"rebuild": "npm rebuild --runtime=electron --target=9.4.4 --disturl=https://electronjs.org/headers --abi=80"
19-
},
20-
"repository": "https://github.com/toinane/colorpicker",
21-
"keywords": [
22-
"Colorpicker",
23-
"colors",
24-
"code",
25-
"shading",
26-
"picker",
27-
"Toinane",
28-
"Crea-THAT",
29-
"crea-that"
2+
"name": "colorpicker",
3+
"productName": "colorpicker",
4+
"version": "2.1.0",
5+
"description": "Colorpicker is a little Electron app that can show colors with hex/rgb code, and generate shading for your color.",
6+
"main": "src/main.js",
7+
"scripts": {
8+
"start": "npx electron src/main.js",
9+
"standard": "standard",
10+
"pack": "electron-builder --dir",
11+
"publish": "snapcraft push --release=stable *.snap",
12+
"release": "electron-builder --publish=never --config colorpicker-build.json",
13+
"release-linux": "electron-builder --publish=never --config colorpicker-build.json --linux deb appImage",
14+
"release-snap": "snapcraft snap",
15+
"release-window": "electron-builder --publish=never --config colorpicker-build.json --win nsis portable",
16+
"nightly": "electron-builder --publish=never --config colorpicker-build-nightly.json",
17+
"nightly-linux": "electron-builder --publish=never --config colorpicker-build-nightly.json --linux deb appImage",
18+
"rebuild": "npm rebuild --runtime=electron --target=18.2.3 --disturl=https://electronjs.org/headers --abi=103"
19+
},
20+
"repository": "https://github.com/toinane/colorpicker",
21+
"keywords": [
22+
"Colorpicker",
23+
"colors",
24+
"code",
25+
"shading",
26+
"picker",
27+
"Toinane",
28+
"Crea-THAT",
29+
"crea-that"
30+
],
31+
"dependencies": {
32+
"electron-json-storage": "^4.5.0",
33+
"request": "^2.88.2",
34+
"robotjs": "github:Toinane/robotjs",
35+
"semver": "^7.3.7"
36+
},
37+
"optionalDependencies": {
38+
"iohook": "^0.9.3",
39+
"osx-mouse": "git+https://github.com/Toinane/osx-mouse",
40+
"win-mouse": "github:Toinane/win-mouse"
41+
},
42+
"devDependencies": {
43+
"electron": "^18.2.3",
44+
"electron-builder": "^23.0.3",
45+
"standard": "^17.0.0"
46+
},
47+
"author": {
48+
"name": "Toinane",
49+
"email": "[email protected]",
50+
"url": "https://toinane.crea-th.at"
51+
},
52+
"bugs": "https://github.com/toinane/colorpicker/issues",
53+
"homepage": "https://crea-th.at/p/colorpicker",
54+
"license": "GPL-3.0",
55+
"iohook": {
56+
"targets": [
57+
"electron-103"
3058
],
31-
"dependencies": {
32-
"electron-json-storage": "^4.4.0",
33-
"request": "^2.88.2",
34-
"robotjs": "git+https://github.com/Toinane/robotjs",
35-
"sortablejs": "^1.13.0",
36-
"tippy.js": "^6.3.1"
37-
},
38-
"optionalDependencies": {
39-
"iohook": "^0.9.0",
40-
"osx-mouse": "git+https://github.com/Toinane/osx-mouse",
41-
"win-mouse": "git+https://github.com/Toinane/win-mouse"
42-
},
43-
"devDependencies": {
44-
"electron": "9.4.4",
45-
"electron-builder": "22.10.5",
46-
"minimist": "^1.2.5",
47-
"standard": "16.0.3"
48-
},
49-
"author": {
50-
"name": "Toinane",
51-
"email": "[email protected]",
52-
"url": "https://toinane.crea-th.at"
53-
},
54-
"bugs": "https://github.com/toinane/colorpicker/issues",
55-
"homepage": "https://crea-th.at/p/colorpicker",
56-
"license": "GPL-3.0",
57-
"iohook": {
58-
"targets": [
59-
"electron-80"
60-
],
61-
"platforms": [
62-
"linux"
63-
],
64-
"arches": [
65-
"x64",
66-
"ia32"
67-
]
68-
}
59+
"platforms": [
60+
"linux"
61+
],
62+
"arches": [
63+
"x64",
64+
"ia32"
65+
]
66+
}
6967
}

src/browsers/colorpicker.js

+82-84
Original file line numberDiff line numberDiff line change
@@ -3,100 +3,98 @@
33
const { BrowserWindow, nativeImage } = require("electron");
44

55
module.exports = (dirname, storage, util) => {
6-
const { touchbar } = util;
7-
let win;
6+
const { touchbar } = util;
7+
let win;
88

9-
/**
10-
* [init]
11-
* @param {boolean} force [force launching new window]
12-
* @return {void} [new Colorpicker]
13-
*/
14-
let init = (force, color) => {
15-
const size = storage.get("size");
16-
if (win === null || win === undefined || force)
17-
createWindow(size.width, size.height);
18-
else win.show();
9+
/**
10+
* [init]
11+
* @param {boolean} force [force launching new window]
12+
* @return {void} [new Colorpicker]
13+
*/
14+
let init = (force, color) => {
15+
const size = storage.get("size");
16+
if (win === null || win === undefined || force)
17+
createWindow(size.width, size.height);
18+
else win.show();
19+
};
20+
21+
/**
22+
* [createWindow - create new Window]
23+
* @param {int} width [width of the window]
24+
* @param {int} height [height of the window]
25+
* @return {void}
26+
*/
27+
let createWindow = (width, height) => {
28+
const pos = storage.get("pos");
29+
let options = {
30+
frame: false,
31+
autoHideMenuBar: true,
32+
width: width,
33+
height: height,
34+
minWidth: 440,
35+
minHeight: 150,
36+
transparent: true,
37+
icon: nativeImage.createFromPath(`${dirname}/build/icon.png`),
38+
webPreferences: {
39+
preload: `${dirname}/preload.js`,
40+
},
1941
};
42+
if (pos) {
43+
options.x = pos.x;
44+
options.y = pos.y;
45+
}
2046

21-
/**
22-
* [createWindow - create new Window]
23-
* @param {int} width [width of the window]
24-
* @param {int} height [height of the window]
25-
* @return {void}
26-
*/
27-
let createWindow = (width, height) => {
28-
const pos = storage.get("pos");
29-
let options = {
30-
frame: false,
31-
autoHideMenuBar: true,
32-
width: width,
33-
height: height,
34-
minWidth: 440,
35-
minHeight: 150,
36-
transparent: true,
37-
icon: nativeImage.createFromPath(`${dirname}/build/icon.png`),
38-
webPreferences: {
39-
nodeIntegration: true,
40-
},
41-
};
42-
if (pos) {
43-
options.x = pos.x;
44-
options.y = pos.y;
45-
}
47+
win = new BrowserWindow(options);
48+
win.loadURL(`file://${dirname}/views/colorpicker.html`);
4649

47-
win = new BrowserWindow(options);
48-
win.loadURL(`file://${dirname}/views/colorpicker.html`);
50+
if (touchbar) win.setTouchBar(touchbar);
4951

50-
if (touchbar) win.setTouchBar(touchbar);
52+
win.on("closed", () => {
53+
win = undefined;
54+
let totalWin = BrowserWindow.getAllWindows();
55+
for (let wins of totalWin) wins.close();
56+
});
5157

52-
win.on("closed", () => {
53-
win = undefined;
54-
let totalWin = BrowserWindow.getAllWindows();
55-
for (let wins of totalWin) wins.close();
56-
});
58+
windowEvents(win);
59+
};
5760

58-
windowEvents(win);
59-
};
61+
/**
62+
* [windowEvents - BrowserWindow events]
63+
* @param {BrowserWindow} win [current window]
64+
* @return {void}
65+
*/
66+
let windowEvents = (win) => {
67+
let timing;
6068

61-
/**
62-
* [windowEvents - BrowserWindow events]
63-
* @param {BrowserWindow} win [current window]
64-
* @return {void}
65-
*/
66-
let windowEvents = (win) => {
67-
let timing;
69+
win.on("focus", (event) => win.webContents.send("hasLooseFocus", false));
70+
win.on("blur", (event) => win.webContents.send("hasLooseFocus", true));
6871

69-
win.on("focus", (event) =>
70-
win.webContents.send("hasLooseFocus", false)
71-
);
72-
win.on("blur", (event) => win.webContents.send("hasLooseFocus", true));
72+
win.on("resize", (event) => {
73+
const size = win.getBounds();
74+
clearTimeout(timing);
75+
timing = setTimeout(
76+
() =>
77+
storage.add({
78+
size: { width: size.width, height: size.height },
79+
}),
80+
300
81+
);
82+
});
7383

74-
win.on("resize", (event) => {
75-
const size = win.getBounds();
76-
clearTimeout(timing);
77-
timing = setTimeout(
78-
() =>
79-
storage.add({
80-
size: { width: size.width, height: size.height },
81-
}),
82-
300
83-
);
84-
});
84+
win.on("move", (event) => {
85+
const pos = win.getBounds();
86+
clearTimeout(timing);
87+
timing = setTimeout(
88+
() => storage.add({ pos: { x: pos.x, y: pos.y } }),
89+
300
90+
);
91+
});
92+
};
8593

86-
win.on("move", (event) => {
87-
const pos = win.getBounds();
88-
clearTimeout(timing);
89-
timing = setTimeout(
90-
() => storage.add({ pos: { x: pos.x, y: pos.y } }),
91-
300
92-
);
93-
});
94-
};
94+
let getWindow = () => win;
9595

96-
let getWindow = () => win;
97-
98-
return {
99-
init: init,
100-
getWindow: getWindow,
101-
};
96+
return {
97+
init: init,
98+
getWindow: getWindow,
99+
};
102100
};

0 commit comments

Comments
 (0)