diff --git a/common/content/configbase.js b/common/content/configbase.js index c75ea6d0..4f8282f0 100644 --- a/common/content/configbase.js +++ b/common/content/configbase.js @@ -120,7 +120,14 @@ const configbase = { //{{{ * application namespaces which should be loaded before liberator * initialization. */ - scripts: [] + scripts: [], + + /** + * @property {string} The leaf name of any temp files created by + * {@link io.createTempFile}. + */ + get tempFile() this.name.toLowerCase() + ".tmp" + }; //}}} // vim: set fdm=marker sw=4 ts=4 et: diff --git a/common/content/io.js b/common/content/io.js index 5b6ebfa1..38bf5915 100644 --- a/common/content/io.js +++ b/common/content/io.js @@ -704,25 +704,9 @@ function IO() //{{{ */ createTempFile: function () { - let tmpName = EXTENSION_NAME + ".tmp"; - - switch (EXTENSION_NAME) - { - case "muttator": - tmpName = "mutt-ator-mail"; // to allow Vim to :set ft=mail automatically - break; - case "vimperator": - try - { - if (window.content.document.location.hostname) - tmpName = EXTENSION_NAME + "-" + window.content.document.location.hostname + ".tmp"; - } - catch (e) {} - break; - } - let file = services.get("directory").get("TmpD", Ci.nsIFile); - file.append(tmpName); + + file.append(config.tempFile); file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0600); return file; diff --git a/muttator/content/config.js b/muttator/content/config.js index 1ddfbc31..13bc91f9 100644 --- a/muttator/content/config.js +++ b/muttator/content/config.js @@ -161,6 +161,9 @@ const config = { //{{{ "tabs.js" ], + // to allow Vim to :set ft=mail automatically + tempFile: "mutt-ator-mail", + init: function () { // don't wait too long when selecting new messages diff --git a/vimperator/content/config.js b/vimperator/content/config.js index a8972197..a4de986b 100644 --- a/vimperator/content/config.js +++ b/vimperator/content/config.js @@ -141,6 +141,18 @@ const config = { //{{{ "tabs.js" ], + get tempFile() { + let prefix = this.name.toLowerCase(); + + try + { + prefix += "-" + window.content.document.location.hostname; + } + catch (e) {} + + return prefix + ".tmp"; + }, + init: function () { // TODO: support 'nrformats'? -> probably not worth it --mst