diff options
author | Mikael Blomstrand | 2018-04-04 13:41:29 +0200 |
---|---|---|
committer | Mikael Blomstrand | 2018-04-04 13:44:45 +0200 |
commit | e01c3eead6c1cb57483ab36c5e5da19666d22f29 (patch) | |
tree | 1b91ca28a09d8e0e0b8d9b7b8ffbdc3b7453cd5b | |
parent | 39507babea1b7ba561e153df0454bbe8a987f7b3 (diff) | |
download | aur-e01c3eead6c1cb57483ab36c5e5da19666d22f29.tar.gz |
Fetch patch from github.
Also changed error message for spellcheck.
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | 0003-fixes-184-port-to-WebKit2Gtk.patch | 133 | ||||
-rw-r--r-- | 0004-fixes-175-Live-Preview-Mode-Executes-JavaScript.patch | 98 | ||||
-rw-r--r-- | LICENSE | 21 | ||||
-rw-r--r-- | PKGBUILD | 19 | ||||
-rw-r--r-- | remarkable.patch | 263 |
6 files changed, 271 insertions, 275 deletions
@@ -1,7 +1,7 @@ pkgbase = remarkable pkgdesc = A free fully featured markdown editor for Linux. pkgver = 1.87 - pkgrel = 3 + pkgrel = 4 url = http://remarkableapp.github.io install = remarkable.install arch = any @@ -20,17 +20,11 @@ pkgbase = remarkable optdepends = python-gtkspellcheck: Spellcheck (might cause problems) replaces = remarkable-webkit2gtk source = https://github.com/jamiemcg/Remarkable/archive/v1.87.tar.gz - source = 0003-fixes-184-port-to-WebKit2Gtk.patch - source = 0004-fixes-175-Live-Preview-Mode-Executes-JavaScript.patch - source = remarkable.patch + source = stable.patch::https://github.com/jamiemcg/Remarkable/compare/v1.87...mbloms:stable.patch source = remarkable.install - source = LICENSE sha1sums = a492dc5d0a276f36846a99287ae93c02e22a5cd8 - sha1sums = 097f12a6f499bd39b99c32301a9027a9457eaeac - sha1sums = d90a26e2830f0306a07b76dc69aa211840f0223e - sha1sums = d9fc74c5a0136649f670a345e16c1c88d21a97d2 + sha1sums = c91182e1521927e02328eb407a4e4f1ad910d16d sha1sums = bdbfb750df9e5fb3022f47a46a80555259628cd1 - sha1sums = 6e5ea06076c85fdd25b79bfc41588f7f7ee9ba29 pkgname = remarkable diff --git a/0003-fixes-184-port-to-WebKit2Gtk.patch b/0003-fixes-184-port-to-WebKit2Gtk.patch deleted file mode 100644 index 55b4a3c08b54..000000000000 --- a/0003-fixes-184-port-to-WebKit2Gtk.patch +++ /dev/null @@ -1,133 +0,0 @@ -From fafd97f41b5fdc68357f54a6e0a2557a7809c36a Mon Sep 17 00:00:00 2001 -From: Harald Weiner <timeraider@gmx.at> -Date: Sun, 23 Jul 2017 02:14:23 +0200 -Subject: [PATCH 3/4] fixes #184 (port to WebKit2Gtk) - ---- - remarkable/RemarkableWindow.py | 63 +++++++++++++++++++++++++++++++----------- - 1 file changed, 47 insertions(+), 16 deletions(-) - -diff --git a/remarkable/RemarkableWindow.py b/remarkable/RemarkableWindow.py -index 12802f3..ea00be9 100644 ---- a/remarkable/RemarkableWindow.py -+++ b/remarkable/RemarkableWindow.py -@@ -24,10 +24,10 @@ - import gi - gi.require_version('Gtk', '3.0') - gi.require_version('GtkSource', '3.0') --gi.require_version('WebKit', '3.0') -+gi.require_version('WebKit2', '4.0') - - from bs4 import BeautifulSoup --from gi.repository import Gdk, Gtk, GtkSource, Pango, WebKit -+from gi.repository import Gdk, Gtk, GtkSource, Pango, WebKit2 - from locale import gettext as _ - from urllib.request import urlopen - import markdown -@@ -113,10 +113,10 @@ class RemarkableWindow(Window): - self.text_buffer.connect("changed", self.on_text_view_changed) - self.text_view.set_buffer(self.text_buffer) - self.text_view.set_wrap_mode(Gtk.WrapMode.WORD) -- -- self.live_preview = WebKit.WebView() -- self.live_preview.connect("console-message", self._javascript_console_message) # Suppress .js output -- self.live_preview.zoom_out() -+ -+ my_settings = self.create_webkit_settings() -+ self.live_preview = WebKit2.WebView.new_with_settings(my_settings) -+ self.zoom_out(self.live_preview) - - self.scrolledwindow_text_view = Gtk.ScrolledWindow() - self.scrolledwindow_text_view.add(self.text_view) -@@ -626,11 +626,11 @@ class RemarkableWindow(Window): - self.redo(self) - - def on_toolbutton_zoom_in_clicked(self, widget): -- self.live_preview.zoom_in() -+ self.zoom_in(self.live_preview) - self.scrollPreviewToFix(self) - - def on_toolbutton_zoom_out_clicked(self, widget): -- self.live_preview.zoom_out() -+ self.zoom_out(self.live_preview) - self.scrollPreviewToFix(self) - - def redo(self, widget): -@@ -1253,7 +1253,7 @@ class RemarkableWindow(Window): - styles.css = styles.handwriting_css - self.update_style(self) - self.update_live_preview(self) -- self.live_preview.zoom_in() -+ self.zoom_in(self.live_preview) - self.remarkable_settings['style'] = "handwriting_css" - self.write_settings() - -@@ -1351,12 +1351,12 @@ class RemarkableWindow(Window): - window_feedback.set_title("Feedback Form") - window_feedback.set_default_size(640, 640) - window_feedback.set_position(Gtk.WindowPosition.CENTER) -- feedback_browser = WebKit.WebView() -- feedback_browser.connect("console-message", self._javascript_console_message) # Suppress .js output -+ my_settings = self.create_webkit_settings() -+ feedback_browser = WebKit2.WebView.new_with_settings(my_settings) - feedback_scroller = Gtk.ScrolledWindow() - feedback_scroller.add(feedback_browser) - window_feedback.add(feedback_scroller) -- feedback_browser.open("https://jamiemcgowan.typeform.com/to/ng5Lhc") -+ feedback_browser.load_uri("https://jamiemcgowan.typeform.com/to/ng5Lhc") - window_feedback.show_all() - - def on_menuitem_about_activate(self, widget): -@@ -1447,14 +1447,45 @@ class RemarkableWindow(Window): - html = self.default_html_start + html_middle + self.default_html_end - - # Update the display, supporting relative paths to local images -- self.live_preview.load_string(html, "text/html", "utf-8", "file://{}".format(os.path.abspath(self.name))) -+ self.live_preview.load_html(html, "file://{}".format(os.path.abspath(self.name))) - - """ -- This function suppresses the messages from the WebKit (live preview) console -+ This function returns WebKit settings instance to suppress -+ the messages from the WebKit (live preview) console - """ -- def _javascript_console_message(self, view, message, line, sourceid): -- return True -+ def create_webkit_settings(self): -+ result = WebKit2.Settings() -+ result.set_enable_write_console_messages_to_stdout(False) # Suppress .js output -+ return result - -+ """ -+ This function implements zoom_in for WebKit2.WebView -+ """ -+ def zoom_in(self, webView): -+ zoom_level = webView.get_zoom_level() -+ zoom_level = zoom_level + self.get_zoom_step() -+ webView.set_zoom_level(zoom_level) -+ -+ """ -+ This function implements zoom_out for WebKit2.WebView -+ """ -+ def zoom_out(self, webView): -+ zoom_level = webView.get_zoom_level() -+ zoom_level = zoom_level - self.get_zoom_step() -+ webView.set_zoom_level(zoom_level) -+ -+ """ -+ This function returns the same magic number as in previous WebKit API: -+ https://lazka.github.io/pgi-docs/WebKit-3.0/classes/WebSettings.html#WebKit.WebSettings.props.zoom_step -+ """ -+ def get_zoom_step(self): -+ return 0.10000000149011612 -+ -+ """ -+ This function resets the zoom_level to the default value -+ """ -+ def reset_zoom_level(self, webView): -+ webView.set_zoom_level(1.0) - - """ - This function deletes any temporary files that were created during execution --- -2.16.2 - diff --git a/0004-fixes-175-Live-Preview-Mode-Executes-JavaScript.patch b/0004-fixes-175-Live-Preview-Mode-Executes-JavaScript.patch deleted file mode 100644 index 6b0524dc247c..000000000000 --- a/0004-fixes-175-Live-Preview-Mode-Executes-JavaScript.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 2cce6ea49696927300d324637255d3c2cd377e8b Mon Sep 17 00:00:00 2001 -From: Harald Weiner <timeraider@gmx.at> -Date: Fri, 28 Jul 2017 07:07:57 +0200 -Subject: [PATCH 4/4] fixes #175 (Live Preview Mode Executes JavaScript) - ---- - data/ui/RemarkableWindow.ui | 9 +++++++++ - remarkable/RemarkableWindow.py | 26 ++++++++++++++++++++++---- - 2 files changed, 31 insertions(+), 4 deletions(-) - -diff --git a/data/ui/RemarkableWindow.ui b/data/ui/RemarkableWindow.ui -index ab0007c..ca2396e 100644 ---- a/data/ui/RemarkableWindow.ui -+++ b/data/ui/RemarkableWindow.ui -@@ -405,6 +405,15 @@ - <property name="active">True</property> - </object> - </child> -+ <child> -+ <object class="GtkCheckMenuItem" id="menuitem_js"> -+ <property name="visible">True</property> -+ <property name="can_focus">False</property> -+ <property name="label" translatable="yes">Enable Java-Script</property> -+ <property name="use_underline">True</property> -+ <property name="active">True</property> -+ </object> -+ </child> - <child> - <object class="GtkCheckMenuItem" id="menuitem_vertical_layout"> - <property name="visible">True</property> -diff --git a/remarkable/RemarkableWindow.py b/remarkable/RemarkableWindow.py -index ea00be9..c15886a 100644 ---- a/remarkable/RemarkableWindow.py -+++ b/remarkable/RemarkableWindow.py -@@ -114,8 +114,8 @@ class RemarkableWindow(Window): - self.text_view.set_buffer(self.text_buffer) - self.text_view.set_wrap_mode(Gtk.WrapMode.WORD) - -- my_settings = self.create_webkit_settings() -- self.live_preview = WebKit2.WebView.new_with_settings(my_settings) -+ self.webkit_settings = self.create_webkit_settings() -+ self.live_preview = WebKit2.WebView.new_with_settings(self.webkit_settings) - self.zoom_out(self.live_preview) - - self.scrolledwindow_text_view = Gtk.ScrolledWindow() -@@ -199,7 +199,8 @@ class RemarkableWindow(Window): - if not os.path.isfile(self.settings_path): - self.remarkable_settings = {} - self.remarkable_settings['css'] = '' -- self.remarkable_settings['font'] = "Sans 10" -+ self.remarkable_settings['font'] = "Sans 10" -+ self.remarkable_settings['js'] = True - self.remarkable_settings['line-numbers'] = True - self.remarkable_settings['live-preview'] = True - self.remarkable_settings['nightmode'] = False -@@ -234,6 +235,12 @@ class RemarkableWindow(Window): - # Disable word wrap on startup - self.builder.get_object("menuitem_word_wrap").set_active(False) - self.on_menuitem_word_wrap_activate(self) -+ -+ if not 'js' in self.remarkable_settings: -+ self.remarkable_settings['js'] = True -+ if self.remarkable_settings['js'] == False: -+ # Disable Live Preview on startup -+ self.builder.get_object("menuitem_js").set_active(False) - - if self.remarkable_settings['live-preview'] == False: - # Disable Live Preview on startup -@@ -812,7 +819,16 @@ class RemarkableWindow(Window): - self.builder.get_object("toolbar1").set_visible(True) - self.update_live_preview(self) - self.write_settings() -- -+ -+ def on_menuitem_js_activate(self, widget): -+ self.toggle_js(self) -+ -+ def toggle_js(self, widget): -+ state = self.webkit_settings.get_enable_javascript() -+ state = not state -+ self.remarkable_settings['js'] = state -+ self.webkit_settings.set_enable_javascript(state) -+ self.write_settings() - - def on_menuitem_swap_activate(self, widget): - if self.live_preview.get_visible(): -@@ -1456,6 +1472,8 @@ class RemarkableWindow(Window): - def create_webkit_settings(self): - result = WebKit2.Settings() - result.set_enable_write_console_messages_to_stdout(False) # Suppress .js output -+ #js = self.remarkable_settings['js'] -+ result.set_enable_javascript(True) # JS-Kill-Switch for issue #175 - return result - - """ --- -2.16.2 - diff --git a/LICENSE b/LICENSE deleted file mode 100644 index e7323e7a22e1..000000000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2017 Jamie McGowan - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. @@ -5,7 +5,7 @@ pkgname=remarkable replaces=('remarkable-webkit2gtk') pkgver=1.87 -pkgrel=3 +pkgrel=4 pkgdesc="A free fully featured markdown editor for Linux." arch=('any') url="http://remarkableapp.github.io" @@ -26,18 +26,12 @@ optdepends=('python-lxml: export to HTML format support' install="remarkable.install" source=("https://github.com/jamiemcg/Remarkable/archive/v${pkgver}.tar.gz" - "0003-fixes-184-port-to-WebKit2Gtk.patch" - "0004-fixes-175-Live-Preview-Mode-Executes-JavaScript.patch" - "remarkable.patch" - "remarkable.install" - "LICENSE") + "stable.patch::https://github.com/jamiemcg/Remarkable/compare/v1.87...mbloms:stable.patch" + "remarkable.install") sha1sums=('a492dc5d0a276f36846a99287ae93c02e22a5cd8' - '097f12a6f499bd39b99c32301a9027a9457eaeac' - 'd90a26e2830f0306a07b76dc69aa211840f0223e' - 'd9fc74c5a0136649f670a345e16c1c88d21a97d2' - 'bdbfb750df9e5fb3022f47a46a80555259628cd1' - '6e5ea06076c85fdd25b79bfc41588f7f7ee9ba29') + 'c91182e1521927e02328eb407a4e4f1ad910d16d' + 'bdbfb750df9e5fb3022f47a46a80555259628cd1') prepare() { msg2 "Applying patches for webkit2gtk..." @@ -48,10 +42,11 @@ package() { _python_site=$(python -c 'import site; print(site.getsitepackages()[0]);') [ -z ${_python_site} ] && echo "error: could not identify python site_packages directory" && return 1 - install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" cd "Remarkable-${pkgver}" + install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + install -Dm 755 "bin/remarkable" "${pkgdir}/usr/bin/remarkable" install -D "debian/remarkable.mime" "${pkgdir}/usr/lib/mime/packages/remarkable" install -D "data/media/remarkable.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/remarkable.svg" diff --git a/remarkable.patch b/remarkable.patch index 24fe8b3e2a62..2a04d4a9d87a 100644 --- a/remarkable.patch +++ b/remarkable.patch @@ -1,8 +1,267 @@ +From 926171f6343b6420b532140dd2f4dc2e43fd9d2c Mon Sep 17 00:00:00 2001 +From: Harald Weiner <timeraider@gmx.at> +Date: Sun, 23 Jul 2017 02:14:23 +0200 +Subject: [PATCH 1/4] fixes #184 (port to WebKit2Gtk) + +--- + remarkable/RemarkableWindow.py | 63 +++++++++++++++++++++++++++++++----------- + 1 file changed, 47 insertions(+), 16 deletions(-) + diff --git a/remarkable/RemarkableWindow.py b/remarkable/RemarkableWindow.py -index 50fc3c8..ee110aa 100644 +index ffbc70b..893dc27 100644 --- a/remarkable/RemarkableWindow.py +++ b/remarkable/RemarkableWindow.py -@@ -37,7 +37,7 @@ import pdfkit +@@ -24,10 +24,10 @@ + import gi + gi.require_version('Gtk', '3.0') + gi.require_version('GtkSource', '3.0') +-gi.require_version('WebKit', '3.0') ++gi.require_version('WebKit2', '4.0') + + from bs4 import BeautifulSoup +-from gi.repository import Gdk, Gtk, GtkSource, Pango, WebKit ++from gi.repository import Gdk, Gtk, GtkSource, Pango, WebKit2 + from locale import gettext as _ + from urllib.request import urlopen + import markdown +@@ -113,10 +113,10 @@ def finish_initializing(self, builder): # pylint: disable=E1002 + self.text_buffer.connect("changed", self.on_text_view_changed) + self.text_view.set_buffer(self.text_buffer) + self.text_view.set_wrap_mode(Gtk.WrapMode.WORD) +- +- self.live_preview = WebKit.WebView() +- self.live_preview.connect("console-message", self._javascript_console_message) # Suppress .js output +- self.live_preview.zoom_out() ++ ++ my_settings = self.create_webkit_settings() ++ self.live_preview = WebKit2.WebView.new_with_settings(my_settings) ++ self.zoom_out(self.live_preview) + + self.scrolledwindow_text_view = Gtk.ScrolledWindow() + self.scrolledwindow_text_view.add(self.text_view) +@@ -624,11 +624,11 @@ def on_toolbutton_redo_clicked(self, widget): + self.redo(self) + + def on_toolbutton_zoom_in_clicked(self, widget): +- self.live_preview.zoom_in() ++ self.zoom_in(self.live_preview) + self.scrollPreviewToFix(self) + + def on_toolbutton_zoom_out_clicked(self, widget): +- self.live_preview.zoom_out() ++ self.zoom_out(self.live_preview) + self.scrollPreviewToFix(self) + + def redo(self, widget): +@@ -1249,7 +1249,7 @@ def on_menuitem_handwritten_activate(self, widget): + styles.css = styles.handwriting_css + self.update_style(self) + self.update_live_preview(self) +- self.live_preview.zoom_in() ++ self.zoom_in(self.live_preview) + self.remarkable_settings['style'] = "handwriting_css" + self.write_settings() + +@@ -1347,12 +1347,12 @@ def on_menuitem_feedback_activate(self, widget): + window_feedback.set_title("Feedback Form") + window_feedback.set_default_size(640, 640) + window_feedback.set_position(Gtk.WindowPosition.CENTER) +- feedback_browser = WebKit.WebView() +- feedback_browser.connect("console-message", self._javascript_console_message) # Suppress .js output ++ my_settings = self.create_webkit_settings() ++ feedback_browser = WebKit2.WebView.new_with_settings(my_settings) + feedback_scroller = Gtk.ScrolledWindow() + feedback_scroller.add(feedback_browser) + window_feedback.add(feedback_scroller) +- feedback_browser.open("https://jamiemcgowan.typeform.com/to/ng5Lhc") ++ feedback_browser.load_uri("https://jamiemcgowan.typeform.com/to/ng5Lhc") + window_feedback.show_all() + + def on_menuitem_about_activate(self, widget): +@@ -1443,14 +1443,45 @@ def update_live_preview(self, widet): + html = self.default_html_start + html_middle + self.default_html_end + + # Update the display, supporting relative paths to local images +- self.live_preview.load_string(html, "text/html", "utf-8", "file://{}".format(os.path.abspath(self.name))) ++ self.live_preview.load_html(html, "file://{}".format(os.path.abspath(self.name))) + + """ +- This function suppresses the messages from the WebKit (live preview) console ++ This function returns WebKit settings instance to suppress ++ the messages from the WebKit (live preview) console + """ +- def _javascript_console_message(self, view, message, line, sourceid): +- return True ++ def create_webkit_settings(self): ++ result = WebKit2.Settings() ++ result.set_enable_write_console_messages_to_stdout(False) # Suppress .js output ++ return result + ++ """ ++ This function implements zoom_in for WebKit2.WebView ++ """ ++ def zoom_in(self, webView): ++ zoom_level = webView.get_zoom_level() ++ zoom_level = zoom_level + self.get_zoom_step() ++ webView.set_zoom_level(zoom_level) ++ ++ """ ++ This function implements zoom_out for WebKit2.WebView ++ """ ++ def zoom_out(self, webView): ++ zoom_level = webView.get_zoom_level() ++ zoom_level = zoom_level - self.get_zoom_step() ++ webView.set_zoom_level(zoom_level) ++ ++ """ ++ This function returns the same magic number as in previous WebKit API: ++ https://lazka.github.io/pgi-docs/WebKit-3.0/classes/WebSettings.html#WebKit.WebSettings.props.zoom_step ++ """ ++ def get_zoom_step(self): ++ return 0.10000000149011612 ++ ++ """ ++ This function resets the zoom_level to the default value ++ """ ++ def reset_zoom_level(self, webView): ++ webView.set_zoom_level(1.0) + + """ + This function deletes any temporary files that were created during execution + +From 63dc24917dfd36d7c4a7265dc3a0020deb75593c Mon Sep 17 00:00:00 2001 +From: Harald Weiner <timeraider@gmx.at> +Date: Fri, 28 Jul 2017 07:07:57 +0200 +Subject: [PATCH 2/4] fixes #175 (Live Preview Mode Executes JavaScript) + +--- + data/ui/RemarkableWindow.ui | 9 +++++++++ + remarkable/RemarkableWindow.py | 26 ++++++++++++++++++++++---- + 2 files changed, 31 insertions(+), 4 deletions(-) + +diff --git a/data/ui/RemarkableWindow.ui b/data/ui/RemarkableWindow.ui +index ab0007c..ca2396e 100644 +--- a/data/ui/RemarkableWindow.ui ++++ b/data/ui/RemarkableWindow.ui +@@ -405,6 +405,15 @@ + <property name="active">True</property> + </object> + </child> ++ <child> ++ <object class="GtkCheckMenuItem" id="menuitem_js"> ++ <property name="visible">True</property> ++ <property name="can_focus">False</property> ++ <property name="label" translatable="yes">Enable Java-Script</property> ++ <property name="use_underline">True</property> ++ <property name="active">True</property> ++ </object> ++ </child> + <child> + <object class="GtkCheckMenuItem" id="menuitem_vertical_layout"> + <property name="visible">True</property> +diff --git a/remarkable/RemarkableWindow.py b/remarkable/RemarkableWindow.py +index 893dc27..6856042 100644 +--- a/remarkable/RemarkableWindow.py ++++ b/remarkable/RemarkableWindow.py +@@ -114,8 +114,8 @@ def finish_initializing(self, builder): # pylint: disable=E1002 + self.text_view.set_buffer(self.text_buffer) + self.text_view.set_wrap_mode(Gtk.WrapMode.WORD) + +- my_settings = self.create_webkit_settings() +- self.live_preview = WebKit2.WebView.new_with_settings(my_settings) ++ self.webkit_settings = self.create_webkit_settings() ++ self.live_preview = WebKit2.WebView.new_with_settings(self.webkit_settings) + self.zoom_out(self.live_preview) + + self.scrolledwindow_text_view = Gtk.ScrolledWindow() +@@ -199,7 +199,8 @@ def check_settings(self): + if not os.path.isfile(self.settings_path): + self.remarkable_settings = {} + self.remarkable_settings['css'] = '' +- self.remarkable_settings['font'] = "Sans 10" ++ self.remarkable_settings['font'] = "Sans 10" ++ self.remarkable_settings['js'] = True + self.remarkable_settings['line-numbers'] = True + self.remarkable_settings['live-preview'] = True + self.remarkable_settings['nightmode'] = False +@@ -234,6 +235,12 @@ def load_settings(self): + # Disable word wrap on startup + self.builder.get_object("menuitem_word_wrap").set_active(False) + self.on_menuitem_word_wrap_activate(self) ++ ++ if not 'js' in self.remarkable_settings: ++ self.remarkable_settings['js'] = True ++ if self.remarkable_settings['js'] == False: ++ # Disable Live Preview on startup ++ self.builder.get_object("menuitem_js").set_active(False) + + if self.remarkable_settings['live-preview'] == False: + # Disable Live Preview on startup +@@ -810,7 +817,16 @@ def toggle_live_preview(self, widget): + self.builder.get_object("toolbar1").set_visible(True) + self.update_live_preview(self) + self.write_settings() +- ++ ++ def on_menuitem_js_activate(self, widget): ++ self.toggle_js(self) ++ ++ def toggle_js(self, widget): ++ state = self.webkit_settings.get_enable_javascript() ++ state = not state ++ self.remarkable_settings['js'] = state ++ self.webkit_settings.set_enable_javascript(state) ++ self.write_settings() + + def on_menuitem_swap_activate(self, widget): + if self.live_preview.get_visible(): +@@ -1452,6 +1468,8 @@ def update_live_preview(self, widet): + def create_webkit_settings(self): + result = WebKit2.Settings() + result.set_enable_write_console_messages_to_stdout(False) # Suppress .js output ++ #js = self.remarkable_settings['js'] ++ result.set_enable_javascript(True) # JS-Kill-Switch for issue #175 + return result + + """ + +From 1b05770885a1bbfc8b21fdb877267b4bf9fb5e88 Mon Sep 17 00:00:00 2001 +From: Mikael Blomstrand <mbloms@kth.se> +Date: Wed, 4 Apr 2018 13:07:30 +0200 +Subject: [PATCH 3/4] Spellcheck error message adapted to arch. + +--- + remarkable/RemarkableWindow.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/remarkable/RemarkableWindow.py b/remarkable/RemarkableWindow.py +index 6856042..a77f74c 100644 +--- a/remarkable/RemarkableWindow.py ++++ b/remarkable/RemarkableWindow.py +@@ -47,7 +47,7 @@ + from gtkspellcheck import SpellChecker + spellcheck_enabled = True + except: +- print("*Spellchecking not enabled.\n*To enable spellchecking install pygtkspellcheck\n*https://pypi.python.org/pypi/pygtkspellcheck/") ++ print("*Spellchecking not enabled.\n*To enable spellchecking install python-gtkspellcheck.\npacman -S --asdeps python-gtkspellcheck") + spellcheck_enabled = False + + import logging + +From eb33c22a6bf4100443b75e33e9897a85ad09d014 Mon Sep 17 00:00:00 2001 +From: Mikael Blomstrand <mbloms@kth.se> +Date: Wed, 4 Apr 2018 13:12:26 +0200 +Subject: [PATCH 4/4] `import styles` correctly + +--- + remarkable/RemarkableWindow.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/remarkable/RemarkableWindow.py b/remarkable/RemarkableWindow.py +index a77f74c..e838330 100644 +--- a/remarkable/RemarkableWindow.py ++++ b/remarkable/RemarkableWindow.py +@@ -36,7 +36,7 @@ import re, subprocess, datetime, os, webbrowser, _thread, sys, locale import tempfile import traceback |