grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: The submenu command shows a text-based menu when using a GFX theme.


From: Towheed Mohammed
Subject: Re: The submenu command shows a text-based menu when using a GFX theme.
Date: Sat, 25 Feb 2012 18:18:48 -0800 (PST)

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 <address@hidden>
To: The development of GNU GRUB <address@hidden>
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<address@hidden>
> To: The development of GNU GRUB<address@hidden>
> 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<address@hidden>
>> To: address@hidden
>> 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
>>> address@hidden
>>> https://lists.gnu.org/mailman/listinfo/grub-devel
>>>
>


-- 
Regards
Vladimir 'φ-coder/phcoder' Serbinenko


_______________________________________________
Grub-devel mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/grub-devel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]