前两天在360图书管上发现了一篇介绍minigui3.0 的配置文件非常详细的帖子,本着分类归档的思想,把它搬到了优快云上,供大家学习参考:
5、MiniGUI V3.0 配置详解
本章介绍 MiniGUI 3.0 的运行时配置选项,包括运行时配置文件、环境变量等。
5.1 建立 MiniGUI V3.0 运行环境的前提
运行 MiniGUI 3.0 的操作系统需要满足一些前提条件:
- 支持 POSIX1.X 的 UNIX 系统。这包括 Linux 2.4 和 2.6 等,也包括 uClinux 等非标准 Linux 系统。
- MiniGUI-Process 的运行需要系统提供 System V 的如下进程间通讯机制:共享内存和信号量。
- 运行 MiniGUI-Processes 需要 UNIX 域套接字机制的支持。
- 运行 MiniGUI-Threads 需要 POSIX 兼容线程库的支持。
5.2 MiniGUI.cfg说明
运行时配置选项影响 MiniGUI 的一些运行行为,比如要使用的图形引擎或者输入引擎;要装载的设备字体;要装载的位图、光标资源等等。我们已经了解到,MiniGUI 的运行时配置一般是通过配置文件(MiniGUI.cfg)指定的,但在使用内建资源方式配置并编译 MiniGUI 后,运行时配置选项将直接编译到函数库中,配置文件 MiniGUI.cfg 文件将不起作用。在 MiniGUI 应用程序启动时,MiniGUI 优先查找当前目录下的 MiniGUI.cfg 文件、用户主目录下的 .MiniGUI.cfg 文件,其次是 /usr/local/etc/MiniGUI.cfg,最后是 /etc/MiniGUI.cfg 文件。如果用户没有在当前目录及自己的主目录下建立对应的 MiniGUI.cfg 文件,则通常情况下,/usr/local/etc/MiniGUI.cfg 文件就是 MiniGUI 所使用的默认运行时配置文件。下边章节会先描述使用配置文件时的运行时配置选项,之后描述如何在内建资源方式下指定运行时配置选项。
5.2.1 配置文件MiniGUI.cfg格式简介
配置文件采用了非常简洁的格式,所以修改起来也很容易。其格式如下:
[section-name1] key-name1=key-value1 key-name2=key-value2 [section-name2] key-name3=key-value3 key-name4=key-value4
5.2.2 system段
该段指定了MiniGUI 运行时使用的输入输出引擎以及鼠标设备和协议类型。指定的输入输出引擎必须是编译配置MiniGUI库时多个引擎中的一个。
该段定义如下键:
- gal_engine:指定使用的图形引擎
- defaultmode:指定图形引擎的显示模式,格式为:宽x高-显示位数(bpp)
- ial_engine:指定使用的输入引擎
- mdev:指定鼠标设备文件
- mtype:指定鼠标协议类型
MiniGUI.cfg文件system段内容如下:
[system] # GAL engine and default options gal_engine=qvfb defaultmode=800x600-16bpp # IAL engine ial_engine=qvfb mdev=/dev/input/mice mtype=IMPS2
5.2.3 图形引擎配置段
fbcon段
该段是在[system]段gal_engine的键值指定为fbcon时使用,表示运行fbcon时使用的显示模式。若该段未定义或键值为空,则使用[system]段定义的键值。该段只包含一个defaultmode键,具体含义和[system]段相同:defaultmode:指定图形引擎的显示模式,格式为:宽x高-显示位数(bpp)
[fbcon] defaultmode=1024x768-16bpp
qvfb段
该段是在[system]段 gal_engine 的键值指定为 qvfb 时使用,表示运行 qvfb 时使用了XWindow 的哪个 display 及显示模式。该段定义如下键,具体含义如下:
- defaultmode:指定图形引擎的显示模式,格式为:宽x高-显示位数(bpp)
- display:运行 qvfb 时使用 X Window 的哪个 display,一般取 0。
MiniGUI.cfg 文件 qvfb 段内容如下:
[qvfb] defaultmode=640x480-16bpp display=0
pc_xvfb 段
该段是在 [system] 段 gal_engine 的键值指定为 pc_qvfb 时使用,表示 pc_xvfb 的程序路径、显示模式以及窗口标题栏文字。Pc_xvfb 是在 PC 机上使用的一种图形引擎模式。该段定义如下键,具体含义如下:
- Defaultmode:指定图形引擎的显示模式,格式为:宽x高-显示位数(bpp)
- window_caption:标题栏文字
- exec_file:图形引擎程序的安装路径
MiniGUI.cfg文件pc_xvfb段内容如下:
[pc_xvfb] defaultmode=1024x768-16bpp window_caption=XVFB-for-MiniGUI-3.0-(Qt-Version) exec_file=/usr/local/bin/qvfb2
rtos_xvfb 段
该段是在 [system] 段 gal_engine 的键值指定为 rtos_qvfb 时使用,表示 rtos_xvfb 的显示模式。rtos_xvfb 是在嵌入式系统上使用的一种图形引擎模式。
该段定义如下键,具体含义如下:
- Defaultmode:指定图形引擎的显示模式,格式为:宽x高-显示位数(bpp)
MiniGUI.cfg 文件 rtos_xvfb 段内容如下:
[rtos_xvfb] defaultmode=800x600-16bpp
shadow 段
该段是在 [system] 段 gal_engine 的键值指定为 shadow 时使用,表示 shadow 的真实引擎、默认模式以及屏幕旋转模式。该段定义如下键,具体含义如下:
- real_engine: 真实图形引擎,可为: pc_xvfb , qvfb
- defaultmode:指定图形引擎的显示模式,格式为:宽x高-显示位数(bpp)
- rotate_screen: 指定屏幕是否旋转,值可为: normal ,cw , ccw , hflip , vflip 。
MiniGUI.cfg 文件 shadow 段内容如下:
[shadow] real_engine=pc_xvfb defaultmode=800x600-16bpp rotate_screen=normal
mlshadow 段
该段是在 [system] 段 gal_engine 的键值指定为 mlshadow 时使用,表示 mlshadow 的真实引擎、默认模式、屏幕背景颜色以及刷屏时是否使用双缓冲。该段定义如下键,具体含义如下:
- real_engine:真实图形引擎,可为: pc_xvfb , qvfb
- defaultmode:指定图形引擎的显示模式,格式为:宽x高-显示位数(bpp)
- def_bgcolor: 指定背景颜色,如:0x00FF00
- double_buffer: 刷屏时是否使用双缓冲,值可为enable , disable 。
MiniGUI.cfg文件mlshadow段内容如下:
[mlshadow] real_engine=qvfb defaultmode=800x600-16bpp def_bgcolor=0x00FF00 double_buffer=enable
5.2.4 字体配置段
systemfont 段
该段定义了 MiniGUI 的系统字体和字体个数。并定义了系统默认使用的字体,用于 MiniGUI 的标题、菜单、控件的显示。系统字体是 MiniGUI 装载了由 rawbitmapfonts、 varbitmapfonts、 qpf、 upf、 truetypefonts 等段定义的设备字体之后,根据上述字体名称调用 CreateLogFontByName 函数建立的逻辑字体。
逻辑字体名称的格式如下:
<type>-<facename>-<style>-<width>-<height>-<charset1>
逻辑字体名称各部分的含义如下:
- type 是所选用的设备字体类型,如果不想指定,则用 * 代替。
- facename 指字体样式名,比如 Courier、 Times 等等。
- style 是由六个字母组成的字符串,用来指定逻辑字体风格,比如是否加粗、是否斜体、是否对字体做镜像处理、是否自动放大、是否含有下划线或者删除线等等。
- width 指定要创建的逻辑字体的宽度。如果不想指定,则用 * 代替。
- height 指定要创建的逻辑字体的高度。
- charset 指定要创建的逻辑字体的字符集。
MiniGUI 的许多窗口元素尺寸是根据系统字体的大小定义的,详情请参阅下面对 mainwinmetric 段的说明。
此外,从 MiniGUI V2.0.3/1.6.9 版本开始 MiniGUI 还提供了字体的自动放大功能,以便将点阵字体适当放大来匹配逻辑字体所要求的大小。使用该功能的方法非常简单,请在指定逻辑字体风格时,在第四个字符处使用大写的“S”字母。注意,如果您要使用矢量字体类型,比如 TrueType 字体,则不需要指定该风格,因为矢量字体可以根据逻辑字体的期望大小生成对应的字体字模。
该段定义了如下键:
- font_number:指定了要创建的逻辑字体个数。
- font:表示编号为 的逻辑字体名称。
- default:系统(单字节字符集)默认字体,键值为上述逻辑字体编号。
- wchar_def:多字节字符集使用的字体,键值为上述逻辑字体编号。
- fixed:等宽字符集使用的字体,键值为上述逻辑字体编号。
- caption:窗口标题使用的字体,键值为上述逻辑字体编号。
- menu:菜单使用的字体,键值为上述逻辑字体编号。
- control:控件的字体,键值为上述逻辑字体编号。
可以修改要创建的系统字体个数,但至少要创建一种单字节字符集(比如 ISO8859-1)的字体。
MiniGUI 根据 default、wchar_def 系统字体来定义系统的默认字符集,这影响 GetSysCharset、 GetSysCharWidth、 GetSysCCharWidth 和 GetSysHeight 函数的返回值。一般来讲,default 和 wchar_default 必须是等宽点阵字体,即 RBF 字体,并且多字节字符集字体的宽度必须是单字节字符集宽度的两倍。
MiniGUI.cfg 文件 systemfont 段内容如下:
# The first system font must be a logical font using RBF device font. [systemfont] font_number=6 font0=rbf-fixed-rrncnn-8-16-ISO8859-1 font1=*-fixed-rrncnn-*-16-GB2312 font2=*-Courier-rrncnn-*-16-GB2312 font3=*-SansSerif-rrncnn-*-16-GB2312 font4=*-Times-rrncnn-*-16-GB2312 font5=*-Helvetica-rrncnn-*-16-GB2312 default=0 wchar_def=4 fixed=1 caption=4 menu=2 control=3
rawbitmapfonts、varbitmapfonts、upf、qpf、truetypefonts段
这些段用来指定要装载的设备字体信息。定义了要装载的设备字体个数,每个设备字体名称及对应的设备字体文件。
MiniGUI 使用的设备字体名称格式如下:
<type>-<facename>-<style>-<width>-<height>-<charset1[,charset2,...]>
设备字体名称各部分的含义如下:
- type 是设备字体类型,对 RBF、VBF、QPF、UPF、TrueType 设备字体,分别取 rbf、vbf、qpf、upf和ttf。
- facename 指设备字体的样式名,比如 Courier、Times 等等。
- style 是由六个字母组成的字符串,用来指定字体风格,比如是否加粗、是否斜体、是否含有下划线或者删除线等等。通常这六个字母取“rrncnn”。
- width 表示字体的宽度。对变宽字体来讲,用来指定最大宽度。对可缩放的矢量字体来讲,设置为 0。
- height 表示字体的高度。对可缩放的矢量字体来讲,设置为 0。
- charset1、charset2 等,表示该设备字体所支持的字符集。
- 每个段均包含font_number、name 和 fontfile等键:
- font_number:装载的设备字体个数
- name:编号为的设备字体名称
- fontfile:编号为的设备字体文件
如果不想装载某个类型的设备字体,则可以通过设置对应段的font_number 为 0 来跳过对这种设备字体的装载。
MiniGUI.cfg 文件这些段配置示例如下:
[rawbitmapfonts] font_number=4 name0=rbf-fixed-rrncnn-8-16-ISO8859-1 fontfile0=/usr/local/lib/minigui/res/font/8x16-iso8859-1.bin name1=rbf-fixed-rrncnn-16-16-GB2312-0 fontfile1=/usr/local/lib/minigui/res/font/song-16-gb2312.bin name2=rbf-fixed-rrncnn-6-12-ISO8859-1 fontfile2=/usr/local/lib/minigui/res/font/6x12-iso8859-1.bin name3=rbf-fixed-rrncnn-12-12-GB2312-0 fontfile3=/usr/local/lib/minigui/res/font/song-12-gb2312.bin [varbitmapfonts] font_number=6 name0=vbf-Courier-rrncnn-8-13-ISO8859-1 fontfile0=/usr/local/lib/minigui/res/font/Courier-rr-8-13.vbf name1=vbf-Helvetica-rrncnn-11-12-ISO8859-1 fontfile1=/usr/local/lib/minigui/res/font/Helvetica-rr-11-12.vbf name2=vbf-Times-rrncnn-10-12-ISO8859-1 fontfile2=/usr/local/lib/minigui/res/font/Times-rr-10-12.vbf name3=vbf-Courier-rrncnn-10-15-ISO8859-1 fontfile3=/usr/local/lib/minigui/res/font/Courier-rr-10-15.vbf name4=vbf-Helvetica-rrncnn-15-16-ISO8859-1 fontfile4=/usr/local/lib/minigui/res/font/Helvetica-rr-15-16.vbf name5=vbf-Times-rrncnn-13-15-ISO8859-1 fontfile5=/usr/local/lib/minigui/res/font/Times-rr-13-15.vbf [upf] font_number=6 name0=upf-fmsong-rrncnn-12-12-ISO8859-1,ISO8859-15,GB2312-0,BIG5,GBK,UTF-8,UTF-16LE,UTF-16BE fontfile0=/usr/local/share/minigui/res/font/fmsong-latin-12.upf name1=upf-fmkai-rrncnn-14-14-ISO8859-1,ISO8859-15,GB2312-0,UTF-8,UTF-16LE,UTF-16BE fontfile1=/usr/local/share/minigui/res/font/fmkai-latin-14.upf name2=upf-fmfsong-rrncnn-15-15-ISO8859-1,ISO8859-15,GB2312-0,UTF-8,UTF-16LE,UTF-16BE fontfile2=/usr/local/share/minigui/res/font/fmfsong-latin-15.upf name3=upf-fmsong-rrncnn-16-16-ISO8859-1,ISO8859-15,GB2312-0,BIG5,GBK,UTF-8,UTF-16LE,UTF-16BE fontfile3=/usr/local/share/minigui/res/font/fmsong-latin-16.upf name4=upf-fmkai-rrncnn-18-18-ISO8859-1,ISO8859-15,GB2312-0,UTF-8,UTF-16LE,UTF-16BE fontfile4=/usr/local/share/minigui/res/font/fmkai-latin-18.upf name5=upf-fmhei-rrncnn-20-20-ISO8859-1,ISO8859-15,GB2312-0,BIG5,GBK,UTF-8,UTF-16LE,UTF-16BE fontfile5=/usr/local/share/minigui/res/font/fmhei-latin-20.upf [qpf] font_number=3 name0=qpf-unifont-rrncnn-16-16-ISO8859-1,ISO8859-15,GB2312-0,GBK,BIG5 fontfile0=/usr/local/lib/minigui/res/font/unifont_160_50.qpf name1=qpf-times-rrncnn-5-10-ISO8859-1,ISO8859-15 fontfile1=/usr/local/lib/minigui/res/font/smoothtimes_100_50.qpf name2=qpf-helvetica-rrncnn-5-10-ISO8859-1,ISO8859-15 fontfile2=/usr/local/lib/minigui/res/font/helvetica_100_50.qpf name3=qpf-micro-rrncnn-4-4-ISO8859-1,ISO8859-15 fontfile3=/usr/local/lib/minigui/res/font/micro_40_50.qpf [truetypefonts] font_number=3 name0=ttf-arial-rrncnn-0-0-ISO8859-1 fontfile0=/usr/local/lib/minigui/res/font/arial.ttf name1=ttf-times-rrncnn-0-0-ISO8859-1 fontfile1=/usr/local/lib/minigui/res/font/times.ttf name2=ttf-pinball-rrncnn-0-0-ISO8859-1 fontfile2=/usr/local/lib/minigui/res/font/pinball.ttf
5.2.5 mouse段
该段定义了鼠标双击间隔时间。用于系统的内部事件处理,一般无须作任何改动。该段定义了如下键:- dblclicktime:指定了双击间隔时间,单位毫秒
[mouse] dblclicktime=300
5.2.6 event段
该段定义了底层事件的超时时间和自动重复事件时间。用于系统的内部事件处理,一般无须作任何改动。该段定义了如下键:- timeoutusec:事件超时时间,单位微秒
- repeatusec:重复事件时间,单位微秒
timeoutusec=300000 repeatusec=50000
5.2.7 cursorinfo段
该段指定了 MiniGUI 要装载的鼠标光标相关信息。如果在编译配置 MiniGUI 时使用了 --disable-cursor 选项,则 MiniGUI 会忽略 cursorinfo 段。该段定义如下键:
- cursorpath:指定光标所在路径
- cursornumber:指定装载的光标个数,可通过减少个数并删除对应光标减少 MiniGUI 的存储空间占用量
- cursor:指定编号为的光标
[cursorinfo] # Edit following line to specify cursor files path cursorpath=/usr/local/share/minigui/res/cursor/ cursornumber=23 cursor0=d_arrow.cur cursor1=d_beam.cur cursor2=d_pencil.cur cursor3=d_cross.cur cursor4=d_move.cur cursor5=d_sizenwse.cur cursor6=d_sizenesw.cur cursor7=d_sizewe.cur cursor8=d_sizens.cur cursor9=d_uparrow.cur cursor10=d_none.cur cursor11=d_help.cur cursor12=d_busy.cur cursor13=d_wait.cur cursor14=g_rarrow.cur cursor15=g_col.cur cursor16=g_row.cur cursor17=g_drag.cur cursor18=g_nodrop.cur cursor19=h_point.cur cursor20=h_select.cur cursor21=ho_split.cur cursor22=ve_split.cur
5.2.8 resinfo段
该段定义了 MiniGUI 要装载的资源相关信息。该段定义如下键:- resinfo:指定资源所在路径
[resinfo] respath=/usr/local/share/minigui/res/
5.2.9 渲染器的设置
classic/flat/fashion 渲染器
在classic 、 flat 和 fashion 这三段设置中分别定义了 MiniGUI 中的 classic 风格、flat 风格和 fashion 风格的渲染器的各项属性信息。这三段的属性都是一样的,只是所设置的值不一样。他们定义了如下的键:- iconnumber:渲染器所用图标的个数
- icon0: 第1个图标的文件名
- icon1: 第二个图标的文件名
- icon2: 第三个图标的文件名
- icon3: 第四个图标的文件名
- icon4: 第五个图标的文件名
- dir: 文件夹的图标文件名
- file: 文件的图标文件名
- treefold:
- treeunfold:
- radiobutton: 单选框按钮的图标文件名
- checkbutton: 复选框按钮的图标文件名
- bgpicture: 背景图片的文件名
- bgpicpos: 背景图片的放置方式
- caption: 标题栏尺寸
- menu: 菜单尺寸
- border: 窗口边框的宽度
- scrollbar: 滚动条的长度
- fgc_active_caption: 标题栏获得焦点时的前景色
- bgca_active_caption: 活动状态标题栏的背景色的渐变起始颜色值
- bgcb_active_caption: 活动状态标题栏的背景色的渐变终止颜色值
- fgc_menu: 菜单前景色
- bgc_menu: 菜单背景色
- fgc_msgbox: 消息框前景色
- fgc_tip: 提示框前景色
- bgc_tip: 提示框背景色
- fgc_active_border: 活动状态边框前景色
- fgc_inactive_border: 非活动状态边框前景色
- fgc_inactive_caption: 非活动状态标题栏前景色
- bgca_inactive_caption: 非活动状态标题栏背景色起始渐变色
- bgcb_inactive_caption: 非活动状态标题栏背景色终止渐变色
- fgc_window: 窗口前景色
- bgc_window: 窗口背景色
- fgc_3dbox: 三维方框前景色
- mainc_3dbox: 三维方框主色
- fgc_selected_item: 选中项目前景色
- bgc_selected_item: 选中项目背景色
- bgc_selected_lostfocus: 选中项目失去焦点时的背景色
- fgc_disabled_item: 无效项目前景色
- bgc_disabled_item: 无效项目背景色
- fgc_hilight_item: 高亮项目前景色
- bgc_hilight_item: 高粱项目背景色
- fgc_significant_item: 重要项目前景色
- bgc_significant_item: 重要项目背景色
- bgc_desktop: 桌面背景色
MiniGUI.cfg 文件这三个段的内容如下:
# Note that max number defined in source code is 5. iconnumber=5 icon0=form.ico icon1=failed.ico icon2=help.ico icon3=warning.ico icon4=excalmatory.ico # default icons for new OpenFileDialogBox dir=folder.ico file=textfile.ico # default icons for TreeView control treefold=fold-flat.ico treeunfold=unfold-flat.ico # bitmap used by BUTTON control radiobutton=classic_radio_button.bmp checkbutton=classic_check_button.bmp # background picture, use your favirate photo bgpicture=none bgpicpos=center # bgpicpos=upleft # bgpicpos=downleft # bgpicpos=upright # bgpicpos=downright # bgpicpos=upcenter # bgpicpos=downcenter # bgpicpos=vcenterleft # bgpicpos=vcenterright # bgpicpos=none #window element metrics caption=20 menu=25 border=2 scrollbar=16 #window element colors fgc_active_caption=0xFFFFFFFF bgca_active_caption=0xFF6A240A bgcb_active_caption=0xFF6A240A fgc_menu=0xFF000000 bgc_menu=0xFFCED3D6 fgc_msgbox=0xFF000000 fgc_tip=0xFF000000 bgc_tip=0xFFE7FFFF fgc_active_border=0xFFCED3D6 fgc_inactive_border=0xFFCED3D6 fgc_inactive_caption=0xFFC8D0D4 bgca_inactive_caption=0xFF808080 bgcb_inactive_caption=0xFF808080 fgc_window=0xFF000000 bgc_window=0xFFFFFFFF fgc_3dbox=0xFF000000 mainc_3dbox=0xFFCED3D6 fgc_selected_item=0xFFFFFFFF bgc_selected_item=0xFF6B2408 bgc_selected_lostfocus=0xFFBDA69C fgc_disabled_item=0xFF848284 bgc_disabled_item=0xFFCED3D6 fgc_hilight_item=0xFFFFFFFF bgc_hilight_item=0xFF6B2408 fgc_significant_item=0xFFFFFFFF bgc_significant_item=0xFF6B2408 bgc_desktop=0xFFC08000
skin 渲染器
该段定义了MiniGUI 中的 skin 渲染器的各项属性信息。在该段中,除了包含了上述三个风格的渲染器的各项属性,还有skin 渲染器独有的一些属性信息。下面将只列出skin渲染器独有的属性键的解释,其他的键的含义和其他三个渲染器的含义一样。 这些额外的键,罗列如下:- skin_bkgnd: 背景皮肤图片
- skin_caption: 标题栏皮肤图片
- skin_caption_btn: 标题栏按钮皮肤图片
- skin_scrollbar_hshaft: 水平滚动条凹槽皮肤图片
- skin_scrollbar_vshaft: 垂直滚动条凹槽皮肤图片
- skin_scrollbar_hthumb: 水平滚动条游标皮肤图片
- skin_scrollbar_vthumb: 垂直滚动条游标皮肤图片
- skin_scrollbar_arrows: 滚动条箭头皮肤图片
- skin_tborder: 顶部窗口边框皮肤图片
- skin_bborder: 底部窗口边框皮肤图片
- skin_lborder: 左边窗口边框皮肤图片
- skin_rborder: 邮编窗口边框皮肤图片
- skin_arrows: 箭头皮肤图片
- skin_arrows_shell: 箭头外框皮肤图片
- skin_pushbtn: push 按钮皮肤图片
- skin_radiobtn: 单选框按钮皮肤图片
- skin_checkbtn: 复选框按钮皮肤图片
- skin_tree: 树控件皮肤图片
- skin_header: 树控件头皮肤图片
- skin_tab: 树控件目录展开收拢皮肤图片
- skin_tbslider_h: 水平滑动条皮肤图片
- skin_tbslider_v: 垂直滑动条皮肤图片
- skin_trackbar_horz: 水平轨迹条皮肤图片
- skin_trackbar_vert: 垂直轨迹条皮肤图片
- skin_progressbar_htrack: 水平进度条滑槽皮肤图片
- skin_progressbar_vtrack: 垂直进度条滑槽皮肤图片
- skin_progressbar_hchunk: 水平进度条滑块皮肤图片
- skin_progressbar_vchunk: 垂直进度条滑块皮肤图片
MiniGUI.cfg 文件 skin 段内容如下:
[skin] # Note that max number defined in source code is 5. iconnumber=5 icon0=form.ico icon1=failed.ico icon2=help.ico icon3=warning.ico icon4=excalmatory.ico # default icons for new OpenFileDialogBox dir=folder.ico file=textfile.ico # default icons for TreeView control treefold=fold.ico treeunfold=unfold.ico # background picture, use your favirate photo bgpicture=none bgpicpos=center #window element metrics caption=25 menu=25 border=1 scrollbar=17 fgc_active_caption=0xFFFFFFFF bgca_active_caption=0xFFE35400 bgcb_active_caption=0xFF686868 fgc_menu=0xFF000000 bgc_menu=0xFFFFFFFF fgc_msgbox=0xFF000000 fgc_tip=0xFF000000 bgc_tip=0xFFFFFFFF fgc_active_border=0xFFC8D0D4 fgc_inactive_border=0xFFC8D0D4 fgc_inactive_caption=0xFFF8E4D8 bgca_inactive_caption=0xFFDF967A bgcb_inactive_caption=0xFF686868 fgc_window=0xFF000000 bgc_window=0xFFFFFFFF fgc_3dbox=0xFF000000 mainc_3dbox=0xFFD8E9EC fgc_selected_item=0xFFFFFFFF bgc_selected_item=0xFFC56A31 bgc_selected_lostfocus=0xFFD8E9EC fgc_disabled_item=0xFF99A8AC bgc_disabled_item=0xFFFFFFFF fgc_hilight_item=0xFFFFFFFF bgc_hilight_item=0xFFC56A31 fgc_significant_item=0xFFFFFFFF bgc_significant_item=0xFFC56A31 bgc_desktop=0xFF984E00 skin_bkgnd=skin_bkgnd.bmp skin_caption=skin_caption.gif skin_caption_btn=skin_cpn_btn.gif #for scrollbar skin_scrollbar_hshaft=skin_sb_hshaft.bmp skin_scrollbar_vshaft=skin_sb_vshaft.bmp skin_scrollbar_hthumb=skin_sb_hthumb.bmp skin_scrollbar_vthumb=skin_sb_vthumb.bmp skin_scrollbar_arrows=skin_sb_arrows.bmp #for border skin_tborder=skin_tborder.bmp skin_bborder=skin_bborder.bmp skin_lborder=skin_lborder.bmp skin_rborder=skin_rborder.bmp skin_arrows=skin_arrows.gif skin_arrows_shell=skin_arrows_shell.bmp skin_pushbtn=skin_pushbtn.gif skin_radiobtn=skin_radiobtn.gif skin_checkbtn=skin_checkbtn.bmp #for treeview skin_tree=skin_tree.bmp skin_header=skin_header.bmp skin_tab=skin_tab.gif #for trackbar skin_tbslider_h=skin_tbslider_h.gif skin_tbslider_v=skin_tbslider_v.gif skin_trackbar_horz=skin_tb_horz.gif skin_trackbar_vert=skin_tb_vert.gif #for progressbar skin_progressbar_htrack=skin_pb_htrack.gif skin_progressbar_vtrack=skin_pb_vtrack.gif skin_progressbar_hchunk=skin_pb_htruck.bmp skin_progressbar_vchunk=skin_pb_vtruck.bmp #}}
5.2.10 默认的MiniGUI.cfg文件内容
下面是MiniGUI V3.0 版本默认安装的 MiniGUI 函数库的运行环境配置文件的内容:
# This configuration file is for MiniGUI V3.0.x
#
# Copyright (C) 2002~2008 Feynman Software
# Copyright (C) 1998~2002 Wei Yongming.
#
# Web: http://www.minigui.com
#
# This configuration file must be installed in /etc,
# /usr/local/etc or your home directory. When you install it in your
# home directory, it should be named ".MiniGUI.cfg".
#
# The priority of above configruation files is ~/.MiniGUI.cfg,
# /usr/local/etc/MiniGUI.cfg, and then /etc/MiniGUI.cfg.
#
# If you change the install path of MiniGUI resource, you should
# modify this file to meet your configuration.
#
# NOTE:
# The format of this configuration file has changed since the last release.
# Please DONT forget to provide the latest MiniGUI.cfg file for your MiniGUI.
#
[system]
# GAL engine and default options
gal_engine=pc_xvfb
defaultmode=800x600-16bpp
# IAL engine
ial_engine=pc_xvfb
mdev=/dev/input/mice
mtype=IMPS2
[fbcon]
defaultmode=1024x768-16bpp
[qvfb]
defaultmode=640x480-16bpp
display=0
#{{ifdef _MGGAL_PCXVFB
[pc_xvfb]
defaultmode=800x600-16bpp
window_caption=XVFB-for-MiniGUI-3.0-(Qt-Version)
exec_file=/usr/local/bin/qvfb2
#}}
[rtos_xvfb]
defaultmode=800x600-16bpp
#{{ifdef _MGGAL_SHADOW
[shadow]
real_engine=pc_xvfb
defaultmode=800x600-16bpp
rotate_screen=normal
#}}
#{{ifdef _MGGAL_MLSHADOW
[mlshadow]
real_engine=qvfb
defaultmode=800x600-16bpp
def_bgcolor=0x00FF00
double_buffer=enable
#}}
# The first system font must be a logical font using RBF device font.
[systemfont]
font_number=5
font0=rbf-FixedSys-rrncnn-8-16-ISO8859-1
font1=*-FixedSys-rrncnn-*-16-ISO8859-1
font2=*-Courier-rrncnn-*-16-ISO8859-1
font3=*-SansSerif-rrncnn-*-16-ISO8859-1
font4=*-System-rrncnn-*-16-ISO8859-1
default=0
wchar_def=4
fixed=1
caption=4
menu=2
control=3
[rawbitmapfonts]
font_number=0
[varbitmapfonts]
font_number=0
[upf]
font_number=0
[qpf]
font_number=0
[truetypefonts]
font_number=0
[mouse]
dblclicktime=300
[event]
timeoutusec=300000
repeatusec=50000
[cursorinfo]
# Edit following line to specify cursor files path
cursorpath=/usr/local/share/minigui/res/cursor/
cursornumber=23
cursor0=d_arrow.cur
cursor1=d_beam.cur
cursor2=d_pencil.cur
cursor3=d_cross.cur
cursor4=d_move.cur
cursor5=d_sizenwse.cur
cursor6=d_sizenesw.cur
cursor7=d_sizewe.cur
cursor8=d_sizens.cur
cursor9=d_uparrow.cur
cursor10=d_none.cur
cursor11=d_help.cur
cursor12=d_busy.cur
cursor13=d_wait.cur
cursor14=g_rarrow.cur
cursor15=g_col.cur
cursor16=g_row.cur
cursor17=g_drag.cur
cursor18=g_nodrop.cur
cursor19=h_point.cur
cursor20=h_select.cur
cursor21=ho_split.cur
cursor22=ve_split.cur
[resinfo]
respath=/usr/local/share/minigui/res/
[classic]
# Note that max number defined in source code is 5.
iconnumber=5
icon0=form.ico
icon1=failed.ico
icon2=help.ico
icon3=warning.ico
icon4=excalmatory.ico
# default icons for new OpenFileDialogBox
dir=folder.ico
file=textfile.ico
# default icons for TreeView control
treefold=fold.ico
treeunfold=unfold.ico
# bitmap used by BUTTON control
radiobutton=classic_radio_button.bmp
checkbutton=classic_check_button.bmp
# background picture, use your favirate photo
bgpicture=none
bgpicpos=center
# bgpicpos=upleft
# bgpicpos=downleft
# bgpicpos=upright
# bgpicpos=downright
# bgpicpos=upcenter
# bgpicpos=downcenter
# bgpicpos=vcenterleft
# bgpicpos=vcenterright
# bgpicpos=none
#window element metrics
caption=20
menu=25
border=2
scrollbar=16
#window element colors
fgc_active_caption=0xFFFFFFFF
bgca_active_caption=0xFF6A240A
bgcb_active_caption=0xFF6A240A
fgc_menu=0xFF000000
bgc_menu=0xFFCED3D6
fgc_msgbox=0xFF000000
fgc_tip=0xFF000000
bgc_tip=0xFFE7FFFF
fgc_active_border=0xFFCED3D6
fgc_inactive_border=0xFFCED3D6
fgc_inactive_caption=0xFFC8D0D4
bgca_inactive_caption=0xFF808080
bgcb_inactive_caption=0xFF808080
fgc_window=0xFF000000
bgc_window=0xFFFFFFFF
fgc_3dbox=0xFF000000
mainc_3dbox=0xFFCED3D6
fgc_selected_item=0xFFFFFFFF
bgc_selected_item=0xFF6B2408
bgc_selected_lostfocus=0xFFBDA69C
fgc_disabled_item=0xFF848284
bgc_disabled_item=0xFFCED3D6
fgc_hilight_item=0xFFFFFFFF
bgc_hilight_item=0xFF6B2408
fgc_significant_item=0xFFFFFFFF
bgc_significant_item=0xFF6B2408
bgc_desktop=0xFFC08000
#{{ifdef _MGLF_RDR_FLAT
[flat]
# Note that max number defined in source code is 5.
iconnumber=5
icon0=form-flat.ico
icon1=failed-flat.ico
icon2=help-flat.ico
icon3=warning-flat.ico
icon4=excalmatory-flat.ico
# default icons for new OpenFileDialogBox
dir=folder-flat.ico
file=textfile-flat.ico
# default icons for TreeView control
treefold=fold.ico
treeunfold=unfold.ico
# bitmap used by BUTTON control
radiobutton=flat_radio_button.bmp
checkbutton=flat_check_button.bmp
# background picture, use your favirate photo
bgpicture=none
bgpicpos=center
#window element metrics
caption=20
menu=25
border=1
scrollbar=16
#window element colors
fgc_active_caption=0xFFFFFFFFF
bgca_active_caption=0xFF000000
bgcb_active_caption=0xFF000000
fgc_inactive_caption=0xFF000000
bgca_inactive_caption=0xFFFFFFFF
bgcb_inactive_caption=0xFFFFFFFF
fgc_menu=0xFF000000
bgc_menu=0xFFFFFFFF
fgc_msgbox=0xFF000000
fgc_tip=0xFF000000
bgc_tip=0xFFE7FFFF
fgc_active_border=0xFF000000
fgc_inactive_border=0xFF848284
fgc_window=0xFF000000
bgc_window=0xFFFFFFFF
fgc_3dbox=0xFF000000
mainc_3dbox=0xFFFFFFFF
fgc_selected_item=0xFFFFFFFF
bgc_selected_item=0xFF000000
bgc_selected_lostfocus=0xFFBDA69C
fgc_disabled_item=0xFF848284
bgc_disabled_item=0xFF000000
fgc_hilight_item=0xFFFFFFFF
bgc_hilight_item=0xFF000000
fgc_significant_item=0xFFFFFFFF
bgc_significant_item=0xFF000000
bgc_desktop=0xFFC08000
#}}
#{{ifdef _MGLF_RDR_SKIN
[skin]
# Note that max number defined in source code is 5.
iconnumber=5
icon0=form.ico
icon1=failed.ico
icon2=help.ico
icon3=warning.ico
icon4=excalmatory.ico
# default icons for new OpenFileDialogBox
dir=folder.ico
file=textfile.ico
# default icons for TreeView control
treefold=fold.ico
treeunfold=unfold.ico
# background picture, use your favirate photo
bgpicture=none
bgpicpos=center
#window element metrics
caption=25
menu=25
border=1
scrollbar=17
fgc_active_caption=0xFFFFFFFF
bgca_active_caption=0xFFE35400
bgcb_active_caption=0xFF686868
fgc_menu=0xFF000000
bgc_menu=0xFFFFFFFF
fgc_msgbox=0xFF000000
fgc_tip=0xFF000000
bgc_tip=0xFFFFFFFF
fgc_active_border=0xFFC8D0D4
fgc_inactive_border=0xFFC8D0D4
fgc_inactive_caption=0xFFF8E4D8
bgca_inactive_caption=0xFFDF967A
bgcb_inactive_caption=0xFF686868
fgc_window=0xFF000000
bgc_window=0xFFFFFFFF
fgc_3dbox=0xFF000000
mainc_3dbox=0xFFD8E9EC
fgc_selected_item=0xFFFFFFFF
bgc_selected_item=0xFFC56A31
bgc_selected_lostfocus=0xFFD8E9EC
fgc_disabled_item=0xFF99A8AC
bgc_disabled_item=0xFFFFFFFF
fgc_hilight_item=0xFFFFFFFF
bgc_hilight_item=0xFFC56A31
fgc_significant_item=0xFFFFFFFF
bgc_significant_item=0xFFC56A31
bgc_desktop=0xFF984E00
skin_bkgnd=skin_bkgnd.bmp
skin_caption=skin_caption.gif
skin_caption_btn=skin_cpn_btn.gif
#for scrollbar
skin_scrollbar_hshaft=skin_sb_hshaft.bmp
skin_scrollbar_vshaft=skin_sb_vshaft.bmp
skin_scrollbar_hthumb=skin_sb_hthumb.bmp
skin_scrollbar_vthumb=skin_sb_vthumb.bmp
skin_scrollbar_arrows=skin_sb_arrows.bmp
#for border
skin_tborder=skin_tborder.bmp
skin_bborder=skin_bborder.bmp
skin_lborder=skin_lborder.bmp
skin_rborder=skin_rborder.bmp
skin_arrows=skin_arrows.gif
skin_arrows_shell=skin_arrows_shell.bmp
skin_pushbtn=skin_pushbtn.gif
skin_radiobtn=skin_radiobtn.gif
skin_checkbtn=skin_checkbtn.bmp
#for treeview
skin_tree=skin_tree.bmp
skin_header=skin_header.bmp
skin_tab=skin_tab.gif
#for trackbar
skin_tbslider_h=skin_tbslider_h.gif
skin_tbslider_v=skin_tbslider_v.gif
skin_trackbar_horz=skin_tb_horz.gif
skin_trackbar_vert=skin_tb_vert.gif
#for progressbar
skin_progressbar_htrack=skin_pb_htrack.gif
skin_progressbar_vtrack=skin_pb_vtrack.gif
skin_progressbar_hchunk=skin_pb_htruck.bmp
skin_progressbar_vchunk=skin_pb_vtruck.bmp
#}}
[fashion]
# Note that max number defined in source code is 5.
iconnumber=5
icon0=form.ico
icon1=failed.ico
icon2=mg_help.ico
icon3=warning.ico
icon4=excalmatory.ico
# default icons for new OpenFileDialogBox
dir=folder.ico
file=textfile.ico
# default icons for TreeView control
treefold=fold.ico
treeunfold=unfold.ico
# bitmap used by BUTTON control
radiobutton=fashion_radio_btn.bmp
checkbutton=fashion_check_btn.bmp
# bitmap used by IME window
#IMEctrlbtn=shurufa.bmp
# bitmap used by About dialog box
#logo=MiniGUI256.bmp
# background picture, use your favirate photo
bgpicture=none
bgpicpos=center
#window element metrics
caption=25
menu=25
border=1
scrollbar=17
fgc_active_caption=0xFFFFFFFF
bgca_active_caption=0xFFE35400
bgcb_active_caption=0xFFFF953D
fgc_menu=0xFF000000
bgc_menu=0xFFFFFFFF
fgc_msgbox=0xFF000000
fgc_tip=0xFF000000
bgc_tip=0xFFFFFFFF
fgc_active_border=0xFFC8D0D4
fgc_inactive_border=0xFFC8D0D4
fgc_inactive_caption=0xFFF8E4D8
bgca_inactive_caption=0xFFDF967A
bgcb_inactive_caption=0xFFEBB99D
fgc_window=0xFF000000
bgc_window=0xFFEBB99D
fgc_3dbox=0xFF000000
mainc_3dbox=0xFFD8E9EC
fgc_selected_item=0xFFFFFFFF
bgc_selected_item=0xFFC56A31
bgc_selected_lostfocus=0xFFD8E9EC
fgc_disabled_item=0xFF99A8AC
bgc_disabled_item=0xFFFFFFFF
fgc_hilight_item=0xFFFFFFFF
bgc_hilight_item=0xFFC56A31
fgc_significant_item=0xFFFFFFFF
bgc_significant_item=0xFFC56A31
bgc_desktop=0xFF984E00
5.3 环境变量
MiniGUI V3.0 提供了通过环境变量修改图形及输入引擎的方式。比如,您的 MiniGUI 已经包含了 fbcon 和 qvfb 两种图形引擎以及对应的 console 和 qvfb 输入引擎,并在 MiniGUI.cfg 或者内建资源中指定了使用 qvfb 图形及输入引擎,但在运行时,您可以通过如下方式指定 fbcon 和 console 引擎,而不需要修改 MiniGUI.cfg 文件或者内建资源配置文件:
$ export MG_GAL_ENGINE=fbcon $ export MG_IAL_ENGINE=console
$ export MG_MDEV=/dev/input/mice $ export MG_MTYPE=ps2 $ export MG_DEFAULTMODE=1024x768-16bpp