无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 45503|回复: 109
打印 上一主题 下一主题

[分享] 外部命令menuset 修改版

  [复制链接]
跳转到指定楼层
1#
发表于 2012-1-1 12:23:10 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
学习编译grub4dos外部命令,在zhaohj 大修改的menuset基础上试作修改作为练手,有兴趣者可以试用。
使用方法:
1:
menuset
不带参数,当debug 开启时,显示帮助信息。
2:
参数u
功能:恢复GRUB4DOS默认设置
sample:menuset u

3:
参数m
功能:居中
sample:
menuset m  n=0           取默认的宽度,取消线框
menuset m  w=40 n=1  横向居中,宽度40,线宽1
menuset m  w=40 h=10 n=1  横向纵向居中,宽度40,高度10,线宽1


4:
menuset var1 var2  var3 var4 var5 var6   旧式参数:必须严格顺序。
或者:
menuset x=var1 w=var2  y=var3 h=var4 b=var5 n=var6  新式参数:顺序个数均随意。
参数说明:
x:菜单起始列位置                            取值范围:2:(一行最大字符数-2)
w:菜单框所占列数                           取值范围:2:(一行最大字符数-2)
y:菜单起始行位置                            取值范围:2:(一屏最大行数-8)
h:菜单框所占行数                            取值范围:2:(一屏最大行数-8)
b:帮助信息起始行位置                      取值范围:(y+h):(一屏最大行数-4)
n:菜单框的线宽,0即取消线宽。
默认参数:2 0 2 0 0 2
除n外,其余参数如为0取默认值。




menuset.7z (3.49 KB, 下载次数: 1262)

[ 本帖最后由 zxw 于 2012-1-16 11:56 编辑 ]
推荐
 楼主| 发表于 2012-7-26 08:56:28 | 只看该作者
注释行的宽度不能单独设置,受限于菜单框的宽度。
回复

使用道具 举报

推荐
发表于 2012-1-5 08:21:20 | 只看该作者
原帖由 zxw 于 2012-1-4 22:36 发表
试试这个测试版,可以这样用:
menuset 4 50
或者:
menuset x=4 w=50

135428

老大,在QEMU下测试,W怎么改变都没变化呀
回复

使用道具 举报

推荐
 楼主| 发表于 2012-7-26 10:24:26 | 只看该作者

回复 #93 2011dyzyb 的帖子

已删掉……………………
回复

使用道具 举报

推荐
发表于 2012-7-26 10:17:04 | 只看该作者

回复 #10 zxw 的帖子

这个测试版不显示,怎么回事?
回复

使用道具 举报

推荐
发表于 2012-7-25 12:37:37 | 只看该作者

回复 #90 2011回忆爱情 的帖子

我也想知道怎么让其不自动换行?
回复

使用道具 举报

推荐
 楼主| 发表于 2012-1-5 11:19:42 | 只看该作者

回复 #13 zhs509 的帖子

呵,基本上差不多。我复制过来修改一下。
回复

使用道具 举报

推荐
发表于 2012-1-5 11:17:28 | 只看该作者
如果帖子1楼能加上详细参数介绍就更好了
就像zhaohj 的帖子一样

menuset var1 var2  var3 var4 var5 var6

参数说明:
var1:menu_box_x ,菜单框左上角开始的x坐标
var2:menu_box_w,菜单框的宽度。
var3:menu_box_y,菜单框左上角开始的y坐标
var4:menu_box_h,菜单框的高度。
var5:menu_box_b,菜单帮助信息的y坐标,0表示
var6:border_w    ,菜单框的线宽,0即取消线宽。
默认参数:2 0 2 0 0 2
参数是负数取默认值
menu_box_h=0 默认是屏幕底部-6
menu_box_b=0 取grub4dos默认规定

例子:
menuset -1 -1 -1 -1 -1 0  //取消线框
menuset 10 50 10 -1 -1 1  //线框x=10 宽度=50 线框y=10 线宽=1
回复

使用道具 举报

推荐
 楼主| 发表于 2012-1-5 11:13:37 | 只看该作者

回复 #11 kafen 的帖子

更新了一下,详见1#帖子。
回复

使用道具 举报

推荐
 楼主| 发表于 2012-1-1 13:23:22 | 只看该作者
修复只输入第一个参数时未作检测的bug.
回复

使用道具 举报

推荐
 楼主| 发表于 2012-1-1 13:22:26 | 只看该作者

回复 #2 Plantsoot 的帖子

有第2个参数(设置框体宽度)且合法,但第一个参数为0或非法时,则横向居中。
回复

使用道具 举报

110#
发表于 2022-8-7 18:20:50 | 只看该作者
谢谢分享
回复

使用道具 举报

109#
发表于 2022-7-5 14:55:25 来自手机 | 只看该作者
g4d,g4e内部早就有了菜单编辑函数,且功能强大。现在又挖出这个过时贴子..........
回复

使用道具 举报

108#
发表于 2022-7-5 14:34:55 | 只看该作者
什么时候能用在GRUB4DOS for UEFI上,期待
回复

使用道具 举报

