if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
   font=$prefix/font.pf2
fi

if loadfont $font ; then
  set gfxmode=800x600
  set gfxpayload=keep
  insmod efi_gop
  insmod efi_uga
  insmod video_bochs
  insmod video_cirrus
  insmod gfxterm
  insmod png
  insmod jpeg
  # Added as a workaround for #1110759
  echo "Loading bootloader..."
  terminal_output gfxterm
fi

# Scutarius: the shield-wall background (build/boot/scutarius-splash.jpg,
# copied next to font.pf2 by config/x86.cfg) with the theme's colours, the
# same look as boot/arm64/grub/grub-efi.cfg; no Devuan splash on any path
# (handoff 2026-09-05 G2). Plain colours if the image cannot be shown.
if background_image -m stretch $prefix/splash.jpg; then
  set color_normal=light-gray/black
  set color_highlight=white/black
else
  set menu_color_normal=white/black
  set menu_color_highlight=black/light-gray
fi

insmod play
play 960 440 1 0 4 440 1

# Scutarius: put the boot MENU on the serial line as well, and give it a
# timeout so an unattended machine proceeds on its own. --append keeps
# whatever the block above configured (gfxterm where there is a screen).
if serial --unit=0 --speed=115200; then
  terminal_input --append serial
  terminal_output --append serial
