From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1S4MV7-0005jE-TG for mharc-grub-devel@gnu.org; Sun, 04 Mar 2012 20:14:09 -0500 Received: from eggs.gnu.org ([208.118.235.92]:55262) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S4MV5-0005j5-6h for grub-devel@gnu.org; Sun, 04 Mar 2012 20:14:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S4MV3-0000bM-9n for grub-devel@gnu.org; Sun, 04 Mar 2012 20:14:06 -0500 Received: from wp191.webpack.hosteurope.de ([80.237.132.198]:53390) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S4MV3-0000b8-0L for grub-devel@gnu.org; Sun, 04 Mar 2012 20:14:05 -0500 Received: from p54ba7a6e.dip.t-dialin.net ([84.186.122.110] helo=neptun.omega.ssw.de); authenticated by wp191.webpack.hosteurope.de running ExIM with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) id 1S4MV1-0007rZ-EX; Mon, 05 Mar 2012 02:14:03 +0100 Received: from localhost (localhost [127.0.0.1]) by neptun.omega.ssw.de (Postfix) with ESMTP id 97171E180A8 for ; Mon, 5 Mar 2012 02:14:02 +0100 (CET) X-Virus-Scanned: amavisd-new at omega.ssw.de Received: from neptun.omega.ssw.de ([127.0.0.1]) by localhost (neptun.omega.ssw.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xfNCW8yq9S2T for ; Mon, 5 Mar 2012 02:13:50 +0100 (CET) Received: from [192.168.2.43] (p640.fritz.box [192.168.2.43]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by neptun.omega.ssw.de (Postfix) with ESMTP id AE1CEE180A7 for ; Mon, 5 Mar 2012 02:13:50 +0100 (CET) Message-ID: <4F541349.7070704@anvo-it.de> Date: Mon, 05 Mar 2012 02:13:45 +0100 From: Andreas Vogel User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 MIME-Version: 1.0 To: The development of GNU GRUB Subject: Ideas for the future X-Enigmail-Version: 1.3.5 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit X-bounce-key: webpack.hosteurope.de; andreas.vogel@anvo-it.de; 1330910045; 411a5274; X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.237.132.198 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2012 01:14:08 -0000 I took the last few nights to divide my previously submitted huge patch into logical parts (around 10 patches now). Some of them I've submitted already. So right now it seems to me that it's useless to waste your time (and my time too) to submit more patches or even to discuss them due to code freeze and because all time is needed now to prepare release 2.0. Even though I fully understand this situation it's really sad that some of the most wanted features for GRUB will still not be available in the upcoming release (especially the possibility to have a settings menu). Personally i can live with that coz I'm using my private patches for my projects which do need those features. Anyway, I don't want that those ideas are lost so let me summarize the enhancements I have patches for and what i think would be great to have in the future: 1) Environment variable substitution in menus. For normal menu entries this works already. For submenus this doesn't work as the submenu entries are not re-evaluated after execution of it's menuentries. Example: set lang=us menuentry 'Boot with lang=$lang' { ... ; linux lang=$lang ; boot } submenu Settings { submenu 'Language... (current lang = $lang)' { menuentry --silent=1 'Set lang US' { set lang=us } menuentry --silent=1 'Set lang DE' { set lang=de } } } 2) Environment variable substitutions in theme labels. Theme labels should be able to reference environment variables for display. It would/could be even great to use environment variables for different things in themes (fonts, pictures, etc...). By this it would be possible to use a quite generic theme.txt file for different resolutions, etc. 3) Enhanced hotkey handling: support ALT, SHIFT and CTRL modifiers. 4) menuentry/submenu --hidden 0|1 Hidden menuentries behave the same like normal menu entries but they are not visible on the screen. They can only be activated using a hotkey. By this you can define a help screen using hotkey F1 but no visible menu entry is needed. 5) menuentry --silent 0|1 When using menuentries which just sets some variables or do some other (non booting tasks), it's really bothering to see a flickering empty terminal box just for nothing. When this flag is set, the terminal box will not be shown by default when the entry is executed. Execution of submenus should be always silent. 6) menuentry --enabled 0|1 It's a good practice to show menuentries even if they are not applicable in different situations (that's common for all major menu systems). If a menu entry is disabled, it is shown but it is not operable. E.g. one might have a general grub config file which supports booting a bunch of ISO images. When an ISO image is not found and instead of not showing a menuentry for that, those menuentry could be shown as disabled. As I said before, I have patches which implements all those features and I'm using these features in projects right now. Vladimir, it seems that GRUB is a one man show and it's really your baby. Don't get me wrong please, I really appreciate your hard work and from our conversation I can feel that you're really a genius. Whenever you have time again for new ideas, new patches and new discussions, let me know. It's just the wrong time right now for that. Andreas