diff --git a/BUILD.md b/BUILD.md
deleted file mode 100644
index c92f180..0000000
--- a/BUILD.md
+++ /dev/null
@@ -1,39 +0,0 @@
-## Build
-
-Don't forget to ```npm cache clean```!
-
-### Build Linux64 / Darwin64 / Windows64(Offsite)
-
-```
-cd /xxiivv/Nataniev/public/public.projects/sources/Ronin/
-
-git pull
-
-rm -r /xxiivv/Nataniev/public/public.projects/builds/Ronin-linux-x64/
-rm /xxiivv/Nataniev/public/public.projects/builds/ronin_lin64.zip
-electron-packager . Ronin --platform=linux --arch=x64 --out /xxiivv/Nataniev/public/public.projects/builds --overwrite --electron-version=1.7.5 --icon=icon.ico
-
-rm -r /xxiivv/Nataniev/public/public.projects/builds/Ronin-win32-x64/
-rm /xxiivv/Nataniev/public/public.projects/builds/ronin_win64.zip
-electron-packager . Ronin --platform=win32 --arch=x64 --out /xxiivv/Nataniev/public/public.projects/builds --overwrite --electron-version=1.7.5 --icon=icon.ico
-
-rm -r /xxiivv/Nataniev/public/public.projects/builds/Ronin-darwin-x64/
-rm /xxiivv/Nataniev/public/public.projects/builds/ronin_osx64.zip
-electron-packager . Ronin --platform=darwin --arch=x64 --out /xxiivv/Nataniev/public/public.projects/builds --overwrite --electron-version=1.7.5 --icon=icon.icns
-
-cd /xxiivv/Nataniev/public/public.projects/builds/
-
-~/butler push /xxiivv/Nataniev/public/public.projects/builds/Ronin-linux-x64/ hundredrabbits/ronin:linux-64
-~/butler push /xxiivv/Nataniev/public/public.projects/builds/Ronin-win32-x64/ hundredrabbits/ronin:windows-64
-~/butler push /xxiivv/Nataniev/public/public.projects/builds/Ronin-darwin-x64/ hundredrabbits/ronin:osx-64
-
-rm -r /xxiivv/Nataniev/public/public.projects/builds/Ronin-darwin-x64/
-rm -r /xxiivv/Nataniev/public/public.projects/builds/Ronin-linux-x64/
-rm -r /xxiivv/Nataniev/public/public.projects/builds/Ronin-win32-x64/
-
-~/butler status hundredrabbits/ronin
-```
-
-### Etcs.
-
-`var angleDeg = Math.atan2(p2.y - p1.y, p2.x - p1.x) * 180 / Math.PI;`
\ No newline at end of file
diff --git a/LAYOUT.svg b/LAYOUT.svg
deleted file mode 100644
index edd7deb..0000000
--- a/LAYOUT.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/README.md b/README.md
index a5609ec..84f5e10 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
# Ronin
+
Ronin is a graphic design tool under development.
diff --git a/main.js b/main.js
index 1233cf3..4f69988 100644
--- a/main.js
+++ b/main.js
@@ -1,64 +1,76 @@
-const {app, BrowserWindow, webFrame, Menu, dialog} = require('electron')
+const { app, BrowserWindow, webFrame, Menu } = require('electron')
const path = require('path')
const url = require('url')
const shell = require('electron').shell
-let is_shown = true;
+let isShown = true
-app.inspect = function()
-{
- app.win.toggleDevTools();
-}
+app.win = null
-app.toggle_fullscreen = function()
-{
- app.win.setFullScreen(app.win.isFullScreen() ? false : true);
-}
+app.on('ready', () => {
+ app.win = new BrowserWindow({
+ width: 660,
+ height: 390,
+ minWidth: 320,
+ minHeight: 320,
+ backgroundColor: '#000',
+ icon: path.join(__dirname, { darwin: 'icon.icns', linux: 'icon.png', win32: 'icon.ico' }[process.platform] || 'icon.ico'),
+ resizable: true,
+ frame: process.platform !== 'darwin',
+ skipTaskbar: process.platform === 'darwin',
+ autoHideMenuBar: process.platform === 'darwin',
+ webPreferences: { zoomFactor: 1.0, nodeIntegration: true, backgroundThrottling: false }
+ })
-app.toggle_visible = function()
-{
- if(is_shown){ app.win.hide(); } else{ app.win.show(); }
-}
-
-app.inject_menu = function(m)
-{
- Menu.setApplicationMenu(Menu.buildFromTemplate(m));
-}
-
-app.win = null;
-
-app.on('ready', () =>
-{
- app.win = new BrowserWindow({width: 900, height: 540, minWidth: 900, minHeight: 540, backgroundColor:"#000", frame:false, autoHideMenuBar: true, icon: __dirname + '/icon.ico'})
-
- app.win.toggleDevTools();
-
- app.win.loadURL(`file://${__dirname}/sources/index.html`);
+ app.win.loadURL(`file://${__dirname}/sources/index.html`)
+ // app.inspect()
app.win.on('closed', () => {
win = null
app.quit()
})
- app.win.on('hide',function() {
- is_shown = false;
+ app.win.on('hide', function () {
+ isShown = false
})
- app.win.on('show',function() {
- is_shown = true;
+ app.win.on('show', function () {
+ isShown = true
+ })
+
+ app.on('window-all-closed', () => {
+ app.quit()
+ })
+
+ app.on('activate', () => {
+ if (app.win === null) {
+ createWindow()
+ } else {
+ app.win.show()
+ }
})
})
-app.on('window-all-closed', () =>
-{
- app.quit()
-})
+app.inspect = function () {
+ app.win.toggleDevTools()
+}
-app.on('activate', () => {
- if (app.win === null) {
- createWindow()
+app.toggleFullscreen = function () {
+ app.win.setFullScreen(!app.win.isFullScreen())
+}
+
+app.toggleVisible = function () {
+ if (process.platform === 'win32') {
+ if (!app.win.isMinimized()) { app.win.minimize() } else { app.win.restore() }
+ } else {
+ if (isShown && !app.win.isFullScreen()) { app.win.hide() } else { app.win.show() }
}
- else{
-
+}
+
+app.injectMenu = function (menu) {
+ try {
+ Menu.setApplicationMenu(Menu.buildFromTemplate(menu))
+ } catch (err) {
+ console.warn('Cannot inject menu.')
}
-})
\ No newline at end of file
+}
diff --git a/package.json b/package.json
index 80d5cdd..6b6caca 100644
--- a/package.json
+++ b/package.json
@@ -17,9 +17,7 @@
"push" : "npm run build ; npm run push_theme ; npm run push_osx ; npm run push_linux ; npm run push_win ; npm run clean ; npm run push_status"
},
"devDependencies": {
- "electron": "^1.8.1"
- },
- "dependencies": {
- "electron-packager": "^8.4.0"
+ "electron": "^5.0.6",
+ "electron-packager": "^13.1.1"
}
}
diff --git a/sources/index.html b/sources/index.html
index 64830f5..b4b4f7d 100644
--- a/sources/index.html
+++ b/sources/index.html
@@ -46,7 +46,21 @@
const app_path = app.getAppPath();
var ronin = new Ronin();
- ronin.install();
+
+ ronin.controller = new Controller();
+
+ ronin.controller.add("default","*","About",() => { require('electron').shell.openExternal('https://github.com/hundredrabbits/Dotgrid'); },"CmdOrCtrl+,");
+ ronin.controller.add("default","*","Fullscreen",() => { app.toggleFullscreen(); },"CmdOrCtrl+Enter");
+ ronin.controller.add("default","*","Hide",() => { app.toggleVisible(); },"CmdOrCtrl+H");
+ ronin.controller.add("default","*","Inspect",() => { app.inspect(); },"CmdOrCtrl+.");
+ ronin.controller.add("default","*","Reset",() => { dotgrid.reset(); dotgrid.theme.reset(); },"CmdOrCtrl+Backspace");
+ ronin.controller.add("default","*","Quit",() => { app.exit(); },"CmdOrCtrl+Q");
+
+ ronin.controller.commit();
+
+ ronin.install(document.body);
+
+ window.addEventListener('load', () => { ronin.start(); })