fi
# Scutarius: 30 s so the menu can be caught over a KVM or serial line. The
# default is "Install" again (scutarius5/6 defaulted to the expert entry;
# reverted on the owner's ruling 2026-09-06); "... Expert install" stays under
# Advanced options (menu ids from our grub-gencfg patch: advanced>expert).
set timeout=30
set default='install'
menuentry --id=install 'Install' {
    set background_color=black
    linux    /debian-installer/amd64/linux vga=788 --- quiet
    initrd   /debian-installer/amd64/initrd.gz
}
submenu --hotkey=a --id=advanced 'Advanced options ...' {
    set gfxpayload=keep
    menuentry --id=expert '... Expert install' {
        set background_color=black
        linux    /debian-installer/amd64/linux priority=low vga=788 ---
        initrd   /debian-installer/amd64/initrd.gz
    }
    menuentry '... Rescue mode' {
        set background_color=black
        linux    /debian-installer/amd64/linux vga=788 rescue/enable=true --- quiet
        initrd   /debian-installer/amd64/initrd.gz
    }
    menuentry '... Automated install' {
        set background_color=black
        linux    /debian-installer/amd64/linux auto=true priority=critical vga=788 --- quiet
        initrd   /debian-installer/amd64/initrd.gz
    }
    menuentry --hotkey=x '... Expert install with speech synthesis' {
        set background_color=black
        linux    /debian-installer/amd64/linux priority=low vga=788 speakup.synth=soft ---
        initrd   /debian-installer/amd64/initrd.gz
    }
    menuentry --hotkey=r '... Rescue mode with speech synthesis' {
        set background_color=black
        linux    /debian-installer/amd64/linux vga=788 rescue/enable=true speakup.synth=soft --- quiet
        initrd   /debian-installer/amd64/initrd.gz
    }
    menuentry --hotkey=a '... Automated install with speech synthesis' {
        set background_color=black
        linux    /debian-installer/amd64/linux auto=true priority=critical vga=788 speakup.synth=soft --- quiet
        initrd   /debian-installer/amd64/initrd.gz
    }
    menuentry '... Install (serial console)' {
        set background_color=black
        linux    /debian-installer/amd64/linux vga=788 --- quiet console=tty0 console=ttyS0,115200n8
        initrd   /debian-installer/amd64/initrd.gz
    }
    menuentry '... Expert install (serial console)' {
        set background_color=black
        linux    /debian-installer/amd64/linux priority=low vga=788 --- console=tty0 console=ttyS0,115200n8
        initrd   /debian-installer/amd64/initrd.gz
    }
    submenu '... Desktop environment menu ...' {
        set gfxpayload=keep
        submenu '... GNOME desktop boot menu ...' {
            set gfxpayload=keep
            menuentry '... Install' {
                set background_color=black
                linux    /debian-installer/amd64/linux desktop=gnome vga=788 --- quiet
                initrd   /debian-installer/amd64/initrd.gz
            }
            submenu '... GNOME advanced options ...' {
                set gfxpayload=keep
                menuentry '... Expert install' {
                    set background_color=black
                    linux    /debian-installer/amd64/linux desktop=gnome priority=low vga=788 ---
                    initrd   /debian-installer/amd64/initrd.gz
                }
                menuentry '... Automated install' {
                    set background_color=black
                    linux    /debian-installer/amd64/linux desktop=gnome auto=true priority=critical vga=788 --- quiet
                    initrd   /debian-installer/amd64/initrd.gz
                }
                menuentry --hotkey=x '... Expert install with speech synthesis' {
                    set background_color=black
                    linux    /debian-installer/amd64/linux desktop=gnome priority=low vga=788 speakup.synth=soft ---
                    initrd   /debian-installer/amd64/initrd.gz
                }
                menuentry --hotkey=a '... Automated install with speech synthesis' {
                    set background_color=black
                    linux    /debian-installer/amd64/linux desktop=gnome auto=true priority=critical vga=788 speakup.synth=soft --- quiet
                    initrd   /debian-installer/amd64/initrd.gz
                }
            }
        }
        submenu '... KDE Plasma desktop boot menu ...' {
            set gfxpayload=keep
            menuentry '... Install' {
                set background_color=black
                linux    /debian-installer/amd64/linux desktop=kde vga=788 --- quiet
                initrd   /debian-installer/amd64/initrd.gz
            }
            submenu '... KDE Plasma advanced options ...' {
                set gfxpayload=keep
                menuentry '... Expert install' {
                    set background_color=black
                    linux    /debian-installer/amd64/linux desktop=kde priority=low vga=788 ---
                    initrd   /debian-installer/amd64/initrd.gz
                }
                menuentry '... Automated install' {
                    set background_color=black
                    linux    /debian-installer/amd64/linux desktop=kde auto=true priority=critical vga=788 --- quiet
                    initrd   /debian-installer/amd64/initrd.gz
                }
                menuentry --hotkey=x '... Expert install with speech synthesis' {
                    set background_color=black
                    linux    /debian-installer/amd64/linux desktop=kde priority=low vga=788 speakup.synth=soft ---
                    initrd   /debian-installer/amd64/initrd.gz
                }
                menuentry --hotkey=a '... Automated install with speech synthesis' {
                    set background_color=black
                    linux    /debian-installer/amd64/linux desktop=kde auto=true priority=critical vga=788 speakup.synth=soft --- quiet
                    initrd   /debian-installer/amd64/initrd.gz
                }
            }
        }
        submenu '... LXDE desktop boot menu ...' {
            set gfxpayload=keep
            menuentry '... Install' {
                set background_color=black
                linux    /debian-installer/amd64/linux desktop=lxde vga=788 --- quiet
                initrd   /debian-installer/amd64/initrd.gz
            }
            submenu '... LXDE advanced options ...' {
                set gfxpayload=keep
                menuentry '... Expert install' {
                    set background_color=black
                    linux    /debian-installer/amd64/linux desktop=lxde priority=low vga=788 ---
                    initrd   /debian-installer/amd64/initrd.gz
                }
                menuentry '... Automated install' {
                    set background_color=black
                    linux    /debian-installer/amd64/linux desktop=lxde auto=true priority=critical vga=788 --- quiet
                    initrd   /debian-installer/amd64/initrd.gz
                }
                menuentry --hotkey=x '... Expert install with speech synthesis' {
                    set background_color=black
                    linux    /debian-installer/amd64/linux desktop=lxde priority=low vga=788 speakup.synth=soft ---
                    initrd   /debian-installer/amd64/initrd.gz
                }
                menuentry --hotkey=a '... Automated install with speech synthesis' {
                    set background_color=black
                    linux    /debian-installer/amd64/linux desktop=lxde auto=true priority=critical vga=788 speakup.synth=soft --- quiet
                    initrd   /debian-installer/amd64/initrd.gz
                }
            }
        }
    }
}
submenu --hotkey=d 'Accessible dark contrast installer menu ...' {
    set menu_color_normal=white/black
    set menu_color_highlight=yellow/black
    set color_normal=white/black
    set color_highlight=yellow/black
    background_image
    set gfxpayload=keep
    menuentry '... Install' {
        set background_color=black
        linux    /debian-installer/amd64/linux vga=788 theme=dark --- quiet
        initrd   /debian-installer/amd64/initrd.gz
    }
    submenu --hotkey=a '... Advanced options ...' {
        set menu_color_normal=white/black
        set menu_color_highlight=yellow/black
        set color_normal=white/black
        set color_highlight=yellow/black
        background_image
        set gfxpayload=keep
        menuentry '... Expert install' {
            set background_color=black
            linux    /debian-installer/amd64/linux priority=low vga=788 theme=dark ---
            initrd   /debian-installer/amd64/initrd.gz
        }
        menuentry '... Rescue mode' {
            set background_color=black
            linux    /debian-installer/amd64/linux vga=788 rescue/enable=true theme=dark --- quiet
            initrd   /debian-installer/amd64/initrd.gz
        }
        menuentry '... Automated install' {
            set background_color=black
            linux    /debian-installer/amd64/linux auto=true priority=critical vga=788 theme=dark --- quiet
            initrd   /debian-installer/amd64/initrd.gz
        }
    }
}
