From db31a0e5de0939db99e898a201715fb7fd8ec44d Mon Sep 17 00:00:00 2001 From: "kepler155c@gmail.com" Date: Thu, 7 Nov 2019 18:01:20 -0700 Subject: [PATCH] Events shows all + tweaks --- common/Events.lua | 48 +++++++++++++++++++++++++------------------ screenSaver/etc/fstab | 5 ++++- 2 files changed, 32 insertions(+), 21 deletions(-) diff --git a/common/Events.lua b/common/Events.lua index 72ec233..0dcd164 100644 --- a/common/Events.lua +++ b/common/Events.lua @@ -3,7 +3,7 @@ local UI = require('opus.ui') local Util = require('opus.util') local multishell = _ENV.multishell -local os = _G.os +local kernel = _G.kernel UI:configure('Events', ...) @@ -15,7 +15,7 @@ local page = UI.Page { { text = 'Pause ', event = 'toggle', name = 'pauseButton' }, }, }, - grid = UI.Grid { + grid = UI.ScrollingGrid { y = 2, columns = { { key = 'event' }, @@ -112,28 +112,36 @@ function page.grid:draw() UI.Grid.draw(self) end -Event.addRoutine(function() +local updated = false +local hookFunction = function(event, e) + if not page.filtered[event] and not page.paused then + updated = true + table.insert(page.grid.values, 1, { + event = event, + p1 = e[1], + p2 = e[2], + p3 = e[3], + p4 = e[4], + p5 = e[5], + }) + end +end - while true do - local e = { os.pullEvent() } - if not page.paused and not page.filtered[e[1]] then - table.insert(page.grid.values, 1, { - event = e[1], - p1 = e[2], - p2 = e[3], - p3 = e[4], - p4 = e[5], - p5 = e[6], - }) - if #page.grid.values > page.grid.height then - table.remove(page.grid.values, #page.grid.values) - end - page.grid:update() - page.grid:draw() - page:sync() +kernel.hook('*', hookFunction) + +Event.onInterval(1, function() + if updated then + while #page.grid.values > 100 do -- page.grid.height do + table.remove(page.grid.values, 100) -- #page.grid.values) end + updated = false + page.grid:update() + page.grid:draw() + page:sync() end end) UI:setPage(page) UI:pullEvents() + +kernel.unhook('*', hookFunction) diff --git a/screenSaver/etc/fstab b/screenSaver/etc/fstab index 2c02cfd..e89b176 100644 --- a/screenSaver/etc/fstab +++ b/screenSaver/etc/fstab @@ -8,4 +8,7 @@ packages/screenSaver/savers/fire.lua urlfs https://pastebin.com/raw/4CY4AYj3 packages/screenSaver/savers/rain.lua urlfs https://pastebin.com/raw/P86Hm99N packages/screenSaver/savers/snow.lua urlfs https://pastebin.com/raw/j1dwdLKw packages/screenSaver/savers/fireworks.lua urlfs https://pastebin.com/raw/Yn5sWt3f -packages/screenSaver/savers/starfield.lua urlfs https://pastebin.com/raw/AQm9R6nT \ No newline at end of file +packages/screenSaver/savers/starfield.lua urlfs https://pastebin.com/raw/AQm9R6nT +packages/screenSaver/savers/nyan.lua urlfs https://pastebin.com/raw/YJnT6Adu +packages/screenSaver/savers/bounce.lua urlfs https://pastebin.com/raw/WLrfdyNy +packages/screenSaver/savers/antfarm.lua urlfs https://pastebin.com/raw/h9x3h7aw \ No newline at end of file