From 35e947d1933613bb0b5a1488bf0fa4587f98ef7d Mon Sep 17 00:00:00 2001 From: jgmdev Date: Tue, 24 May 2022 19:29:50 -0400 Subject: added config_spec and other plugin compatibility fixes. --- plugins/smallclock.lua | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) (limited to 'plugins/smallclock.lua') diff --git a/plugins/smallclock.lua b/plugins/smallclock.lua index 201a65a..7bc756c 100644 --- a/plugins/smallclock.lua +++ b/plugins/smallclock.lua @@ -1,15 +1,55 @@ -- mod-version:3 --lite-xl 2.1 local core = require "core" +local config = require "core.config" +local common = require "core.common" local style = require "core.style" local StatusView = require "core.statusview" +config.plugins.smallclock = common.merge({ + enabled = true, + clock_type = "24", + -- The config specification used by the settings gui + config_spec = { + name = "Small Clock", + { + label = "Enabled", + description = "Show or hide the small clock from the status bar.", + path = "enabled", + type = "toggle", + default = true, + on_apply = function(enabled) + core.add_thread(function() + if enabled then + core.status_view:get_item("status:small-clock"):show() + else + core.status_view:get_item("status:small-clock"):hide() + end + end) + end + }, + { + label = "Clock Type", + description = "Choose between 12 or 24 hours clock mode.", + path = "clock_type", + type = "selection", + default = "24", + values = { + {"24 Hours", "24"}, + {"12 Hours", "12"} + } + } + } +}, config.plugins.smallclock) + local time = "" local last_time = os.time() local function update_time() if os.time() > last_time then - local t = os.date("*t") - time = string.format("%02d:%02d", t.hour, t.min) + local h = config.plugins.smallclock.clock_type == "24" + and os.date("%H") or os.date("%I") + local m = os.date("%M") + time = string.format("%02d:%02d", h, m) last_time = os.time() end end -- cgit v1.2.3