2018-01-13 20:17:26 +00:00
|
|
|
--[[
|
2018-01-24 22:39:38 +00:00
|
|
|
Adds a task and the control-d hotkey to view the kernel log.
|
2018-01-20 12:18:13 +00:00
|
|
|
--]]
|
2016-12-11 19:24:52 +00:00
|
|
|
|
2018-01-12 01:53:32 +00:00
|
|
|
local kernel = _G.kernel
|
2018-01-10 21:46:37 +00:00
|
|
|
local keyboard = _G.device.keyboard
|
2017-10-08 21:45:01 +00:00
|
|
|
local multishell = _ENV.multishell
|
|
|
|
local os = _G.os
|
|
|
|
local term = _G.term
|
|
|
|
|
2018-01-24 22:39:38 +00:00
|
|
|
local function systemLog()
|
|
|
|
local routine = kernel.getCurrent()
|
|
|
|
|
2019-03-27 19:21:31 +00:00
|
|
|
if multishell and multishell.openTab then
|
|
|
|
local w, h = kernel.window.getSize()
|
|
|
|
kernel.window.reposition(1, 2, w, h - 1)
|
2018-01-24 22:39:38 +00:00
|
|
|
|
2019-03-27 19:21:31 +00:00
|
|
|
routine.terminal = kernel.window
|
|
|
|
routine.window = kernel.window
|
|
|
|
term.redirect(kernel.window)
|
|
|
|
end
|
2018-01-24 22:39:38 +00:00
|
|
|
|
|
|
|
kernel.hook('mouse_scroll', function(_, eventData)
|
|
|
|
local dir, y = eventData[1], eventData[3]
|
|
|
|
|
|
|
|
if y > 1 then
|
|
|
|
local currentTab = kernel.getFocused()
|
2019-02-06 04:03:57 +00:00
|
|
|
if currentTab == routine then
|
|
|
|
if currentTab.terminal.scrollUp and not currentTab.terminal.noAutoScroll then
|
|
|
|
if dir == -1 then
|
|
|
|
currentTab.terminal.scrollUp()
|
|
|
|
else
|
|
|
|
currentTab.terminal.scrollDown()
|
|
|
|
end
|
2018-01-24 22:39:38 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end)
|
|
|
|
|
|
|
|
keyboard.addHotkey('control-d', function()
|
|
|
|
local current = kernel.getFocused()
|
|
|
|
if current.uid ~= routine.uid then
|
|
|
|
kernel.raise(routine.uid)
|
|
|
|
elseif kernel.routines[2] then
|
|
|
|
kernel.raise(kernel.routines[2].uid)
|
|
|
|
end
|
|
|
|
end)
|
|
|
|
|
|
|
|
os.pullEventRaw('terminate')
|
|
|
|
keyboard.removeHotkey('control-d')
|
2018-01-13 20:17:26 +00:00
|
|
|
end
|
2016-12-11 19:24:52 +00:00
|
|
|
|
2019-03-27 19:21:31 +00:00
|
|
|
if multishell and multishell.openTab then
|
|
|
|
multishell.openTab({
|
|
|
|
title = 'System Log',
|
|
|
|
fn = systemLog,
|
|
|
|
hidden = true,
|
|
|
|
})
|
|
|
|
else
|
|
|
|
kernel.run({
|
|
|
|
title = 'Syslog',
|
|
|
|
fn = systemLog,
|
|
|
|
})
|
|
|
|
end
|