summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>2009-01-27 17:30:38 +0000
committerPascal Rigaux <pixel@mandriva.com>2009-01-27 17:30:38 +0000
commit8b40fda0dc40ead9ddc4a9866f90ae6c379f012b (patch)
treefd9ad997c4a293ba571cbe466212512d7d08bf1b
parent249c59a30616febf832864adde00562ab61358bf (diff)
downloadbootloader-theme-8b40fda0dc40ead9ddc4a9866f90ae6c379f012b.tar
bootloader-theme-8b40fda0dc40ead9ddc4a9866f90ae6c379f012b.tar.gz
bootloader-theme-8b40fda0dc40ead9ddc4a9866f90ae6c379f012b.tar.bz2
bootloader-theme-8b40fda0dc40ead9ddc4a9866f90ae6c379f012b.tar.xz
bootloader-theme-8b40fda0dc40ead9ddc4a9866f90ae6c379f012b.zip
only show the "Boot Options" entry when Fkey for "Kernel Option" is pressed
the difficulty here is to workaround the "Boot Options" from dirtying the display of the panel below it. A solution would be to move the "Boot Options" upper to leave some room between it and the panel. also adding the "Kernel Option" choice for grub, since otherwise you can't edit "Boot Options"
-rw-r--r--src/common.inc8
-rw-r--r--src/dia_kernelopts.inc6
-rw-r--r--src/menu.inc12
-rw-r--r--src/panel.inc1
-rw-r--r--src/window.inc1
5 files changed, 24 insertions, 4 deletions
diff --git a/src/common.inc b/src/common.inc
index adb0052..a8251be 100644
--- a/src/common.inc
+++ b/src/common.inc
@@ -264,6 +264,12 @@
main.redraw
} if
+ window.action actRedrawBootOptionsPanel eq {
+ /window.action actNothing def
+ menu.entry true MenuSelect
+ panel.show
+ } if
+
window.action actRedrawPanel eq {
/window.action actNothing def
panel.show
@@ -1008,7 +1014,7 @@
/menu.bar.width menu.bar.min.width def
% false: no boot options line initially
- /boot.show true def
+ /boot.show false def
} def
diff --git a/src/dia_kernelopts.inc b/src/dia_kernelopts.inc
index 942efb6..34b0d70 100644
--- a/src/dia_kernelopts.inc
+++ b/src/dia_kernelopts.inc
@@ -48,7 +48,7 @@
/kernelopts.update {
/xmenu xmenu.kernelopts def
- /window.action actRedrawPanel def
+ /window.action actRedrawBootOptionsPanel def
} def
@@ -60,6 +60,10 @@
/panel.kernelopts {
"main" help.setcontext
+ boot.show not {
+ /boot.show true def
+ } if
+
window.xmenu
dup .xmenu xmenu.kernelopts put
dup .xmenu.update /kernelopts.update put
diff --git a/src/menu.inc b/src/menu.inc
index d473cb8..2f957c1 100644
--- a/src/menu.inc
+++ b/src/menu.inc
@@ -84,7 +84,10 @@
% ( ) == > ( )
%
/boot.input.setup {
- % boot.show not { return } if
+ % HACK: we do not need to do this function if not boot.show,
+ % and since we have some ugly overlap of bootoptions on the panel
+ % we really do not want to do it if not really useful
+ boot.show not { return } if
boot.ed.list {
dup .inp_x get over .inp_y get boot.ed.height add moveto
@@ -158,7 +161,12 @@
edit.done
} ifelse
} forall
- boot.ed.list boot.window .ed.focus get get dup .inp_show get { edit.showcursor } { pop } ifelse
+ boot.ed.list boot.window .ed.focus get get dup .inp_show get {
+ edit.showcursor
+ % HACK: there is some ugly overlap of bootoptions on the panel
+ % so force to redraw the panel after displaying bootoptions
+ panel.show
+ } { pop } ifelse
boot.ed.list {
dup .inp_show get .inp_visible exch put
diff --git a/src/panel.inc b/src/panel.inc
index c559c23..3fa078a 100644
--- a/src/panel.inc
+++ b/src/panel.inc
@@ -77,6 +77,7 @@
} {
[ keyF2 0 "F2" /panel.lang /panel.lang.width /panel.lang.update /lang.init ]
+ [ keyF3 0 "F3" /panel.kernelopts /panel.kernelopts.width /panel.kernelopts.update /kernelopts.init ]
"profiles" findfile dup {
/profile.data exch def
[ keyF3 0 "F3" /panel.profile /panel.profile.width /panel.profile.update /profile.init ]
diff --git a/src/window.inc b/src/window.inc
index a151a8d..2bc6c2d 100644
--- a/src/window.inc
+++ b/src/window.inc
@@ -113,6 +113,7 @@
/actInstallOK 9 def
/actInstallCancel 10 def
/actReboot 11 def
+/actRedrawBootOptionsPanel 12 def
/actNoClose 0x100 def