Ряд улучшений и багфиксов для GRUB2

Материал из Rosalab Wiki
Перейти к: навигация, поиск


Наши разработчики продолжают работать над улучшением загрузчика GRUB2.

Были реализованы и приняты в апстрим ещё 14 патчей.

Улучшено билинейное масштабирование

Улучшена реализация алгоритма билинейного масштабирования. Новый алгоритм позволяет избежать артефактов при масштабировании изображения.

Grub2-bilinear-before.png Grub2-bilinear-after.png

Новый функционал: пропорциональное масштабирование фонового изображения

Пропорциональное масштабирование позволяет использовать изображения для мониторов с любым соотношением сторон без искажения пропорций.

2013 10 21-grub2-example2-ru.png

2013 10 21-grub2-example1-ru.png

Новая опция scrollbar-slice

В GRUB графическое оформление реализовано в виде "коробок", состоящих из 9 областей. Угловые области не масштабируются,

"северная" (верхняя) и "южная" (нижняя) масштабируются по горизонтали,

"западная" (левая) и "восточная" (правая) - по вертикали, центральная - по горизонтали и по вертикали.


Есть элемент графического оформления меню загрузки ("menu_pixmap_style"). Можно выбрать, в какой области будет нарисована полоса прокрутки.

"east", восточная - так же, как было раньше, полоса прокрутки рисуется в восточной части оформления меню.

"west", западная - полоса прокрутки рисуется слева от меню, в западной части оформления меню.

Особенна интересна опция "center". Полоса прокрутки рисуется в центрально части оформления меню. В этом случае можно не указывать и не создавать оформление меню. Если полоса прокрутки не нужна (пунктов меню загрузки мало), пункты меню загрузки будут занимать всю ширину центральной части оформления меню (или всю ширину меню загрузки, если оформление не указано). Если полоса прокрутки нужна, ширина пунктов загрузки будет уменьшена. Таким образом, мы получаем более привычное и ожидаемое поведение окошка меню загрузки. Это, к тому же, сильно упрощает процесс разработки новой темы GRUB2.

Новые опции для отступов полосы прокрутки

Можно задать отступы для полосы прокрутки в пикселях.

Новая опция scrollbar_overlay

Полоса прокрутки состоит из двух графических элементов: фон и ползунок. Если задать "true" для данной области, то центральная область ползунка будет совмещена с центрально областью фона, а все боковые области ползунка будут "наползать" на боковые области фона. Таким образом можно создать полосу прокрутки сложной формы и ползунок будет проходить от края до края.

2013 10 21-grub2-scrollbar without overlay.png 2013 10 21-grub2-scrollbar with overlay.png

Новая опция progress_highlight_overlay

Аналогично "scrollbar_overlay", но для горизонтального индикатора отсчёта обратного времени.

2013 10 21-grub2-highlight without overlay-ru.png

2013 10 21-grub2-highlight with overlay-ru.png

Исправлен подсчет минимальной ширины меню загрузки

Если задать значение ширины меньше, чем минимально необходимое, меню загрузки будет автоматически расширено. Формула расчёта минимальной ширины была улучшена.

Исправлена прорисовка полосы прокрутки (1 патч)

Ранее полоса прокрутки прорисовывалась неверно, если использовать все 9 областей для фона и для ползунка.

Исправлена прорисовка полосы прокрутки (2 патч)

Когда расчётная высота ползунка становится слишком маленькой, необходимо использовать другой алгоритм, чтобы избежать ошибки.

Исправлено отображение горизонтального индикатора отсчёта обратного времени

Были проблемы с прорисовкой горизонтального индикатора отсчёта обратного времени в случае, если выделение имеет западные / восточные области.

Исправлена утечка памяти

Обнаружена и исправлена утечка памяти.

Реализована проверка корректности параметров полосы прокрутки

Обеспечение корректного поведения в случае неверных параметров.

Реализована проверка корректности параметров горизонтального индикатора отсчёт обратного времени

Обеспечение корректного поведения в случае неверных параметров.

Обновление официальной документации

Документация, относящаяся к синтаксису тем GRUB приведена в актуальное состояние.

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.