+
+ pad_refresh(boot_editor);
+}
+
+static void boot_editor_widget_focus(struct nc_widget *widget, void *arg)
+{
+ struct boot_editor *boot_editor = arg;
+ int w_y, s_max;
+
+ w_y = widget_y(widget) + widget_focus_y(widget);
+ s_max = getmaxy(boot_editor->scr.sub_ncw) - 1;
+
+ if (w_y < boot_editor->scroll_y)
+ boot_editor->scroll_y = w_y;
+
+ else if (w_y + boot_editor->scroll_y + 1 > s_max)
+ boot_editor->scroll_y = 1 + w_y - s_max;
+
+ else
+ return;
+
+ pad_refresh(boot_editor);