Also consider this. As in the case of the image component, it's file property allows for a fully qualified filename: + image { file = "/usr/share/grub/themes/demo/images/gnu.jpg"
However, presently 00_header would not search the 'images' sub-directory for image files so as to load the required modules. Without another jpg image in the 'demo' directory, the jpeg module is not loaded and the theme fails during boot. The bar_style and highlight_style of the progress_bar component also allows for the use of fully qualified filenames. So does the center_bitmap and tick_bitmap properties of the circular_progress components. Please patch 00_header so that it searches for image files in sub-directories of the theme's directory. Something like: found_jpeg=false found_png=false found_tga=false for i in `find "$themedir` ; do if [ x"`echo "$i"/*.jpg`" != x"$i/*.jpg" ] || [ x"`echo "$i"/*.jpeg`" != x"$i/*.jpeg" ] \ && ! $found_jpeg ; then found_jpeg=true cat << EOF insmod jpeg EOF fi if [ x"`echo "$i"/*.png`" != x"$i/*.png" ] && ! $found_png ; then found_png=true cat << EOF insmod png EOF fi if [ x"`echo "$i"/*.tga`" != x"$i/*.tga" ] && ! $found_tga; then found_tga=true cat << EOF insmod tga EOF fi done Thanks Towheed Mohammed ----- Original Message ----- From: Vladimir 'φ-coder/phcoder' Serbinenko <phco...@gmail.com> To: The development of GNU GRUB <grub-devel@gnu.org> Cc: Sent: Friday, February 24, 2012 7:03 PM Subject: Re: The submenu command shows a text-based menu when using a GFX theme. On 24.02.2012 23:50, Towheed Mohammed wrote: > submenu "xyz" { > theme=... > } > > So we can say it's a feature. Well then, could it be patched thus: > > 1. If the user specifies a new theme for the submenu, load the new theme. The > flicker is then not apparent as the new theme is loaded. > > 2. If the user wishes to use the currently loaded theme for the submenu, then > simply load the menuentry items of the submenu without reloading the theme. > > This way, the screen flicker becomes non-existent/non-apparent. We already reuse the loaded menu if the theme file hasn't changed. > In either case though, the terminal-window should never be seen when > descending into the submenu as it is now. The terminal-window should only be > shown when a menuentry item is selected or the user wishes to edit the > commands or drop to the command-line. terminal appears because of a message "Booting ...". Move it into some kind of status message is more long-term. Definitely post-2.0 > Thank you > Towheed Mohammed > > ----- Original Message ----- > From: Vladimir 'φ-coder/phcoder' Serbinenko<phco...@gmail.com> > To: The development of GNU GRUB<grub-devel@gnu.org> > Cc: > Sent: Friday, February 24, 2012 3:44 AM > Subject: Re: The submenu command shows a text-based menu when using a GFX > theme. > > On 24.02.2012 02:24, Towheed Mohammed wrote: >> While 'export theme' fixes the issue more elegantly than what I had, it >> still results in the theme reloading when the submenu menuentry is >> selected. Reloading of the theme results in a screen flicker as the >> terminal window is shown before the theme reloads. >> >> I cannot code in C nor do I profess to be anywhere close to scripting as you >> guys, but I think a better solution to fixing the submenu issue would be >> from source code. >> >> Is it at all possible to simply load the menuentry items under the submenu >> command without having to reload the entire theme? If it can be done, >> wouldn't it prevent the flicker seen as the theme reloads? > Problem is that it's possible to do something like: > submenu "xyz" { > theme=... > } > And thus change the theme for submenu. >> While at it, could you also please fix the keyboard lag that results when a >> gfx theme is used. This is an issue with many users of gfx themes . >> >> Thank you. >> >> Towheed Mohammed >> >> ----- Original Message ----- >> From: Vladimir 'φ-coder/phcoder' Serbinenko<phco...@gmail.com> >> To: grub-devel@gnu.org >> Cc: >> Sent: Thursday, February 23, 2012 1:24 AM >> Subject: Re: The submenu command shows a text-based menu when using a GFX >> theme. >> >> On 23.02.2012 02:50, Towheed Mohammed wrote: >>> If a gfx theme is being used and the submenu command is used to show a >>> submenu, the submenu does not use the gfx theme. Instead a text-based menu >>> is shown. The only way a regular user can workaround this at the moment is >>> to reload the theme after the submenu menuentry item is selected. >>> >>> In Ubuntu's (about the only distro that uses the submenu command at this >>> time) use of the submenu in 10_linux: >>> >>> if [ "$list" ]&& ! $in_submenu; then >>> in_submenu=: >>> fi >>> >>> A regular user must patch 10_linux thus: >>> >>> if [ "$list" ]&& ! $in_submenu; then >>> echo "submenu \"Previous Linux versions\" --class submenu {" >>> if [ "x$GRUB_THEME" != x ]&& [ -f "$GRUB_THEME" ] \ >>> && is_path_readable_by_grub "$GRUB_THEME"; then >>> prepare_grub_to_access_device `${grub_probe} >>>--target=device "$GRUB_THEME"` >>> cat<< EOF >>> set theme=(\$root)`make_system_path_relative_to_its_root $GRUB_THEME` >>> EOF >>> fi >>> in_submenu=: >>> fi >> What a perfect example of overengineering just to compensate for missing >> "export theme". I've fixed it in trunk >>> to reload the theme and have a themed submenu. >>> >>> Will this be fixed in the 2.00 release? >>> >>> >>> _______________________________________________ >>> Grub-devel mailing list >>> Grub-devel@gnu.org >>> https://lists.gnu.org/mailman/listinfo/grub-devel >>> > -- Regards Vladimir 'φ-coder/phcoder' Serbinenko _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel