From 76366e1fae77e8166488044836e97da9cd894cfe Mon Sep 17 00:00:00 2001 From: poire-z Date: Thu, 5 Jul 2018 07:50:40 +0200 Subject: [PATCH] Allow disabling some plugins with manually added setting (#4054) Plugins that a person doesn't need (or doesn't want shown in menus) can be disabled by manually adding into settings.reader.lua : ["plugins_disabled"] = { ["zsync"] = true, ["evernote"] = true, ["calibrecompanion"] = true }, --- frontend/pluginloader.lua | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/frontend/pluginloader.lua b/frontend/pluginloader.lua index 18c158d53..552575a1d 100644 --- a/frontend/pluginloader.lua +++ b/frontend/pluginloader.lua @@ -50,13 +50,18 @@ function PluginLoader:loadPlugins() local package_path = package.path local package_cpath = package.cpath + local plugins_disabled = G_reader_settings:readSetting("plugins_disabled") + if type(plugins_disabled) ~= "table" then + plugins_disabled = nil + end for _,lookup_path in ipairs(lookup_path_list) do logger.info('Loading plugins from directory:', lookup_path) for entry in lfs.dir(lookup_path) do local plugin_root = lookup_path.."/"..entry local mode = lfs.attributes(plugin_root, "mode") -- valid koreader plugin directory - if mode == "directory" and entry:find(".+%.koplugin$") then + if mode == "directory" and entry:find(".+%.koplugin$") + and not (plugins_disabled and plugins_disabled[entry:sub(1, -10)]) then local mainfile = plugin_root.."/main.lua" package.path = string.format("%s/?.lua;%s", plugin_root, package_path) package.cpath = string.format("%s/lib/?.so;%s", plugin_root, package_cpath)