修改 QEMU 源代码,实现 -title 选项在使用 QEMU 时,每台虚拟机窗口的标题栏都是“QEMU”。假设打开的虚拟机非常多,那么辨别哪个窗口属于哪台虚拟机就会变得很麻烦。如果能给 qemu 添加一个 -title 选项,以它的参数来控制每个窗口的标题栏,会大大节省我们的精力。
以当前最新的 qemu-0.8.2 为例,修改其实非常简单。所涉及的只有 vl.c 和 sdl.c 两个文件。
其中 vl.c 包含 main() 以及选项处理部分等,要修改的项目如下:
添加一个全局字符数组 vm_title[128],用于保存所设置的标题栏; 在选项枚举中添加一项 QEMU_OPTION_title; 在选项数组 qemu_options[] 中添加一项 { "title", HAS_ARG, QEMU_OPTION_title }; main() 中,有一个处理选项的 switch(popt->index),在其中添加: case QEMU_OPTION_titile: strcpy(vm_title, optarg); break; 最后在 help() 中添加相应的选项使用说明。
sdl.c 包含有用于设置虚拟机窗口标题栏的函数 sdl_update_caption(),要修改的项目如下:
添加一个外部变量,引入 vm_tilte; 修改 sdl_update_caption(),只需要将 strcpy(buf, "QEMU") 改为 strcpy(buf, vm_title) 即可。
完成修改、重新编译之后,运行类似如下命令就可以指定虚拟机窗口的标题栏:
qemu -hda win98.img -title win98 |