kxylxp / grub4dos-chenall

Automatically exported from code.google.com/p/grub4dos-chenall
0 stars 0 forks source link

Request: allow invisible menu entries #151

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?

It would be nice to have hotkey entries which do not have any menu entry 
visible to the user: e.g.

Example:

/hotkey

title xxxxx
xx
xx

title yyyy
yyy
yyy

hiddentitle ^F2
reboot

hiddentitle ^F3
halt

this would not be listed in the menu at all (not even as a blank line) but when 
the user pressed F2 it would reboot. If using write 0x8274 0x2001 it would NOT 
be numbered.

If necessary these could be only placed at the end of a menu (if easier to 
implement in code)

Original issue reported on code.google.com by Steve6375 on 15 Jul 2013 at 2:51

GoogleCodeExporter commented 8 years ago
Do you think you will be able to implement this? It would be really useful.
The background bitmap could then have text in the bitmap in any position and 
font and icons we wanted for a number of different hotkeys but would not appear 
in the actual menu.

Original comment by Steve6375 on 12 Oct 2013 at 10:04

GoogleCodeExporter commented 8 years ago
This is difficult.
this would be easier.
hotkey [HOTKEY] COMMAND

Original comment by chenall.cn on 13 Oct 2013 at 1:10

GoogleCodeExporter commented 8 years ago
Using hotkey would be good.
Could this have multiple commands?

e.g.
hotkey [F9] reboot
hotkey [F10] call /special.g4b
hotkey [F1] find --set-root /xx.iso ;; map /xxx/iso (0xff) ;; map --hook ;; 
root (0xff) ;; chainloader (0xff)

??

Original comment by Steve6375 on 13 Oct 2013 at 7:48

GoogleCodeExporter commented 8 years ago
I think it should work.^_^

Original comment by chenall.cn on 13 Oct 2013 at 8:02

GoogleCodeExporter commented 8 years ago
Please try the new hotkey

New function
hotkey [HOTKEY] COMMAND
e.g
hotkey [F9] reboot
hotkey [A] "echo abcd ;; echo defg && pause test"

Original comment by chenall.cn on 14 Oct 2013 at 5:36

GoogleCodeExporter commented 8 years ago
Thanks - this looks promising...
This seems have some strange affects on the menu  (0.4.5c 2013-07-24 in 
graphics mode 800x600).
hotkey [A] echo fred
for instance blanks out all the menu entries, the top right menu item number 
goes to 255 and the menu highlight bar goes to the about 2/3 down the blank 
menu. Pressing <UP> <DOWN> cursor keys restores the menu.

How do you clear an entry - if moving from one menu to the another using 
configfile, it would be nice to clear all and/or individual entries

# clear specific programmed hotkey entries
hotkey [A] --clear
hotkey [F1] --clear

# clear all programmed hotkey entries
hotkey --clear

maybe?

Thanks you for adding this, it will be a very useful feature when it is working 
properly :-)

Original comment by Steve6375 on 14 Oct 2013 at 9:56

GoogleCodeExporter commented 8 years ago
hotkey -u ;; hotkey

clears any previous programmed entries, so I guess I could use that?

Original comment by Steve6375 on 14 Oct 2013 at 10:16

GoogleCodeExporter commented 8 years ago
hotkey [A] configfile /fredmenu.lst
hotkey [A] "configfile /fredmenu.lst"

neither of these seem to work as expected, and seem to 'randomly' run 
fredmenu.lst??

Original comment by Steve6375 on 14 Oct 2013 at 10:30

GoogleCodeExporter commented 8 years ago
Please try the new,this may be ok.some bug fixed and add help info.

you can use a NULL command to clear specific programmed hotkey entries
e.g.
hotkey [F1]

use hotkey -u can clear all programmed hotkey entries.

Original comment by chenall.cn on 15 Oct 2013 at 8:58

GoogleCodeExporter commented 8 years ago
Thanks, much better, but I am having a problem with echo commands

if in graphicsmode with 80x600 wallpaper, echo commands don't work.
Usually, a menu entry is executed it clears the screen and switches to console 
but hotkey doesn't seem to do this - the hires menu and border are still 
present?

