diff options
author | Juliardi <juliardi@users.noreply.github.com> | 2021-11-10 07:22:44 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-10 08:22:44 +0800 |
commit | 2069fd8e14ba8224c4f040b4e2b0f2ec0000743f (patch) | |
tree | 689afdac692557d4dc1103c7ae49a7d9c05760b7 /plugins | |
parent | 911d14ed38a5f96ec2175d4adbc1f8290fd61a32 (diff) | |
download | lite-xl-plugins-2069fd8e14ba8224c4f040b4e2b0f2ec0000743f.tar.gz lite-xl-plugins-2069fd8e14ba8224c4f040b4e2b0f2ec0000743f.zip |
add statusclock plugin (#82)
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/statusclock.lua | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/plugins/statusclock.lua b/plugins/statusclock.lua new file mode 100644 index 0000000..8289502 --- /dev/null +++ b/plugins/statusclock.lua @@ -0,0 +1,54 @@ +-- mod-version:2 -- lite-xl 2.0 +local core = require "core" +local config = require "core.config" +local style = require "core.style" +local StatusView = require "core.statusview" +local scan_rate = 1 + +config.plugins.statusclock = { + time_format = "%H:%M:%S", + date_format = "%A, %d %B %Y" +} + +local time_data = { + time_text = '', + date_text = '', +} + +core.add_thread(function() + while true do + local time_text = os.date(config.plugins.statusclock.time_format) + local date_text = os.date(config.plugins.statusclock.date_format) + + if time_data.time_text ~= time_text or time_data.time_text ~= date_text then + core.redraw = true + time_data.time_text = time_text + time_data.date_text = date_text + end + + coroutine.yield(scan_rate) + end +end) + +local get_items = StatusView.get_items + +function StatusView:get_items() + local left, right = get_items(self) + + local t = { + style.dim, + self.separator, + style.dim and style.text, + time_data.date_text, + style.dim, + self.separator, + style.dim and style.text, + time_data.time_text, + } + for _, item in ipairs(t) do + table.insert(right, item) + end + + return left, right +end + |