transition to kernel

This commit is contained in:
kepler155c@gmail.com
2018-01-21 05:44:13 -05:00
parent 1c1eb9b782
commit e59400eb2b
16 changed files with 87 additions and 72 deletions
+6 -2
View File
@@ -1,9 +1,10 @@
_G.requireInjector()
_G.requireInjector(_ENV)
local Util = require('util')
local kernel = _G.kernel
local keyboard = _G.device.keyboard
local os = _G.os
local textutils = _G.textutils
local data
@@ -12,11 +13,14 @@ kernel.hook('clipboard_copy', function(_, args)
data = args[1]
end)
keyboard.addHotkey('shift-paste', function(_, args)
keyboard.addHotkey('control-shift-paste', function(_, args)
if type(data) == 'table' then
local s, m = pcall(textutils.serialize, data)
data = (s and m) or Util.tostring(data)
end
-- replace the event paste data with our internal data
args[1] = Util.tostring(data or '')
if data then
os.queueEvent('paste', data)
end
end)
+14
View File
@@ -0,0 +1,14 @@
if _G.device.wireless_modem then
_G.requireInjector()
local Config = require('config')
local config = { }
Config.load('gps', config)
if config.host and type(config.host) == 'table' then
_ENV._APP_TITLE = 'GPS Daemon'
os.run(_ENV, '/rom/programs/gps', 'host', config.host.x, config.host.y, config.host.z)
print('GPS daemon stopped')
end
end
+51
View File
@@ -0,0 +1,51 @@
_G.requireInjector(_ENV)
--[[
Adds a task and the control-d hotkey to view the kernel log.
--]]
local kernel = _G.kernel
local keyboard = _G.device.keyboard
local multishell = _ENV.multishell
local os = _G.os
local term = _G.term
local routine = kernel.getCurrent()
if multishell then
multishell.setTitle(multishell.getCurrent(), 'System Log')
multishell.hideTab(routine.uid)
end
local w, h = kernel.window.getSize()
kernel.window.reposition(1, 2, w, h - 1)
routine.terminal = kernel.window
routine.window = kernel.window
term.redirect(kernel.window)
kernel.hook('mouse_scroll', function(_, eventData)
local dir, y = eventData[1], eventData[3]
if y > 1 then
local currentTab = kernel.getFocused()
if currentTab.terminal.scrollUp and not currentTab.terminal.noAutoScroll then
if dir == -1 then
currentTab.terminal.scrollUp()
else
currentTab.terminal.scrollDown()
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')