hotkey [Ctrl+F1] "echo Hi ;; pause ;; configfile /menu.lst"

even
hotkey [Ctrl+F1] "grpahicsmode 3 ;; echo Hi ;; pause ;; configfile /menu.lst"
does not echo to the screen

Original comment by Steve6375 on 15 Oct 2013 at 10:19

GoogleCodeExporter commented 8 years ago
Because the previous versions of grub4dos will Disable all output for hotkey.

Please try this grldr.

Original comment by chenall.cn on 15 Oct 2013 at 12:16

Attachments:

GoogleCodeExporter commented 8 years ago
That works!
This is great!
Thank you for doing this work - hopefully this means there is less reason to 
use GFXBoot for some people now.
:-)
Is the change to grldr low risk?

Original comment by Steve6375 on 15 Oct 2013 at 12:21

GoogleCodeExporter commented 8 years ago
only add two lines..^

diff --git a/stage2/stage2.c b/stage2/stage2.c
index f17e21d..34072f8 100644
--- a/stage2/stage2.c
+++ b/stage2/stage2.c
@@ -803,6 +803,8 @@ restart1:
                        putchar_hooked = (unsigned char*)0x800;
                        c = hotkey_func(0,-1);
                        putchar_hooked = 0;
+                       if (c == -1)
+                           goto restart1;
                        if (c>>16)
                        {
                                temp_entryno = (long)(unsigned char)(c>>16);

Original comment by chenall.cn on 15 Oct 2013 at 12:40

GoogleCodeExporter commented 8 years ago
P.S.
HotKey Boot: xxxxxxxxxxxxxxxxxxxxx

is displayed on the screen - the whole command line is displayed.
Is this necessary? or must we start all commmands with 'clear' ?

Original comment by Steve6375 on 15 Oct 2013 at 12:44

GoogleCodeExporter commented 8 years ago
I am getting message 'not enough space'
How much space is there for commands? Can it be increased a bit as I only have 
added 2.

Original comment by Steve6375 on 15 Oct 2013 at 1:04

GoogleCodeExporter commented 8 years ago
also after adding 5 small hotkeys, I am getting 'error: wrong hotkey cmd space 
address!' when trying to add another.

Original comment by Steve6375 on 15 Oct 2013 at 1:19

GoogleCodeExporter commented 8 years ago
1.HotKey Boot: xxxxxxxxxxxxxxxxxxxxx
I think we need a control to set it show or hide.
e.g. debug off

2.current 4KB limit for all hotkey cmds.

3.This may be bug.

Original comment by chenall.cn on 15 Oct 2013 at 2:08

GoogleCodeExporter commented 8 years ago
When you run the old hotkey with no parameters you just got a short message 
displayed, now new hotkey display a load of help text. This makes it 
incompatible with old version. Could we have usage displayed only if hotkey -h 
maybe?

Original comment by Steve6375 on 15 Oct 2013 at 2:11

GoogleCodeExporter commented 8 years ago
This message will display only run in COMMANDLINE,but there is a bug in 
uploaded version.

Please try this.

Original comment by chenall.cn on 15 Oct 2013 at 2:55

Attachments:

GoogleCodeExporter commented 8 years ago
that's better with help suppressed. :-)

Original comment by Steve6375 on 15 Oct 2013 at 3:37

GoogleCodeExporter commented 8 years ago

Original comment by chenall.cn on 16 Oct 2013 at 2:11

GoogleCodeExporter commented 8 years ago
can you release the new grldr so it can be used with the new hotkey please?

Original comment by Steve6375 on 16 Oct 2013 at 3:24

GoogleCodeExporter commented 8 years ago
Ok,uploaded!
With the new version,i also add a new feature, can quickly access the 
system_variables(read only),using read command.

e.g.

read VAR.42 ;; set color_32=%@retval%
read VAR.43 ;; set color_fg=%@retval%

note: This feature is for developers,undocumented.

Original comment by chenall.cn on 17 Oct 2013 at 7:13