[Quote]

    vovan1982
  • 214
  • Longevity: 9 years
  • Posts: 1132
  • REPUTATION:77

    [+] [-]
  • Location: Ростов-на-Дону
AZJIO, спасибо. Я только утреннее обновление опробовал, а тут новое вышло.
PS: Думаю нужно репозиторий делать ah

[Quote]

    AZJIO
  • 17953
  • Longevity: 6 years 9 months
  • Posts: 1324
  • REPUTATION:127

    [+] [-]
Обновлено
1. Значки кнопок сохранения (2 шт) изменяются на красный цвет, когда документ требует сохранения
2. Окно информации теперь поддерживает множество кнопок и зависит от числа параметров в секции [info] в ini-файле.
3. Моноширинный шрифт для окна инфо можно задать в ini-файле FontInfo=DejaVuSansMono
4. Исправлена ошибка связанная с изменением размера окна информации, которая распространялась на оба окна.

[Quote]

    vovan1982
  • 214
  • Longevity: 9 years
  • Posts: 1132
  • REPUTATION:77

    [+] [-]
  • Location: Ростов-на-Дону
AZJIO, приветствую. Протестировал обновление. Стало еще лучше и удобнее. ay Есть просьба. Добавить шаблоны, которые потом можно было бы использовать. Например: сохранить выражение probe --set=UUID --fs-uuid $root, чтобы потом была возможность подменять UUID раздела переменной $UUID. Для того, чтобы шаблоны были под рукой.

[Quote]

    AZJIO
  • 17953
  • Longevity: 6 years 9 months
  • Posts: 1324
  • REPUTATION:127

    [+] [-]
vovan1982
Есть следующие идеи
1. Сделать флаг предупреждать ли о несохранённасти файла перед закрытием, с галкой "больше на спрашивать.
2. UUID в шаблоне должен быть явный пускай такой: 11111111-2222-3333-4444-555555555555 (или регвыром любой выследить), так как если там будет слово UUID, то не каждый догадается что его надо изменить на свой. Можно сделать проверку буфера при вставке и если прога обнаруживает там UUID то предлагает подменить искусственный UUID на тот что в буфере обмена

[Quote]

    vovan1982
  • 214
  • Longevity: 9 years
  • Posts: 1132
  • REPUTATION:77

    [+] [-]
  • Location: Ростов-на-Дону
AZJIO, 2-й вариант мне нравится.
ЗЫ: прилагаю свой конфиг. Просто у меня нигде явно UUID не указан. Ну это так, для ознакомления.

