diff --git a/Assets/SmallTile.svg b/Assets/SmallTile.svg
new file mode 100644
index 000000000..0fbede335
--- /dev/null
+++ b/Assets/SmallTile.svg
@@ -0,0 +1,109 @@
+
+
diff --git a/Assets/Square150x150Logo.svg b/Assets/Square150x150Logo.svg
new file mode 100644
index 000000000..9cada214b
--- /dev/null
+++ b/Assets/Square150x150Logo.svg
@@ -0,0 +1,109 @@
+
+
diff --git a/ElectronClient/build-win/Joplin.VisualElementsManifest.xml b/ElectronClient/build-win/Joplin.VisualElementsManifest.xml
new file mode 100644
index 000000000..3b6cfdd9d
--- /dev/null
+++ b/ElectronClient/build-win/Joplin.VisualElementsManifest.xml
@@ -0,0 +1,8 @@
+
+
+
diff --git a/ElectronClient/build-win/icons/SmallTile.png b/ElectronClient/build-win/icons/SmallTile.png
new file mode 100644
index 000000000..678f97e45
Binary files /dev/null and b/ElectronClient/build-win/icons/SmallTile.png differ
diff --git a/ElectronClient/build-win/icons/Square150x150Logo.png b/ElectronClient/build-win/icons/Square150x150Logo.png
new file mode 100644
index 000000000..aff1ce96e
Binary files /dev/null and b/ElectronClient/build-win/icons/Square150x150Logo.png differ
diff --git a/ElectronClient/gui/NoteEditor/NoteBody/AceEditor/AceEditor.tsx b/ElectronClient/gui/NoteEditor/NoteBody/AceEditor/AceEditor.tsx
index b48ebcaf6..ba70086a0 100644
--- a/ElectronClient/gui/NoteEditor/NoteBody/AceEditor/AceEditor.tsx
+++ b/ElectronClient/gui/NoteEditor/NoteBody/AceEditor/AceEditor.tsx
@@ -37,8 +37,10 @@ require('brace/theme/solarized_dark');
require('brace/theme/twilight');
require('brace/theme/dracula');
require('brace/theme/chaos');
+require('brace/theme/tomorrow');
require('brace/keybinding/vim');
require('brace/keybinding/emacs');
+require('brace/keybinding/terminal');
// TODO: Could not get below code to work
diff --git a/ElectronClient/gui/style/theme/nord.js b/ElectronClient/gui/style/theme/nord.js
index e3137383e..fa385fbff 100644
--- a/ElectronClient/gui/style/theme/nord.js
+++ b/ElectronClient/gui/style/theme/nord.js
@@ -77,7 +77,7 @@ const nordStyle = {
htmlCodeBorderColor: nord[2],
htmlCodeColor: nord[13],
- editorTheme: 'chaos',
+ editorTheme: 'terminal',
codeThemeCss: 'atom-one-dark-reasonable.css',
};
diff --git a/ElectronClient/gui/style/theme/solarizedDark.js b/ElectronClient/gui/style/theme/solarizedDark.js
index a0f818edc..34dec6645 100644
--- a/ElectronClient/gui/style/theme/solarizedDark.js
+++ b/ElectronClient/gui/style/theme/solarizedDark.js
@@ -31,7 +31,7 @@ const solarizedDarkStyle = {
htmlCodeBorderColor: '#696969',
htmlCodeColor: '#fdf6e3',
- editorTheme: 'solarized_dark',
+ editorTheme: 'twilight',
codeThemeCss: 'atom-one-dark-reasonable.css',
};
diff --git a/ElectronClient/gui/style/theme/solarizedLight.js b/ElectronClient/gui/style/theme/solarizedLight.js
index 64e1aa95c..042ad3b05 100644
--- a/ElectronClient/gui/style/theme/solarizedLight.js
+++ b/ElectronClient/gui/style/theme/solarizedLight.js
@@ -31,7 +31,7 @@ const solarizedLightStyle = {
htmlCodeBorderColor: '#eee8d5',
htmlCodeColor: '#002b36',
- editorTheme: 'solarized_light',
+ editorTheme: 'tomorrow',
codeThemeCss: 'atom-one-light.css',
};
diff --git a/ElectronClient/package.json b/ElectronClient/package.json
index db089bf63..56cac8e60 100644
--- a/ElectronClient/package.json
+++ b/ElectronClient/package.json
@@ -44,6 +44,13 @@
"ia32"
]
}
+ ],
+ "extraFiles": [{
+ "from": "build-win/Joplin.VisualElementsManifest.xml",
+ "to": "."
+ }],
+ "extraResources": [
+ "build-win/icons/*"
]
},
"nsis": {
diff --git a/Tools/generate-images.js b/Tools/generate-images.js
index 839c68131..a8b229d0d 100644
--- a/Tools/generate-images.js
+++ b/Tools/generate-images.js
@@ -27,6 +27,10 @@ const sources = [
id: 5,
name: 'Joplin.ico',
},
+ {
+ id: 6,
+ name: '../JoplinLetter.png',
+ },
];
function sourceById(id) {
@@ -250,6 +254,27 @@ const operations = [
width: 144,
height: 144,
},
+
+ // ============================================================================
+ // Windows tiles
+ // ============================================================================
+
+ {
+ source: 6,
+ dest: 'ElectronClient/build-win/icons/Square150x150Logo.png',
+ width: 150,
+ height: 150,
+ iconWidth: 99,
+ iconHeight: 75,
+ },
+ {
+ source: 6,
+ dest: 'ElectronClient/build-win/icons/SmallTile.png',
+ width: 70,
+ height: 70,
+ iconWidth: 46,
+ iconHeight: 46,
+ },
];
async function main() {
@@ -269,7 +294,20 @@ async function main() {
let s = sharp(sourcePath);
if (operation.width && operation.height) {
- s = s.resize(operation.width, operation.height, { fit: 'fill' });
+ if (operation.iconWidth && operation.iconHeight) {
+ s = s.resize(operation.iconWidth, operation.iconHeight, {
+ fit: 'contain',
+ background: { r: 0, g: 0, b: 0, alpha: 0 },
+ }).extend({
+ top: Math.floor((operation.height - operation.iconHeight) / 2),
+ bottom: Math.ceil((operation.height - operation.iconHeight) / 2),
+ left: Math.floor((operation.width - operation.iconWidth) / 2),
+ right: Math.ceil((operation.width - operation.iconWidth) / 2),
+ background: { r: 0, g: 0, b: 0, alpha: 0 },
+ });
+ } else {
+ s = s.resize(operation.width, operation.height, { fit: 'fill' });
+ }
}
if (destExt === 'jpg') {