无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 2011yaya2007777

[发布] 增强 GRUB4DOS 菜单编辑功能,支持动画,支持精简字库,支持图形菜单

    [复制链接]
发表于 2016-5-14 17:15:53 | 显示全部楼层
本帖最后由 netmjwork 于 2016-5-14 17:29 编辑
2011yaya2007777 发表于 2016-5-9 21:08
--box x=5 w=0 y=3 h=18 l=0
修改为
--box x=5 w=0 y=3 h=26 l=0


还有个问题请教yaya大师:

在修改设置1024分辨率图片(graphicsmode -1 1024)、以及替换1024分辨率图片之后,为什么原来的菜单在新的分辨率下不能等比例位置显示了?

比如菜单:title ^e \t\t\t\t\t启动 test.img   \n\t\t\t\t\t  请按 e 启动
按说这个菜单应该是屏幕居中的(800*600分辨率图片正常居中),但实际显示的位置还是800*600分辨率图片的位置,整体菜单偏左上方显示,就像从左上角开始显示了一个800*600的图片,然后其余的用背景色填充一样,是菜单还需要修改哪里吗?

我只是修改了两个地方:1、graphicsmode -1 1024修改为1024分辨率
                                 2、替换原来的tu.jpg为1024分辨率图片
回复

使用道具 举报

 楼主| 发表于 2016-5-14 17:53:17 | 显示全部楼层
本帖最后由 2011yaya2007777 于 2016-5-14 17:57 编辑

字符在菜单的位置,是由菜单起始(x,y)以及字符的高宽确定。比如16*16字符,800分辨率1行可以显示50个,1024可以显示64个。
调整了屏幕分辨率,菜单尺寸需全部调整,甚至字体尺寸也应当增大,比如使用24*24字体。
自己DIY,需要多实践。
回复

使用道具 举报

发表于 2016-8-10 21:50:19 | 显示全部楼层
本帖最后由 20160618 于 2016-8-10 21:55 编辑

G4D学习过程中遇到的几个疑问  请教大师

测试环境:virtual pc 2007   测试版本:grub4dos-0.4.6a-2016-07-04   menu.lst如下:

debug off

timeout 120

default 18

command --set-path=%@root%/BOOT/GRUB/

splashimage /BOOT/GRUB/BG.jpg

graphicsmode -1 800

font /BOOT/GRUB/UNIFONT.HEX

color normal=0x1F highlight=0xE1 helptext=0xff9900

setmenu --font-spacing=0:3

setmenu --ver-off --box x=37 w=0 y=6 l=0

setmenu --help=0=0=25 --timeout=65=24=0xff9900

title 01  Windows  零  PE  中文版
command SRUN /BOOT/IMGS/0pe.iso
title
clear

title 02  Windows  03  PE  珍藏版
if not exist /WXPE/SETUPLDR.BIN && find --set-root /WXPE/SETUPLDR.BIN
chainloader /WXPE/SETUPLDR.BIN
title
clear

title 03  Windows  10  PE  维护版
boot
title
clear

title 04  Porteus  3.2  Plus i586
boot
title
clear

title 05  Diskgenius 4.5 磁盘分区
find --set-root /boot/imgs/dg.img
map --mem /boot/imgs/dg.img (fd0)
map --rehook
chainloader (fd0)+1
rootnoverify (fd0)
title
clear

title 06  Memtest86+ 4.2 内存检测
find --set-root /boot/imgs/memtest.img
map --mem /boot/imgs/memtest.img (fd0)
map --rehook
chainloader (fd0)+1
rootnoverify (fd0)
title
clear

title 07  Maxdos  7  Plus  工具箱
find --set-root /boot/imgs/maxdos.img
map --mem /boot/imgs/maxdos.img (fd0)
map --rehook
chainloader (fd0)+1
rootnoverify (fd0)
title
clear

title 08  Run  Functional  Module
command srun --autolist
boot
title
clear