107#
发表于 2020-11-8 22:00:55 | 只看该作者
试试看,效果如何?
回复

使用道具 举报

106#
发表于 2014-12-9 18:22:46 | 只看该作者
在QEMU下测试,看不到改变?
回复

使用道具 举报

105#
发表于 2013-11-6 08:30:21 | 只看该作者
试试
回复

使用道具 举报

104#
发表于 2013-11-5 08:46:55 来自手机 | 只看该作者
努力学习,以后也把背景加载换成vbe模式。。
回复

使用道具 举报

103#
发表于 2013-10-31 23:04:57 | 只看该作者
有点深奥 还是顶一下
回复

使用道具 举报

102#
 楼主| 发表于 2013-3-22 08:34:51 | 只看该作者
呵,承蒙c大高看,因为我工作比较忙,尽量抽时间学习。
回复

使用道具 举报

101#
发表于 2013-3-21 11:29:59 | 只看该作者
有没有考虑开发新的外部命令呀,嘿嘿..

可以把一些常用的以前用批处理实现的功能,想办法用外部命令实现.

接触得多了慢慢就对GRUB4DOS开发熟悉了,以后也可以帮助GRUB4DOS开发...
回复

使用道具 举报

100#
 楼主| 发表于 2013-3-21 11:06:24 | 只看该作者
这个是纯外部命令,包内menuset.c是源代码。
回复

使用道具 举报

M
99#
发表于 2013-3-20 15:57:54 | 只看该作者
menuset使用什么工具编辑呀?打开是乱码。
回复

使用道具 举报

98#
 楼主| 发表于 2012-12-11 11:29:01 | 只看该作者

回复 #97 2011hanlif 的帖子

呵,自己使用的问题吧?…………
回复

使用道具 举报

97#
发表于 2012-12-11 10:07:07 | 只看该作者
菜单的文字显示不出来了,帮助信息却有
回复

使用道具 举报

96#
 楼主| 发表于 2012-11-8 09:51:31 | 只看该作者

回复 #95 2012jiki4 的帖子

谢谢知道?什么意思?
回复

使用道具 举报

95#
发表于 2012-11-8 08:52:28 | 只看该作者

回复 #1 zxw 的帖子

不错,谢谢知道,要不也不知道怎么回事
回复

使用道具 举报

90#
发表于 2012-7-19 12:12:35 | 只看该作者
那個 自訂的 幫助訊息 好像會自動換行..

如:

title [05] SPFDisk \n (2000-03v)(繁體版)磁碟工具


(2000-03v)(繁體版)磁碟工具  (會自動切成兩排

使用參數 menuset m w=40 n=1
回复

使用道具 举报

89#
发表于 2012-7-17 19:47:58 | 只看该作者
好像不能在UD中使用?
回复

使用道具 举报

88#
 楼主| 发表于 2012-3-28 10:35:52 | 只看该作者

回复 #87 2011lanwenbin 的帖子

倒计时与menuset无关。看看你否写有timeout 5之类的语句。
回复

使用道具 举报

87#
发表于 2012-3-27 12:10:18 | 只看该作者
为什么当我选择一下菜单的时候有默认5秒的倒计时。
回复

使用道具 举报

86#
发表于 2012-1-25 23:45:35 | 只看该作者
**,太给力了
又更新了
回复

使用道具 举报

85#
发表于 2012-1-18 10:01:01 | 只看该作者
我的背景图不是单色的,但是这样设置之后,一样看不到版本信息那一行,而且那一行位置也不会变黑,背景图完全正常。
回复

使用道具 举报

84#
发表于 2012-1-17 21:15:37 | 只看该作者
原帖由 xianglang 于 2012-1-17 19:44 发表
要不显示版本信息,在VBE图形模式下,将版本信息的颜色设置成black/black就行了——不过我还是喜欢显示版本信息,嘿嘿……


这个说法不算严谨,应该是看版本信息区的设置。总之,设置成背景/前景是同一种颜色就行,只是这种设置对背景图像要求严格,至少在版本信息区的背景图应为所设置的单色才成。
回复

使用道具 举报

83#
发表于 2012-1-17 19:44:23 | 只看该作者
要不显示版本信息,在VBE图形模式下,将版本信息的颜色设置成black/black就行了——不过我还是喜欢显示版本信息,嘿嘿……
回复

使用道具 举报

82#
 楼主| 发表于 2012-1-17 14:46:34 | 只看该作者

回复 #81 hhh333 的帖子

版本信息的显示,均是在grub4dos初始化阶段完成的,内核没有开放并提供相应接口,任何外部命令或批处理均不能赶在初始化之前运行。
除了在initscript上作点文章,而initscript 局限于在菜单初始化时使用,且貌似不接受外部命令。目前,暂时只能这样使用:
运行menuset后,再执行
initscript (md)0x200+1

========================================
实际上并没有真正清除版本信息,只是在显示屏上将之用空格覆盖而已。在稍慢的电脑上,会看到版本信息,然后被“清除”了。

[ 本帖最后由 zxw 于 2012-1-17 15:10 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-3 05:23

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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