grub_cfg

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
probe --set=UUID --fs-uuid $root
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
if [ "${initrdfail}" = 2 ]; then
set initrdfail=
elif [ "${initrdfail}" = 1 ]; then
set next_entry="${prev_entry}"
set prev_entry=
save_env prev_entry
if [ "${next_entry}" ]; then
set initrdfail=2
fi
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="${saved_entry}"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function initrdfail {
if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then
if [ -z "${initrdfail}" ]; then
set initrdfail=1
if [ -n "${boot_once}" ]; then
set prev_entry="${default}"
save_env prev_entry
fi
fi
save_env initrdfail
fi; fi
}
function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
insmod part_msdos
insmod ext2
set root='hd1,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos6 --hint-efi=hd1,msdos6 --hint-baremetal=ahci1,msdos6 $UUID
else
search --no-floppy --fs-uuid --set=root $UUID
fi
if loadfont /boot/grub/fonts/UbuntuMono32.pf2 ; then
set gfxmode=1920x1080,auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=ru_RU
insmod gettext
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='hd1,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos6 --hint-efi=hd1,msdos6 --hint-baremetal=ahci1,msdos6 $UUID
else
search --no-floppy --fs-uuid --set=root $UUID
fi
insmod gfxmenu
insmod png
set theme=($root)/boot/grub/themes/linuxmint-2k/theme.txt
export theme
if [ "${recordfail}" = 1 ] ; then
set timeout=30
else
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=hidden
set timeout=5
# Fallback hidden-timeout code in case the timeout_style feature is
# unavailable.
elif sleep --interruptible 5 ; then
set timeout=0
fi
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux_proxy ###
function gfxmode {
set gfxpayload="${1}"
if [ "${1}" = "keep" ]; then
set vt_handoff=vt.handoff=7
else
set vt_handoff=
fi
}
if [ "${recordfail}" != 1 ]; then
if [ -e ${prefix}/gfxblacklist.txt ]; then
if [ ${grub_platform} != pc ]; then
set linux_gfx_mode=keep
elif hwmatch ${prefix}/gfxblacklist.txt 3; then
if [ ${match} = 0 ]; then
set linux_gfx_mode=keep
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
menuentry "Linux Mint 21.3 Cinnamon" --hotkey "m" --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-$UUID' {
recordfail
savedefault
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd1,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos6 --hint-efi=hd1,msdos6 --hint-baremetal=ahci1,msdos6 $UUID
else
search --no-floppy --fs-uuid --set=root $UUID
fi
linux /boot/vmlinuz-6.5.0-25-generic root=UUID=$UUID ro quiet splash $vt_handoff
initrd /boot/initrd.img-6.5.0-25-generic
}
### END /etc/grub.d/10_linux_proxy ###
### BEGIN /etc/grub.d/30_os-prober_proxy ###
probe --set=WUID --fs-uuid (hd0,msdos1)
menuentry "Windows 10 (on /dev/sda1)" --hotkey "w" --class windows --class os $menuentry_id_option 'osprober-chain-$WUID' {
savedefault
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 $WUID
else
search --no-floppy --fs-uuid --set=root $WUID
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober_proxy ###
### BEGIN /etc/grub.d/31_linux_zfs ###
### END /etc/grub.d/31_linux_zfs ###
### BEGIN /etc/grub.d/32_linux_xen ###
### END /etc/grub.d/32_linux_xen ###
### BEGIN /etc/grub.d/33_os-prober_proxy ###
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
set timeout=10
fi
### END /etc/grub.d/33_os-prober_proxy ###
### BEGIN /etc/grub.d/34_uefi-firmware ###
### END /etc/grub.d/34_uefi-firmware ###
### BEGIN /etc/grub.d/35_fwupd ###
### END /etc/grub.d/35_fwupd ###
### BEGIN /etc/grub.d/40_custom_proxy ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Grub2 FM" --hotkey "g" --class linux {
set root='hd0,msdos1'
search --no-floppy --fs-uuid --set=root $UUID
if [ ${grub_cpu} = "x86_64" -a ${grub_platform} = "efi" ]; then
chainloader /boot/grub/grubfmx64.efi
else
loopback loop /boot/grub/grubfm.iso
linux /boot/grub/loadfm
initrd /boot/grub/grubfm.iso
fi
}
menuentry "Reboot" --hotkey "r" --class restart {
reboot
}
menuentry "Shutdown" --hotkey "s" --class shutdown {
halt
}
### END /etc/grub.d/40_custom_proxy ###
### BEGIN /etc/grub.d/41_linux_proxy ###
probe --set=UUID --fs-uuid $root
submenu "Advanced options for Linux Mint 21.3 Cinnamon" --hotkey "a" --class steamos {
menuentry "Linux Mint 21.3, with Linux 6.5.0-25-generic" --hotkey "1" --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.5.0-25-generic-advanced-$UUID' {
recordfail
savedefault
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd1,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos6 --hint-efi=hd1,msdos6 --hint-baremetal=ahci1,msdos6 $UUID
else
search --no-floppy --fs-uuid --set=root $UUID
fi
echo 'Loading Linux 6.5.0-25-generic ...'
linux /boot/vmlinuz-6.5.0-25-generic root=UUID=$UUID ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-6.5.0-25-generic
}
menuentry "Linux Mint 21.3, with Linux 6.5.0-25-generic (recovery mode)" --hotkey "2" --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-6.5.0-25-generic-recovery-$UUID' {
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd1,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos6 --hint-efi=hd1,msdos6 --hint-baremetal=ahci1,msdos6 $UUID
else
search --no-floppy --fs-uuid --set=root $UUID
fi
echo 'Loading Linux 6.5.0-25-generic ...'
linux /boot/vmlinuz-6.5.0-25-generic root=UUID=$UUID ro recovery nomodeset dis_ucode_ldr
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-6.5.0-25-generic
}
menuentry "Linux Mint 21.3, with Linux 5.15.0-100-generic" --hotkey "3" --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-100-generic-advanced-$UUID' {
recordfail
savedefault
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd1,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos6 --hint-efi=hd1,msdos6 --hint-baremetal=ahci1,msdos6 $UUID
else
search --no-floppy --fs-uuid --set=root $UUID
fi
echo 'Loading Linux 5.15.0-100-generic ...'
linux /boot/vmlinuz-5.15.0-100-generic root=UUID=$UUID ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.15.0-100-generic
}
menuentry "Linux Mint 21.3, with Linux 5.15.0-100-generic (recovery mode)" --hotkey "4" --class linuxmint --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.15.0-100-generic-recovery-$UUID' {
recordfail
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd1,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos6 --hint-efi=hd1,msdos6 --hint-baremetal=ahci1,msdos6 $UUID
else
search --no-floppy --fs-uuid --set=root $UUID
fi
echo 'Loading Linux 5.15.0-100-generic ...'
linux /boot/vmlinuz-5.15.0-100-generic root=UUID=$UUID ro recovery nomodeset dis_ucode_ldr
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.15.0-100-generic
}
}
### END /etc/grub.d/41_linux_proxy ###
### BEGIN /etc/grub.d/43_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg
fi
### END /etc/grub.d/43_custom ###

