aboutsummaryrefslogtreecommitdiff
path: root/plugins/smallclock.lua
diff options
context:
space:
mode:
authorjgmdev <jgmdev@gmail.com>2022-05-24 19:29:50 -0400
committerjgmdev <jgmdev@gmail.com>2022-05-24 19:29:50 -0400
commit35e947d1933613bb0b5a1488bf0fa4587f98ef7d (patch)
tree07d2515f44db03b1e865f6aef6adfd12b118890b /plugins/smallclock.lua
parentc1f3671e2a8defbc67d1e77c72d5866f2825cdb5 (diff)
downloadlite-xl-plugins-35e947d1933613bb0b5a1488bf0fa4587f98ef7d.tar.gz
lite-xl-plugins-35e947d1933613bb0b5a1488bf0fa4587f98ef7d.zip
added config_spec and other plugin compatibility fixes.
Diffstat (limited to 'plugins/smallclock.lua')
-rw-r--r--plugins/smallclock.lua44
1 files changed, 42 insertions, 2 deletions
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