title 09  Load Windows  BCD  Menu
chainloader /bootmgr
title
clear

title 10  Boot From The Hard Disk
find --set-root --devices=h /Windows/System32/winload.exe || find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --devices=h /Windows/System32/winload.exe || find --set-root --devices=h /ntldr || find --set-root --devices=h /bootmgr
chainloader /bootmgr || chainloader /ntldr


Q1   setmenu 对倒计时有条件限制 ?

timeout小于99秒时正常

见图 timeout 120    设置到百位秒后倒计时显示错误。
个位秒数倒计为0后显示不消失。
从默认菜单选择到其它菜单时个位数时间显示不消失。

1.jpg

Q2   执行没有内容的空菜单(VPC2007不支持)3或4,返回时是下图错误画面。
另,Setmenu --font-spacing=0:1 时
帮助文本最下一行同上图,余行同下图。

2.jpg

Q3  如何设置setmenu才能让帮助和命令显示完整内容?

帮助部分可以加几个说明汉字。但文字不能太多,否则会自动换行。
按E 后的命令行呢?

3.jpg

Q4 数字键选择问题
为增大行距,每个菜单后插入了一空行(最后一个菜单没有),总计19个TITILE

数字键1 选择第一项菜单。为什么数字键0也是选择第一项菜单呢?
数字键1 再按其它数字键如8,这时选择18也是对的。
数字键1 后,3分钟再按其它数字键如8,还是选择18 ?

Q5 初始化命令组有没有一个合理的顺序
学习各位大师的menu.lst,初始化命令写法各样,也运行的非常完美,表明G4D即灵活又强悍,但 color  default  graphicsmode  splashimage  font  timeout等命令,如何排序才算是合情合理呢?

肯请老师赐教。
回复

使用道具 举报

 楼主| 发表于 2016-8-11 08:16:28 | 显示全部楼层
Q1   setmenu 对倒计时有条件限制 ?

是的,最大99秒
Q2   执行没有内容的空菜单(VPC2007不支持)3或4,返回时是下图错误画面。
另,Setmenu --font-spacing=0:1 时
帮助文本最下一行同上图,余行同下图。

既然设置了空标题,就不要设置 setmenu --font-spacing=0:3
Q3  如何设置setmenu才能让帮助和命令显示完整内容?

setmenu --help=8=0=25
Q5 初始化命令组有没有一个合理的顺序

color  default  graphicsmode  splashimage  font  timeout 这些命令要在菜单项目前面。
其中 graphicsmode 要在  splashimage 和  font  之前。其他无所谓。
回复

使用道具 举报

发表于 2016-8-11 21:59:41 | 显示全部楼层
本帖最后由 20160618 于 2016-8-11 22:00 编辑

感谢yaya大师

还有一问:黄黄的选择条的如何去除?

是用--highlight-short参数吗?您的示例菜单上也没加这个参数,怎么就去除了呢?
回复

使用道具 举报

 楼主| 发表于 2016-8-12 08:27:40 | 显示全部楼层
去除 highlight=0xE1
回复

使用道具 举报

发表于 2016-8-12 15:19:45 | 显示全部楼层
我的错,早上的时间,自己看了一下,调整过来了。再次感谢YAYA老师。
回复

使用道具 举报

发表于 2016-8-12 16:19:53 | 显示全部楼层
uppppppppppppppppppppppppppppp l锚n nao ^^
回复

使用道具 举报

发表于 2016-12-26 09:17:55 | 显示全部楼层
顶起!!!!!!!!!!!!!!!!!!
回复

使用道具 举报

发表于 2016-12-26 09:21:00 | 显示全部楼层
                                                                                                           .好!!!!               顶!!!!!
回复

使用道具 举报

发表于 2017-6-8 08:42:32 | 显示全部楼层
本帖最后由 2012the 于 2017-6-8 12:48 编辑

大神,请问新版的grub4dos(2017),菜单不能延伸到下半部分吗?
无标题.png
TIM截图20170608124244.png
回复

