From cd0e6af55f8d2831619e44e207c59bad1e3d42c6 Mon Sep 17 00:00:00 2001 From: "kepler155c@gmail.com" Date: Mon, 15 Jun 2020 19:55:56 -0600 Subject: [PATCH] remove alternates - add ccemux peripherals upon system startup --- cash/.package | 7 ------- ccemux/autorun/startup.lua | 9 --------- ccemux/bin/emustartup.lua | 20 ++++++++++++++++++++ ccemux/bin/emustartup.moon | 16 ++++++++++++++++ ccemux/system/ccemux.lua | 17 +++++++++++++++++ mbs/.package | 11 ----------- monitor/mwm.lua | 3 +-- moonscript/etc/fstab | 3 ++- packages.list | 3 +-- 9 files changed, 57 insertions(+), 32 deletions(-) create mode 100644 ccemux/bin/emustartup.lua create mode 100644 ccemux/bin/emustartup.moon diff --git a/cash/.package b/cash/.package index 93cb0fb..473194e 100644 --- a/cash/.package +++ b/cash/.package @@ -21,11 +21,4 @@ Restorable history Partial CCKernel2 support Full compatibility with CraftOS shell.lua]], license = 'MIT', - install = [[ - require('opus.alternate').set('shell', 'packages/cash/cash.lua') - require('opus.util').writeFile('.cashrc', 'set TERMINATE_QUIT=yes') - ]], - uninstall = [[ - require('opus.alternate').remove('shell', 'packages/cash/cash.lua') - ]], } diff --git a/ccemux/autorun/startup.lua b/ccemux/autorun/startup.lua index cb3d466..dfa1e40 100644 --- a/ccemux/autorun/startup.lua +++ b/ccemux/autorun/startup.lua @@ -1,20 +1,11 @@ local ccemux = _G.ccemux local fs = _G.fs -local peripheral = _G.peripheral local textutils = _G.textutils if ccemux then -- add a System setup tab fs.mount('sys/apps/system/ccemux.lua', 'linkfs', 'packages/ccemux/system/ccemux.lua') - local Config = require('opus.config') - - for k,v in pairs(Config.load('ccemux')) do - if not peripheral.getType(k) then - ccemux.attach(k, v.type, v.args) - end - end - _G.kernel.hook('clipboard_copy', function(_, args) local data = args[1] if type(data) == 'table' then diff --git a/ccemux/bin/emustartup.lua b/ccemux/bin/emustartup.lua new file mode 100644 index 0000000..d4c2874 --- /dev/null +++ b/ccemux/bin/emustartup.lua @@ -0,0 +1,20 @@ +local ccemux +ccemux = _G.ccemux +local fs +fs = _G.fs +local peripheral +peripheral = _G.peripheral +local unserialize +unserialize = _G.textutils.unserialize +local CONFIG = 'usr/config/ccemux' +if ccemux and fs.exists(CONFIG) then + local f = fs.open(CONFIG, 'r') + local c = unserialize(f.readAll()) + f.close() + for k, v in pairs(c) do + if not peripheral.getType(k) then + ccemux.attach(k, v.type, v.args) + print(k) + end + end +end diff --git a/ccemux/bin/emustartup.moon b/ccemux/bin/emustartup.moon new file mode 100644 index 0000000..0e8ebd2 --- /dev/null +++ b/ccemux/bin/emustartup.moon @@ -0,0 +1,16 @@ +import ccemux from _G +import fs from _G +import peripheral from _G +import unserialize from _G.textutils + +CONFIG = 'usr/config/ccemux' + +if ccemux and fs.exists CONFIG + f = fs.open(CONFIG, 'r') + c = unserialize(f.readAll()) + f.close() + + for k,v in pairs c + if not peripheral.getType(k) + ccemux.attach(k, v.type, v.args) + print k diff --git a/ccemux/system/ccemux.lua b/ccemux/system/ccemux.lua index e4360ea..b7fb882 100644 --- a/ccemux/system/ccemux.lua +++ b/ccemux/system/ccemux.lua @@ -1,5 +1,6 @@ local Config = require('opus.config') local UI = require('opus.ui') +local Util = require('opus.util') local ccemux = _G.ccemux @@ -62,7 +63,23 @@ function tab:updatePeripherals(config) self.grid:update() end +function tab.bootCheck() + local startupFile = 'packages/ccemux/bin/emustartup.lua' + + local c = Util.readTable('.startup.boot') + if c then + for _,v in pairs(c.preload) do + if v == startupFile then + return + end + end + end + table.insert(c.preload, startupFile) + Util.writeTable('.startup.boot', c) +end + function tab:enable() + self:bootCheck() local config = Config.load('ccemux') local choices = { } diff --git a/mbs/.package b/mbs/.package index 101cef8..95bbaaf 100644 --- a/mbs/.package +++ b/mbs/.package @@ -8,15 +8,4 @@ https://github.com/SquidDev-CC/mbs MBS is a series of utilities for improving the default CraftOS experience. ]], license = 'MIT', - install = [[ - local Alt = require('opus.alternate') - Alt.set('shell', '.mbs/bin/shell.lua') - Alt.add('lua', '.mbs/bin/lua.lua') - ]], - uninstall = [[ - local Alt = require('opus.alternate') - Alt.remove('shell', '.mbs/bin/shell.lua') - Alt.remove('lua', '.mbs/bin/lua.lua') - fs.delete('.mbs') - ]], } diff --git a/monitor/mwm.lua b/monitor/mwm.lua index fa19aa1..bb88753 100644 --- a/monitor/mwm.lua +++ b/monitor/mwm.lua @@ -1,4 +1,3 @@ -local Alt = require('opus.alternate') local Terminal = require('opus.terminal') local trace = require('opus.trace') local Util = require('opus.util') @@ -496,7 +495,7 @@ local function addShell() process.co = coroutine.create(function() print('To run a program on the monitor, type "fg "') print('To quit, type "exit"') - os.run(shell.makeEnv(_ENV), Alt.get('shell')) + os.run(shell.makeEnv(_ENV), shell.resolveProgram('shell')) multishell.stop() end) diff --git a/moonscript/etc/fstab b/moonscript/etc/fstab index 2fe25e2..d1466b8 100644 --- a/moonscript/etc/fstab +++ b/moonscript/etc/fstab @@ -4,4 +4,5 @@ packages/moonscript/moonc linkfs packages/moonscript/repo/bin/moonc rom/modules/main/moonscript linkfs packages/moonscript/repo/moonscript rom/modules/main/moon linkfs packages/moonscript/repo/moon #rom/modules/main/moonutil gitfs natnat-mc/moonutil/master/moonutil -rom/modules/main/argparse urlfs https://raw.githubusercontent.com/mpeterv/argparse/master/src/argparse.lua +#rom/modules/main/argparse urlfs https://raw.githubusercontent.com/mpeterv/argparse/master/src/argparse.lua +rom/modules/main/argparse urlfs https://raw.githubusercontent.com/luarocks/argparse/master/src/argparse.lua diff --git a/packages.list b/packages.list index b738872..181e646 100644 --- a/packages.list +++ b/packages.list @@ -1,6 +1,6 @@ { [ 'builder' ] = 'https://raw.githubusercontent.com/kepler155c/opus-apps/develop-1.8/builder/.package', - [ 'busted' ] = 'https://raw.githubusercontent.com/kepler155c/opus-apps/develop-1.8/busted/.package', +-- [ 'busted' ] = 'https://raw.githubusercontent.com/kepler155c/opus-apps/develop-1.8/busted/.package', [ 'cash' ] = 'https://raw.githubusercontent.com/kepler155c/opus-apps/develop-1.8/cash/.package', [ 'ccemux' ] = 'https://raw.githubusercontent.com/kepler155c/opus-apps/develop-1.8/ccemux/.package', [ 'common' ] = 'https://raw.githubusercontent.com/kepler155c/opus-apps/develop-1.8/common/.package', @@ -10,7 +10,6 @@ [ 'farms' ] = 'https://raw.githubusercontent.com/kepler155c/opus-apps/develop-1.8/farms/.package', -- [ 'forestry' ] = 'https://raw.githubusercontent.com/kepler155c/opus-apps/develop-1.8/forestry/.package', [ 'games' ] = 'https://raw.githubusercontent.com/kepler155c/opus-apps/develop-1.8/games/.package', --- [ 'glasses' ] = 'https://raw.githubusercontent.com/kepler155c/opus-apps/develop-1.8/glasses/.package', [ 'gps' ] = 'https://raw.githubusercontent.com/kepler155c/opus-apps/develop-1.8/gps/.package', [ 'lfs' ] = 'https://raw.githubusercontent.com/kepler155c/opus-apps/develop-1.8/lfs/.package', [ 'lpeg' ] = 'https://raw.githubusercontent.com/kepler155c/opus-apps/develop-1.8/lpeg/.package',