mirror of
https://github.com/kepler155c/opus
synced 2024-11-14 12:44:50 +00:00
30 lines
703 B
Lua
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') |