#include <consoles.h>
#include "menu.h"
+void console_prepare(void)
+{
+ /* Nothing special to do */
+}
+
+void console_cleanup(void)
+{
+ /* Nothing special to do */
+}
+
int main(int argc, char *argv[])
{
console_ansi_raw();
}
int menu_main(int argc, char *argv[]);
+void console_prepare(void);
+void console_cleanup(void);
#endif /* MENU_H */
(void)argc;
+ console_prepare();
+
install_default_color_table();
if (getscreensize(1, &rows, &cols)) {
/* Unknown screen size? */
cmdline = run_menu();
printf("\033[?25h\033[%d;1H\033[0m", END_ROW);
+ console_cleanup();
+
if ( cmdline ) {
execute(cmdline);
if ( onerror )
} else {
return 0; /* Exit */
}
+
+ console_prepare(); /* If we're looping... */
}
}
#include <console.h>
#include "menu.h"
-static void __attribute__((destructor)) console_cleanup(void)
+void console_prepare(void)
+{
+ fputs("\033[0m\033[20h\033[25l", stdout);
+}
+
+void console_cleanup(void)
{
/* For the serial console, be nice and clean up */
fputs("\033[0m\033[20l", stdout);
int main(int argc, char *argv[])
{
openconsole(&dev_rawcon_r, &dev_vesaserial_w);
- fputs("\033[0m\033[20h\033[25l", stdout);
draw_background = vesacon_load_background;