1
0
mirror of https://github.com/kepler155c/opus synced 2024-11-14 12:44:50 +00:00
opus/sys/apps/ShellLauncher.lua
kepler155c@gmail.com 674c6af509 alternate support
2019-11-10 15:58:36 -07:00

30 lines
703 B
Lua

local Alt = require('opus.alternate')
local kernel = _G.kernel
local os = _G.os
local shell = _ENV.shell
local launcherTab = kernel.getCurrent()
launcherTab.noFocus = true
kernel.hook('kernel_focus', function(_, eventData)
local focusTab = eventData and eventData[1]
if focusTab == launcherTab.uid then
local previousTab = eventData[2]
local nextTab = launcherTab
if not previousTab then
for _, v in pairs(kernel.routines) do
if not v.hidden and v.uid > nextTab.uid then
nextTab = v
end
end
end
if nextTab == launcherTab then
shell.switchTab(shell.openTab(Alt.get('shell')))
else
shell.switchTab(nextTab.uid)
end
end
end)
os.pullEventRaw('kernel_halt')