В menu.lst установку времени таймера передвинуть повыше к началу файла.
сделал сразу....
Добавлено (30.03.2010, 22:33) --------------------------------------------- В процессе возник вопрос:можно ли в меню сделать две полосы прокрутки--одна горизонтальная(кнопки стрелки-право,лево),другая вертикальная(кнопки стрелки-вверх,вниз)????
Добавлено (01.04.2010, 19:56) --------------------------------------------- ...блин Народ!!! Кто нить еще занимается созданием тем??? интересует как вывести панель на которой отображаются коментарии к выделеным пунктам меню...
Сообщение отредактировал NecroTYN - Вторник, 30.03.2010, 22:41
...блин Народ!!! Кто нить еще занимается созданием тем??? интересует как вывести панель на которой отображаются коментарии к выделеным пунктам меню...
http://greenflash.su/forum/2-492-1 Logo - это картинки. Это конечно не совсем то, но кто мешает нанести на картинки текст (или даже просто на фон, вырезанный из back.jpg). Привязка пункта меню к конкретному логотипу осуществляется прямо в menu.lst, так что все неудобство лишь в том что текст нужно будет "вбивать" в фотошопе.
Новая версия GFX-тем. Таймеры: - числовой - круговой - линейный (вертикальный/горизонтальный) Кроме собственно темы с кучей настроек прилагается модуль RIPPER-GFX для манипуляций с готовыми темами и подготовки флэшек. Настройки темы можно вынести в MENU.lst. Подробные инструкции в пакете. Помощь автора в реализации интересных задумок по модификации тем (расширение их функциональности).
Quote (JUDGE_DRED)
делаю по принципу минимализма
Неиспользуемые модули можно отключить. @DED-LEGO@ - конструктор для разработчиков GFX-тем ПОСМОТРЕТЬ
Покажите свой menu.lst или переименуйте его и сделайте новый menu.lst следующего содержания. GFXBOOT-тему положите в корень диска (на время, для эксперимента)
title 0-Restart menu.lst from current root device configfile /menu.lst
title 1-GRUB's commandline (Press ESC to return, type HELP for help) commandline
title 2-Current "root" status root geometry pause --wait=0 pause ************* Press any key to continue... *************** configfile /menu.lst
title 3-Get list of accessible devices find pause --wait=0 pause ************* Press any key to continue... *************** configfile /menu.lst
title 4-Get list of files for current root ls pause --wait=0 pause ************* Press any key to continue... *************** configfile /menu.lst
Возврат из командной строки в gfxboot - ESC Каждый из пунктов 2-4 выдает некоторую информацию о текущем root-устройстве, ждет нажатия клавиши и перезапускает меню. Если это работает, то давайте все же свой файл menu.lst
@DED-LEGO@ - конструктор для разработчиков GFX-тем ПОСМОТРЕТЬ
я взял старых пингвинов и заменил ядро, тема теперь работает. Насколько я понял это темы от necrotyn, другие его темы тоже не пашут. Скачал вашу тему, тоже нормально работает т.ч проблема явно не на моей стороне
Ксати, после того как таймер отсчитает положенное время и груб перезапустится, то фона уже нет и все в ероглифах. То же свамое происходит при переходе в другое меню
жалко только пока мало тем , особенно хотелось бы больше информативности т.е чтоб как в грубе верхняя часть высчивалась. И для первой (главной) страницы по шире и длинее место делать. Справочник могу в chm сделать. Вот только пока не вник где у него начало где конец, как-то не информативно. Впечатление что что-то пропущено. Про работу загадочного RIPPER-GFX в справочнике ничего не нашел, кроме: ОН ВСЕ УМЕЕТ!
я взял старых пингвинов и заменил ядро, тема теперь работает.
А что за ядро подсунули?
Quote (Erpoza)
Насколько я понял это темы от necrotyn, другие его темы тоже не пашут.
Разве NecroTYN здесь выкладывал какие-то темы? Если Вы не ошиблись, то можно прямо к нему обратиться. "Пингвинов", например, Timkaz выставлял. У меня "пингвины" запускались, правда я не помню, брал готовую или компилировал ее у себя.
Quote (Erpoza)
Ксати, после того как таймер отсчитает положенное время и груб перезапустится, то фона уже нет и все в ероглифах. То же свамое происходит при переходе в другое меню
Если приложенная Вами картинка показывает эту проблему с "иероглифами", то тут могу кое что пояснить. В COMMON (общей) части menu.lst (от начала до первой команды title) у Вас стоит запуск графической темы, например, gfxmenu /Penguins.gz а ниже расположена команда вызова splash, что-то вроде, splashimage=(hd0,0)/matrix.gz здесь используется шрифт от текстового режима, а версия же grub-a, скорее всего старая, которая не "понимает" кириллицу. Что касается вложенных меню, то в каждое меню нужно вставить команду запуска gfxboot. Ну, а если я ошибся, то давайте все таки посмотрим Ваше меню.
Quote (Erpoza)
жалко только пока мало тем , особенно хотелось бы больше информативности т.е чтоб как в грубе верхняя часть высчивалась.
Это не очень понятно, опишите, какую информацию хотите увидеть.
Quote (Erpoza)
для первой (главной) страницы по шире и длинее место делать.
А это - вообще не понятно ...
Quote (Erpoza)
Справочник могу в chm сделать. Вот только пока не вник где у него начало где конец, как-то не информативно. Впечатление что что-то пропущено. Про работу загадочного RIPPER-GFX в справочнике ничего не нашел, кроме: ОН ВСЕ УМЕЕТ!
Ну а это - в другой топик. Приходите сюда, во всем разберемся. Не будем запутывать участников форума. @DED-LEGO@ - конструктор для разработчиков GFX-тем ПОСМОТРЕТЬ
Сообщение отредактировал ded2007 - Пятница, 23.07.2010, 17:32
Разве NecroTYN здесь выкладывал какие-то темы? Если Вы не ошиблись, то можно прямо к нему обратиться
Я вобщем и не утверждаю, может и спутал. Просто попался архив с его ником, вот и подумал что он делал
Quote (ded2007)
Если приложенная Вами картинка показывает эту проблему с "иероглифами", то тут могу кое что пояснить. В COMMON (общей) части menu.lst (от начала до первой команды title) у Вас стоит запуск графической темы, например, gfxmenu /Penguins.gz а ниже расположена команда вызова splash, что-то вроде, splashimage=(hd0,0)/matrix.gz здесь используется шрифт от текстового режима, а версия же grub-a, скорее всего старая, которая не "понимает" кириллицу.
Вобщем с переключающимся меню разобрался. Переключение на страницы в utf8 и есть splashimage к сожаленю не пашет, только на dos. Отсюда думаю и косяки с перезагрузкой главного меню, хотя там splashimage нет.
Побороть ероглифы после перезагрузки груба пока не удалось
Версия груба хорошо видна на скрине, 4.5b. С кириллицей никогда таких проблем не было, пока не стал эксперементировать с gfxmenu темами
Quote (ded2007)
Это не очень понятно, опишите, какую информацию хотите увидеть
ту что есть на скрине вверху: версия груба, размер памяти и т.д
Quote (ded2007)
А это - вообще не понятно
Я, пока еще компиляцию не освоил, поэтому учусь разбирая чужие . Тему с пингвинами я взял из-за возможности настроить файл конфигурации: в нем можно задать x/y. В других темах я такого не обнаружил, разве что тема win7. Но к сожалению эти темы глючат и не работают
Сообщение отредактировал Erpoza - Суббота, 24.07.2010, 12:51
Возникла проблема в GFXMENU. Кто-нибудь знает, как у строчки "Выбранный пункт будет автоматически запущен через %d с" в самом низу экрана сделать обычный шрифт, по умолчанию он жирный???
Добавлено (27.08.2010, 10:41) --------------------------------------------- Дело оказывается не в шрифте. Одну секунду строчка отображается нормально, а потом смещается на несколько пикселей: смазанность и даёт эффект полужирного текста. Логично предположить, что надо что-нибудь поменять в timeout.inc. Но что?! Эмпирическим путём выяснил, что дело в строчках:
Нас интересуют числа 500 и 40. Они обозначают положение и размер обновляемой каждую секунду области: первое - отступ от левой границы экрана, второе - её протяжённость по горизонтали. Делаем, например, так:
То есть 600 пикселей от самой границы экрана. И вуаля никакой смазанности - текст абсолютно чёткий!
Добавлено (27.08.2010, 16:28) --------------------------------------------- Замечен маленький недостаток: поскольку вся строка находится в обновляемой области (с 0 до 600-го пикселя в моём случае), она иногда "моргает". Думаю, что по сравнению со смазанным текстом это пустяк.
Расшифрую, если не возражаете. В приведенном коде стирается старое изображение, точнее восстанавливается изображение из фоновой картинки.
timeout.s.x timeout.s.y moveto - встать в точку экрана с координатами (timeout.s.x, timeout.s.y). Судя по контексту это координаты числового таймера. НО! Посмотрите далее по тексту значение таймера выводится на экран командой show или все-таки showright? Думаю, что у Вас это что-то типа "%ds" timeout.s.buf sprintf timeout.s.x timeout.s.y moveto timeout.s.buf showright showright - вывести текст выравнивая ПРАВЫМ КРАЕМ по текущей позиции курсора. Это означает, что координаты timeout.s.x timeout.s.y задают не левый верхний (как мы привыкли), а правый-верхний угол прямоугольника с текстом "XXs". Запомним это.
500 0 rmoveto - переместиться от текущей точки на +500 (т.е. вправо на 500 пикселей) 0 (т.е. по вертикали не надо). Почему у Вас стоит именно 500 трудно сказать, скорее всего это результат предыдущих "модернизаций", поскольку дальнейшее ...
currentpoint 40 fontheight image - означает "запомнить текущее положение (для последующей команды image) и с текущей позиции восстановить прямоугольник фонового изображения размерами 40хВысота_Шрифта".
Восстановление идет в обычном режиме, т.е. вправо-вниз от текущей точки, значит нам нужен не правый-верхний а левый-верхний угол прямоугольника с текстом. Для этого и делатся "скачок rmoveto от точки (timeout.s.x; timeout.s.y)".
Для правильного стирания и вывода следующего значения числового таймера нужно оценить ширину прямоугольника из трех символов и указать это число и вместо 500 и вместо 40. ТОЛЬКО ВМЕСТО 500 УКАЗАТЬ ЧИСЛО СО ЗНАКОМ МИНУС! Так как нам нужно "скакать" не вправо а влево. Похоже, что ранее стояли числа -40 и 40, но "модернизаторы" подпортили все не разобравшись в ситуации.
Представляю как это было. Вместо timeout.s.x timeout.s.y moveto -40 0 rmoveto currentpoint 40 fontheight image "%ds" timeout.s.buf sprintf timeout.s.x timeout.s.y moveto timeout.s.buf showright
Увидели, что текст не стирается и стали играть с числами. А нужно было прикинуть ширину прямоугольника с текстом например 140 и указать timeout.s.x timeout.s.y moveto -140 0 rmoveto currentpoint 140 fontheight image "Осталось: %ds" timeout.s.buf sprintf timeout.s.x timeout.s.y moveto timeout.s.buf showright
3. Поиском по тексту находим образец "/main.input" (без кавычек разумеется) - это начало скрипта, обрабатывающего нажатия клавиш - открывающая фигурная скобка, идущая после указанного текста, показывает начало скрипта - закрывающая скобка, соответствующая данной (все фигурные скобки парные, поэтому удобно использовать редактор с подсветкой синтаксиса) сопровождена словом } def и расположена после блока dup 0 ne { pop 0 } if - внутри этого скрипта анализируются нажатия различных клавиш. Поскольку код нажатой клавиши сравнивается с кодами подлежащими обработке, то скрипт состоит из набора блоков "if", которые ограничены командами вида dup ПроверяемыйКОД eq { .... .... pop 0 } if
4. Если все вышесказанное понятно и Вы идентифицировали все блоки, то можно приступать к модификации скрипта. - НАЧАЛО СКРИПТА. Блок ... /main.input { dup 0 eq { return } if
- БЛОК keyUp... dup keyUp eq { menu.entry 0 gt { menu.entry false MenuSelect menu.entry menu.shift eq { /menu.shift menu.shift 1 sub def main.drawmenu } if /menu.entry menu.entry 1 sub def menu.entry true MenuSelect } if pop 0 } if
... заменяем на ... dup keyUp eq { menu.entry 0 gt { menu.entry false MenuSelect menu.entry menu.shift eq { /menu.shift menu.shift 1 sub def main.drawmenu } if /menu.entry menu.entry 1 sub def /s.repeat keyUp def % ded menu.entry true MenuSelect } if pop 0 } if
- БЛОК keyDown... dup keyDown eq { menu.entry menu.texts length 1 sub lt { menu.entry false MenuSelect menu.visible.entries menu.entry menu.shift sub sub 1 eq { /menu.shift menu.shift 1 add def main.drawmenu } if /menu.entry menu.entry 1 add def menu.entry true MenuSelect } if pop 0 } if
... заменяем на ... dup keyDown eq { menu.entry menu.texts length 1 sub lt { menu.entry false MenuSelect menu.visible.entries menu.entry menu.shift sub sub 1 eq { /menu.shift menu.shift 1 add def main.drawmenu } if /menu.entry menu.entry 1 add def /s.repeat keyDown def % ded menu.entry true MenuSelect } if pop 0 } if
- КОНЕЦ СКРИПТА. Блок ... dup 0 ne { pop 0 } if } def
... заменяем на ... dup 0 ne { pop 0 } if s.repeat 0 ne { menu.texts menu.entry get "---" eq { s.repeat main.input } { menu.entry true MenuSelect } ifelse } if % ded } def
5. "---" - это образец строк меню, которые должны пропускаться при движении вверх/вниз. Можете задать свой вариант, например 7 пробелов. Обратите внимание, что первый пробел после "title" служебный и не является частью строки меню. Совпадение должно быть точным, т.е. "---" и "--- " не одно и то же.
6. Сохраните изменения в main.inc, перекомпилируйте gfxboot тему, добавьте в menu.lst команды title --- configfile /menu.lst и тестируйте.
@DED-LEGO@ - конструктор для разработчиков GFX-тем ПОСМОТРЕТЬ
Сообщение отредактировал ded2007 - Воскресенье, 05.09.2010, 19:25