[Quote]

    AZJIO
  • 17953
  • Longevity: 6 years 9 months
  • Posts: 1324
  • REPUTATION:127

    [+] [-]
vovan1982, я сейчас в Windows сделал выше сказанные фичи (поиск UUID регвыром и мессага с предложением заменить), но лень пока в Linux перезагружать чтобы компилировать и собирать. У меня четыре ОС, иногда даже больше, если бы диск сразу купил на 2 терабайта точно было бы больше и под каждую ОС свой UUID и вариант с одним UUID на всех не подходит, а в шаблонах его вообще нет, там они могут появится если пользователь сделал копии своих пунктов как шаблоны. Если UUID сохранён как переменная, это тоже не создаёт проблем.
Я могу сделать окно замены, чтобы найти в конфиге какой-то текст и заменить другим. Мне кажется это более универсальное решение, чем прописывать что-то индивидуальное. Или даже добавить историю замен, чтобы можно было выбрать.

[Quote]

    AZJIO
  • 17953
  • Longevity: 6 years 9 months
  • Posts: 1324
  • REPUTATION:127

    [+] [-]
Обновления
При открытии шаблона если в нём есть UUID и в буфере обмена UUID, то предложение заменить UUID в шаблоне.
Необходимость сохранения теперь также контролируется при дублировании, удалении, открытии шаблона
При закрытии программы предлагается сохранить, если данные помечены как не сохранённые.

[Quote]

    AZJIO
  • 17953
  • Longevity: 6 years 9 months
  • Posts: 1324
  • REPUTATION:127

    [+] [-]
Обновление
Добавлено диалоговое окно замены.

[Quote]

    vovan1982
  • 214
  • Longevity: 9 years
  • Posts: 1132
  • REPUTATION:77

    [+] [-]
  • Location: Ростов-на-Дону
AZJIO, aa отличнл. Завтра опробую.

[Quote]

    AZJIO
  • 17953
  • Longevity: 6 years 9 months
  • Posts: 1324
  • REPUTATION:127

    [+] [-]
Вот так оно выглядит.

[Quote]

    vovan1982
  • 214
  • Longevity: 9 years
  • Posts: 1132
  • REPUTATION:77

    [+] [-]
  • Location: Ростов-на-Дону
AZJIO, привет. Отлично. И шаблоны и поиск и замена.
Единственное. На MINT'е не запоминает выбор "запускать от root".

[Quote]

    AZJIO
  • 17953
  • Longevity: 6 years 9 months
  • Posts: 1324
  • REPUTATION:127

    [+] [-]
vovan1982, у меня Mint, запоминает. Причём на остальных системах тоже проверял, запоминает. Если что не пароль запоминает, а только принцип запуска. пароль спрашивает всегда при сохранённым root=1. А при запуске без root не спрашивает пароль, но и не сохраняет в папки требующие пароли, при этом кому-то не понравится что прога запускается от админа и он готов открывать без админа, а потом копировать сохранённый конфиг в папку grub. Поэтому и сделана возможность самостоятельно сделать выбор.
Надо сделать если без админа, то бэкапировать в папку ini-конфига, а то настоящая то папка grub недоступна.

[Quote]

    vovan1982
  • 214
  • Longevity: 9 years
  • Posts: 1132
  • REPUTATION:77

    [+] [-]
  • Location: Ростов-на-Дону
AZJIO, спасибо за разъяснение. Я подумал, что и пароль спрашивать не будет.
А где сохраняет ini файл?

[Quote]

    AZJIO
  • 17953
  • Longevity: 6 years 9 months
  • Posts: 1324
  • REPUTATION:127

    [+] [-]
102594
А где сохраняет ini файл?
/home/user/.config/Grub2-generator/
На днях как нибудь скомпилирую с бэкапированием без админа, исходник уже обновил, на арче собрал.

[Quote]

    vovan1982
  • 214
  • Longevity: 9 years
  • Posts: 1132
  • REPUTATION:77

    [+] [-]
  • Location: Ростов-на-Дону
AZJIO, на данном этапе я от софтины уже получил то, что хотел. Куски кода бэкапит и их потом можно восстановить. Данную фичу я проверил.
Если будет дальнейшее развитие, то я также в деле по тестированию.
PS: на самом деле ini и шаблоны сохраняет в /root/.config/Grub2-generator/ и /root/.config/Grub2-generator/template/ , но для меня это не проблема, просто нужно было знать путь к месту сохранения.

Page 2 of 3


Display posts:    

Current time is: 06-Dec 00:55

All times are UTC + 3


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum