socsvn commit: r271551 - soc2014/pedrosouza/lua_loader/head/sys/boot/lua

pedrosouza at FreeBSD.org pedrosouza at FreeBSD.org
Tue Jul 29 20:10:11 UTC 2014


Author: pedrosouza
Date: Tue Jul 29 20:10:09 2014
New Revision: 271551
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=271551

Log:
  Added brand & logo drawing to boot menu

Modified:
  soc2014/pedrosouza/lua_loader/head/sys/boot/lua/menu.lua
  soc2014/pedrosouza/lua_loader/head/sys/boot/lua/screen.lua

Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/lua/menu.lua
==============================================================================
--- soc2014/pedrosouza/lua_loader/head/sys/boot/lua/menu.lua	Tue Jul 29 19:49:38 2014	(r271550)
+++ soc2014/pedrosouza/lua_loader/head/sys/boot/lua/menu.lua	Tue Jul 29 20:10:09 2014	(r271551)
@@ -1,5 +1,6 @@
 include("/boot/core.lua");
 include("/boot/screen.lua");
+include("/boot/drawer.lua");
 
 menu = {};
 
@@ -26,6 +27,8 @@
         screen.clear();
         menu.draw(6, 11, opts);
         menu.drawbox(4, 10, 40, 10);
+        drawer.drawbrand();
+        drawer.drawlogo();
         local ch = string.char(io.getchar());
         if (opts[ch] ~= nil) then
             local ret = opts[ch].func();
@@ -66,15 +69,14 @@
     ["2"] = {index = 2, name = "Boot Single user",      func = function () core.setSingleUser(true); loader.perform("boot"); end},
     ["3"] = {index = 3, name = "Escape to lua interpreter", func = function () return true; end},
     ["4"] = {index = 4, name = "Reboot",                func = function () loader.perform("reboot"); end},
-    ["5"] = {index = 5, name = "Boot Options",          func = function () menu.run(boot_options); return false; end} ,
-    ["6"] = {index = 6, name = "Load zfs",          func = function () loader.perform("load zfs"); return false; end} 
+    ["5"] = {index = 5, name = "Boot Options",          func = function () menu.run(boot_options); return false; end} 
 };
 
 function OnOff(str, b)
     if (b) then
-        return str .. ": On";
+        return str .. color.escapef(color.GREEN)..": On"..color.escapef(color.WHITE);
     else
-        return str .. ": Off";
+        return str .. color.escapef(color.RED)..": Off"..color.escapef(color.WHITE);
     end
 end
 

Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/lua/screen.lua
==============================================================================
--- soc2014/pedrosouza/lua_loader/head/sys/boot/lua/screen.lua	Tue Jul 29 19:49:38 2014	(r271550)
+++ soc2014/pedrosouza/lua_loader/head/sys/boot/lua/screen.lua	Tue Jul 29 20:10:09 2014	(r271551)
@@ -1,4 +1,36 @@
 screen = {};
+color = {};
+
+color.BLACK   = 0;
+color.RED     = 1;
+color.GREEN   = 2;
+color.YELLOW  = 3;
+color.BLUE    = 4;
+color.MAGENTA = 5;
+color.CYAN    = 6;
+color.WHITE   = 7;
+
+color.DEFAULT = 0;
+color.BRIGHT  = 1;
+color.DIM     = 2;
+
+
+function color.escapef(c)
+    return "\027[3"..c.."m";
+end
+
+function color.escapeb(c)
+    return "\027[4"..c.."m";
+end
+
+function color.escape(fg, bg, att)
+    if not att then att = "" else att = att..";"; end
+    return "\027["..att.."3"..fg..";4"..bg.."m";
+end
+
+function color.default()
+    return "\027[0;37;40m";
+end
 
 function screen.clear()
     print("\027[H\027[J");
@@ -14,4 +46,12 @@
 
 function screen.setbackground(c)
     print("\027[4"..c.."m");
+end
+
+function screen.defcolor()
+    print(color.default());
+end
+
+function screen.defcursor()
+    print("\027[24;0H");
 end
\ No newline at end of file


More information about the svn-soc-all mailing list