diff --git a/content/addressbook.js b/content/addressbook.js index 3b104b26..c653f554 100644 --- a/content/addressbook.js +++ b/content/addressbook.js @@ -71,7 +71,7 @@ function Addressbook() //{{{ ////////////////////// MAPPINGS //////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////{{{ - var myModes = config.mailModes || [modes.NORMAL]; + var myModes = config.mailModes; mappings.add(myModes, ["a"], "Open a prompt to save a new addressbook entry for the sender of the selected message", diff --git a/content/bookmarks.js b/content/bookmarks.js index cd49eb92..b41cb6b7 100644 --- a/content/bookmarks.js +++ b/content/bookmarks.js @@ -240,7 +240,7 @@ function Bookmarks() //{{{ ////////////////////// MAPPINGS //////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////{{{ - var myModes = config.browserModes || [modes.NORMAL]; + var myModes = config.browserModes; mappings.add(myModes, ["a"], "Open a prompt to bookmark the current URL", @@ -595,7 +595,7 @@ function History() //{{{ ////////////////////// MAPPINGS //////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////{{{ - var myModes = config.browserModes || [modes.NORMAL]; + var myModes = config.browserModes; mappings.add(myModes, [""], "Go to an older position in the jump list", @@ -855,7 +855,7 @@ function QuickMarks() //{{{ ////////////////////// MAPPINGS //////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////{{{ - var myModes = config.browserModes || [modes.NORMAL]; + var myModes = config.browserModes; mappings.add(myModes, ["go"], "Jump to a QuickMark", diff --git a/content/buffer.js b/content/buffer.js index 13171c7d..dc762be0 100644 --- a/content/buffer.js +++ b/content/buffer.js @@ -193,7 +193,7 @@ function Buffer() //{{{ ////////////////////// MAPPINGS //////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////{{{ - var myModes = config.browserModes || [modes.NORMAL]; + var myModes = config.browserModes; mappings.add(myModes, ["."], "Repeat the last key event", @@ -1454,7 +1454,7 @@ function Marks() //{{{ ////////////////////// MAPPINGS //////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////{{{ - var myModes = config.browserModes || [modes.NORMAL]; + var myModes = config.browserModes; mappings.add(myModes, ["m"], "Set mark at the cursor position", diff --git a/content/completion.js b/content/completion.js index c400ca43..fe03b5ab 100644 --- a/content/completion.js +++ b/content/completion.js @@ -867,7 +867,7 @@ function Completion() //{{{ return [0, buildLongestStartingSubstring(completions, filter)]; }, - dialog: function dialog(filter) [0, this.filter(config.dialogs || [], filter)], + dialog: function dialog(filter) [0, this.filter(config.dialogs, filter)], environment: function environment(filter) { @@ -970,7 +970,7 @@ function Completion() //{{{ help: function help(filter) { - var files = config.helpFiles || []; + var files = config.helpFiles; var res = []; for (let i = 0; i < files.length; i++) diff --git a/content/find.js b/content/find.js index f2264bb3..7b2eb11a 100644 --- a/content/find.js +++ b/content/find.js @@ -390,7 +390,7 @@ function Search() //{{{ ////////////////////// MAPPINGS //////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////{{{ - var myModes = config.browserModes || [modes.NORMAL]; + var myModes = config.browserModes; myModes = myModes.concat([modes.CARET]); mappings.add(myModes, diff --git a/content/hints.js b/content/hints.js index 90674075..77e52229 100644 --- a/content/hints.js +++ b/content/hints.js @@ -32,7 +32,7 @@ function Hints() //{{{ ////////////////////// PRIVATE SECTION ///////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////{{{ - var myModes = config.browserModes || [modes.NORMAL]; + var myModes = config.browserModes; var hintMode; var submode = ""; // used for extended mode, can be "o", "t", "y", etc. diff --git a/content/liberator-overlay.js b/content/liberator-overlay.js index 2ff583aa..d2c8bbe0 100644 --- a/content/liberator-overlay.js +++ b/content/liberator-overlay.js @@ -40,7 +40,9 @@ "options.js", "template.js", "ui.js"].forEach(load); - modules.config.scripts.forEach(load); + + if (modules.config.scripts) + modules.config.scripts.forEach(load); })() diff --git a/content/liberator.js b/content/liberator.js index bd39828b..511a5d1d 100644 --- a/content/liberator.js +++ b/content/liberator.js @@ -82,7 +82,7 @@ const liberator = (function () //{{{ { setter: function (value) { - for (let [opt, ids] in Iterator(config.guioptions || {})) + for (let [opt, ids] in Iterator(config.guioptions)) { ids.forEach(function (id) { @@ -186,7 +186,7 @@ const liberator = (function () //{{{ try { - var dialogs = config.dialogs || []; + var dialogs = config.dialogs; for (let i = 0; i < dialogs.length; i++) { if (dialogs[i][0] == args) @@ -536,7 +536,7 @@ const liberator = (function () //{{{ // similar in his config function hideGUI() { - var guioptions = config.guioptions || {}; + var guioptions = config.guioptions; for (let option in guioptions) { guioptions[option].forEach(function (elem) { @@ -864,12 +864,8 @@ const liberator = (function () //{{{ commandline.echo(str, commandline.HL_INFOMSG, flags); }, - // return true, if this liberator extension has a certain feature - has: function (feature) - { - let features = config.features || []; - return features.indexOf(feature) >= 0; - }, + // does this liberator extension have a certain feature? + has: function (feature) config.features.indexOf(feature) >= 0, hasExtension: function (name) { @@ -1146,9 +1142,20 @@ const liberator = (function () //{{{ let start = Date.now(); liberator.log("Initializing liberator object...", 0); - // TODO: only checked for "Win32" currently, other values should be normalised - + config.features = config.features || []; config.features.push(getPlatformFeature()); + config.defaults = config.defaults || {}; + config.guioptions = config.guioptions || {}; + config.browserModes = config.browserModes || [modes.NORMAL]; + config.mailModes = config.mailModes || [modes.NORMAL]; + // TODO: suitable defaults? + //config.mainWidget + //config.mainWindowID + //config.visualbellWindow + //config.styleableChrome + config.autocommands = config.autocommands || []; + config.dialogs = config.dialogs || []; + config.helpFiles = config.helpFiles || []; // commands must always be the first module to be initialized loadModule("commands", Commands); diff --git a/content/mail.js b/content/mail.js index 63985e10..a6f8d182 100644 --- a/content/mail.js +++ b/content/mail.js @@ -241,7 +241,7 @@ function Mail() //{{{ ////////////////////// MAPPINGS //////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////{{{ - var myModes = config.mailModes || [modes.NORMAL]; + var myModes = config.mailModes; mappings.add(myModes, ["", "i"], "Inspect (focus) message",