Comment 18 for bug 1178618

Revision history for this message
Colin Watson (cjwatson) wrote :

OK. I talked with Vladimir about this on #grub today; he shares my dislike for the hardcoded hotkey names, and between us we came up with a better plan:

 * The simplest way to work out what hotkeys to honour is to introspect the menu structure itself. However, this can only be done after all the top-level commands in grub.cfg have been executed, so it can't be done in the "sleep" command.
 * There's nothing particular that says that we have to implement the hidden timeout in a "sleep" command, although we have to take some care to ensure configuration file compatibility with older modules. Since the main timeout is implemented in normal.mod, it makes some sense for the hidden timeout to go there too, where we can get at the menu structure.
 * The simplest way to arrange for configuration file compatibility is to add a new "hiddenmenu" command that sets a "hidden_timeout" environment variable; we could also set the environment variable directly, but having a command allows us to detect the absence of that command and infer that we need to fall back to the old mechanism.

I'm working on an implementation of this plan now to check that it's viable, and will post the results on grub-devel. Modulo one slight roadblock it's looking much simpler so far.