|
Revision tags: release/12.2.0, release/11.4.0, release/12.1.0 |
|
| #
23601245 |
| 15-Sep-2019 |
Kyle Evans <[email protected]> |
MFC r352194: lualoader: Revert to ASCII menu frame for serial console
The box drawing characters we use aren't necessarily safe with a serial console; for instance, in the report by npn@, these were
MFC r352194: lualoader: Revert to ASCII menu frame for serial console
The box drawing characters we use aren't necessarily safe with a serial console; for instance, in the report by npn@, these were causing his xterm to send back a sequence that lua picked up as input and halted the boot. This is less than ideal.
Fallback to ASCII frames for console with 'comconsole' in it. This is a partial revert r338108 by imp@ -- instead of removing the menu entirely and disabling color/cursor sequences, just reverting the default frame to ASCII is enough to not break in this setup.
show more ...
|
|
Revision tags: release/11.3.0, release/12.0.0 |
|
| #
2c690e2a |
| 19-Aug-2018 |
Kyle Evans <[email protected]> |
lualoader: Add drawer-exported variables for default logodefs
Uncovered while writing the documentation from this, we previously explicitly fell back to orb or orbbw if an invalid or incompatible lo
lualoader: Add drawer-exported variables for default logodefs
Uncovered while writing the documentation from this, we previously explicitly fell back to orb or orbbw if an invalid or incompatible logodef was selected -- in contrast to branddefs, which have an exported variable that one can whip up a quick local.lua to override in a safe manner that works regardless of whether or not loader.conf(5) successfully loads.
show more ...
|
| #
a9edc01b |
| 19-Aug-2018 |
Kyle Evans <[email protected]> |
lualoader: Hide the rest of the private interfaces
These are less controversial than the others, thus done in a separate commit. These are all used internally and ways to override are provided via s
lualoader: Hide the rest of the private interfaces
These are less controversial than the others, thus done in a separate commit. These are all used internally and ways to override are provided via soon-to-be-documented API or loader.conf(5) variables.
show more ...
|
| #
12eaa305 |
| 19-Aug-2018 |
Kyle Evans <[email protected]> |
lualoader: Hide most of the internal drawing functions
Ideally, all of the functionality to revamp the loader screen has associated APIs that are flexible enough that third-party scripts wouldn't ne
lualoader: Hide most of the internal drawing functions
Ideally, all of the functionality to revamp the loader screen has associated APIs that are flexible enough that third-party scripts wouldn't need to override these.
show more ...
|
| #
6112ee09 |
| 19-Aug-2018 |
Kyle Evans <[email protected]> |
lualoader: Stop exporting drawer.draw
drawer.draw is the back-end for drawlogo and drawbrand and should not be used directly.
|
|
Revision tags: release/11.2.0 |
|
| #
e21e1dbe |
| 11-Jun-2018 |
Kyle Evans <[email protected]> |
lualoader: Allow brand-*.lua for adding new brands
dteske@, I believe, had originally pointed out that lualoader failed to allow logo-*.lua for new logos to be added. When correcting this mistake, I
lualoader: Allow brand-*.lua for adding new brands
dteske@, I believe, had originally pointed out that lualoader failed to allow logo-*.lua for new logos to be added. When correcting this mistake, I failed to do the same for brands.
Correct the sub-mistake: creating new brands is almost identical to creating new logos, except one must use `drawer.addBrand` and 'graphic' is the only valid key for a branddef at the moment.
While here, I've added `drawer.default_brand` to be set to name of brand to be used (e.g. 'fbsd', project default).
Eventually this whole goolash will be documented.
Reported by: kmoore, iXsystems
show more ...
|
| #
bbb516ae |
| 01-Apr-2018 |
Kyle Evans <[email protected]> |
lualoader: Don't try to lookup a nil logo
|
| #
1091c8fe |
| 01-Apr-2018 |
Kyle Evans <[email protected]> |
lualoader: Split logodefs out into logo-* files
This commit splits all of the logodefs/graphics out into their own own files and provides a method for these files to register their logodefs with the
lualoader: Split logodefs out into logo-* files
This commit splits all of the logodefs/graphics out into their own own files and provides a method for these files to register their logodefs with the drawer. Graphics are now loaded on demand if they don't exist in the current set of logodefs.
The drawer module becomes a little easier to navigate through without all of the graphics mixed in. It's also easy to do one-off graphics like the 9.2 Die Hard tribute by dteske@ without adding even more to our memory requirements.
show more ...
|
| #
9895e5d4 |
| 21-Mar-2018 |
Kyle Evans <[email protected]> |
lualoader: Use printc when we expect ANSI escape sequences
|
| #
2ed9eb5d |
| 04-Mar-2018 |
Kyle Evans <[email protected]> |
lualoader: logdef -> logodef typo
|
| #
2d36799a |
| 03-Mar-2018 |
Kyle Evans <[email protected]> |
lualoader: Shift menu+brand even for logo=none with customized pos
|
| #
1495c98f |
| 03-Mar-2018 |
Kyle Evans <[email protected]> |
lualoader: Tweak positioning and fix an off-by-one
- All of our default positions were offset from forth - Our menu frame size was smaller than in forth - Logo/brand drawing had an off-by-one, drawi
lualoader: Tweak positioning and fix an off-by-one
- All of our default positions were offset from forth - Our menu frame size was smaller than in forth - Logo/brand drawing had an off-by-one, drawing one column lower on the screen than they should have been. - While here, switch a print() to printc() as it's expected that logos may contain color and other escpae sequences that we'll need to honor.
show more ...
|
| #
b4353326 |
| 03-Mar-2018 |
Kyle Evans <[email protected]> |
lualoader: Respect loader_menu_title_align
It may be set to "left" or "right" -- any other value will cause the title to be centered.
I've chosen to position these things just inside the vertical b
lualoader: Respect loader_menu_title_align
It may be set to "left" or "right" -- any other value will cause the title to be centered.
I've chosen to position these things just inside the vertical borders, rather than overlapping the corners. This is an arbitrary choice and easily amendable if this looks terrible.
show more ...
|
| #
953d8937 |
| 03-Mar-2018 |
Kyle Evans <[email protected]> |
lualoader: Respect loader_menu_title, prepare for align
|
| #
223e9874 |
| 02-Mar-2018 |
Kyle Evans <[email protected]> |
lualoader: Use global printc instead of loader.printc
r330282 registered loader.printc as printc, so use it instead. This makes sense for a couple reasons, the major point being that it reads a litt
lualoader: Use global printc instead of loader.printc
r330282 registered loader.printc as printc, so use it instead. This makes sense for a couple reasons, the major point being that it reads a little bit easier and pairs nicely with the global 'print'.
Similar cases can not really be made for other loader.* functions as most of them are either highly specific to our use-case or usually available in other modules, such as `os`. printc does not have a standard implementation in the Lua world(*), so we have a little more leeway with it, and it's kind of a special case of the globally available 'print'.
(*) I've been in the Lua world for all of two weeks, so this could be wrong.
show more ...
|
| #
379e652e |
| 02-Mar-2018 |
Kyle Evans <[email protected]> |
lualoader: Steamroll the box-drawing
- Add drawer.frame_styles to map out the kinds of characters we need for the different loader_menu_frame values - Respect loader_menu_frame, default to double[
lualoader: Steamroll the box-drawing
- Add drawer.frame_styles to map out the kinds of characters we need for the different loader_menu_frame values - Respect loader_menu_frame, default to double[*] - (imp) Use loader.printc instead of print- print adds a newline to the output, which is not the right thing we want to be doing. - (imp) Draw horizontal frames a little more efficiently- setting the cursor after every line segment is horribly inefficient, especially on serial consoles. Halve the number of characters written at the expense of an additional loop to draw the bottom frame, which is likely more efficient in the long run for some of less ideal scenarios.
[*] menu.4th(8) claims that the default here was single, but unset loader_menu_frame yielded double and we didn't have any overrides in the default loader.conf(5), so double it is.
show more ...
|
| #
972c7fcd |
| 02-Mar-2018 |
Kyle Evans <[email protected]> |
lualoader: Use string literal \xNN instead of string.char()
|
| #
04af4229 |
| 26-Feb-2018 |
Kyle Evans <[email protected]> |
lualoader: More argument name expansion, part 2
screen also has some instances, but it also has other cleanup to go with it. Because of this, I will be committing the screen changes separately.
|
| #
322a2ddd |
| 24-Feb-2018 |
Kyle Evans <[email protected]> |
lualoader: Clean up naming conventions a little bit
We mostly use camel case for function names, but some local functions got mixed in using internal underscores. Doubles down on camel case.
|
| #
d709f254 |
| 24-Feb-2018 |
Kyle Evans <[email protected]> |
lualoader: Remove unused variable; we now use the effective line number
|
| #
1afbc37a |
| 23-Feb-2018 |
Kyle Evans <[email protected]> |
lualoader: Track effective line number, use it for drawing
Takes into account hidden entries, so that we don't draw blank lines in place of a hidden item.
|
| #
9ed6f9ef |
| 23-Feb-2018 |
Kyle Evans <[email protected]> |
lualoader: Use "local function x()" instead of "local x = function()"
The latter is good, but the former is more elegant and clear about what 'x' is. Adopt it, preferably only using the latter kind
lualoader: Use "local function x()" instead of "local x = function()"
The latter is good, but the former is more elegant and clear about what 'x' is. Adopt it, preferably only using the latter kind of notation where needed as values for tables.
show more ...
|
| #
72e39d71 |
| 23-Feb-2018 |
Kyle Evans <[email protected]> |
Add SPDX tags to lua files
|
| #
66964bbc |
| 22-Feb-2018 |
Kyle Evans <[email protected]> |
lualoader: Attend to some 80-col issues, pointed out by luacheck
Graphics have a tendency to cause 80-col issues, so make an exception to our standard indentation guidelines for these graphics. This
lualoader: Attend to some 80-col issues, pointed out by luacheck
Graphics have a tendency to cause 80-col issues, so make an exception to our standard indentation guidelines for these graphics. This does not hamper readability too badly.
Two 40-column strings of spaces is trivially replaced with string.rep(" ", 80)
show more ...
|
| #
e2df27e3 |
| 22-Feb-2018 |
Kyle Evans <[email protected]> |
lualoader: Address some 'luacheck' concerns
luacheck pointed out an assortment of issues, ranging from non-standard globals being created as well as unused parameters, variables, and redundant assig
lualoader: Address some 'luacheck' concerns
luacheck pointed out an assortment of issues, ranging from non-standard globals being created as well as unused parameters, variables, and redundant assignments.
Using '_' as a placeholder for values unused (whether it be parameters unused or return values unused, assuming multiple return values) feels clean and gets the point across, so I've adopted it. It also helps flag candidates for cleanup later in some of the lambdas I've created, giving me an easy way to re-evaluate later if we're still not using some of these features.
show more ...
|