From 87ed5491a4a2c17de9458b59a8dbff2d4c947342 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Hru=C5=A1ka?= Date: Sun, 10 Sep 2017 15:21:18 +0200 Subject: [PATCH] make themes work again --- jssrc/term_screen.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/jssrc/term_screen.js b/jssrc/term_screen.js index c739aa1..e1df62f 100644 --- a/jssrc/term_screen.js +++ b/jssrc/term_screen.js @@ -95,7 +95,7 @@ class TermScreen { blinkInterval: 0 } - this._palette = themes[0] + this._palette = null this._window = { width: 0, @@ -359,7 +359,10 @@ class TermScreen { } } - get palette () { return this._palette } + get palette () { + return this._palette || themes[0] + } + set palette (palette) { this._palette = palette this.scheduleDraw() @@ -965,8 +968,11 @@ class TermScreen { } } - load (str) { + load (str, theme = -1) { const content = str.substr(1) + if (theme >= 0 && theme < themes.length) { + Screen.palette = themes[theme] + } switch (str[0]) { case 'S': @@ -1034,11 +1040,6 @@ const Screen = new TermScreen() Screen.once('load', () => { qs('#screen').appendChild(Screen.canvas) - for (let item of qs('#screen').classList) { - if (item.startsWith('theme-')) { - Screen.colors = themes[item.substr(6)] - } - } }) let fitScreen = false