使用道具 举报

 楼主| 发表于 2017-6-8 17:48:05 | 显示全部楼层
你的意思是不要菜单帮助,用菜单项目延伸覆盖?
h=18 或者 h=19
--help=24=0=20

点评

关于字体大小问题,是不是更换字体包? M大的工具mbrostool生成的菜单,就是字体有点小,他叫我来问你 怎么解决这个问题。 [attachimg]351652[/attachimg]  详情 回复 发表于 2017-8-16 16:21
回复

使用道具 举报

发表于 2017-8-1 20:49:13 | 显示全部楼层
马克
回复

使用道具 举报

发表于 2017-8-1 23:27:57 | 显示全部楼层
马克
回复

使用道具 举报

发表于 2017-8-16 16:21:28 | 显示全部楼层
2011yaya2007777 发表于 2017-6-8 17:48
你的意思是不要菜单帮助,用菜单项目延伸覆盖?
h=18 或者 h=19
--help=24=0=20



关于字体大小问题,是不是更换字体包?
M大的工具mbrostool生成的菜单,就是字体有点小,他叫我来问你
怎么解决这个问题。
55.png


回复

使用道具 举报

 楼主| 发表于 2017-8-16 17:35:48 来自手机 | 显示全部楼层
更换中文字库文件,选择大字体。然后设置菜单,如    font --font-high=24 /24.hex

点评

这个字库在哪里下载?详细说说怎么操作?  详情 回复 发表于 2017-8-16 19:01
回复

使用道具 举报

发表于 2017-8-16 19:01:40 | 显示全部楼层
2011yaya2007777 发表于 2017-8-16 17:35
更换中文字库文件,选择大字体。然后设置菜单,如    font --font-high=24 /24.hex

这个字库在哪里下载?详细说说怎么操作?
回复

使用道具 举报

 楼主| 发表于 2017-8-16 19:33:29 来自手机 | 显示全部楼层
在本板块搜一搜,有好几个制作软件。
回复

使用道具 举报

发表于 2017-9-16 12:08:55 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2017-10-21 15:32:20 | 显示全部楼层
下来学习,谢谢楼主分享。
回复

使用道具 举报

 楼主| 发表于 2017-12-5 18:46:53 | 显示全部楼层
增强颜色赋值功能。修正color及echo帮助信息。
回复

使用道具 举报

发表于 2017-12-25 11:49:13 | 显示全部楼层
进来学习一下,
回复

使用道具 举报

发表于 2018-1-22 10:19:29 | 显示全部楼层
收藏学习
回复

使用道具 举报

发表于 2018-1-22 20:36:38 | 显示全部楼层
学习学习
回复

使用道具 举报

发表于 2018-2-16 13:31:27 | 显示全部楼层
回复

使用道具 举报

发表于 2018-2-17 20:24:42 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2018-2-20 11:22:50 | 显示全部楼层
增强菜单项目脚本处理。比如可使用  goto :label
回复

使用道具 举报

 楼主| 发表于 2018-3-15 08:40:48 | 显示全部楼层
2018-03-15  增强 setmenu --string 函数功能
   --string=[X]=[-]Y=COLOR="STRING"
    没有X, 表示水平居中.
    -Y表示从菜单底部计数.  -0就是最后一行.
回复

使用道具 举报

 楼主| 发表于 2018-6-12 09:10:08 | 显示全部楼层
1. 增加 beep 函数,播放音乐。
2. 改善图像透明背景的算法。
3. 修改 grub_memmove 函数,提高运算速度。
4. 修正 map 函数中碎片映射的错误。
回复

使用道具 举报

 楼主| 发表于 2018-7-14 14:02:23 | 显示全部楼层
增加 setmenu --triangle-on --triangle-off 参数,打开/关闭菜单三角形指示器。默认打开。
增加 setmenu --middle-align 参数。菜单项目及菜单项目帮助居中。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-3-29 07:53

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表