LINUX.ORG.RU

Проблема с генерацией меню

 


1

1
+ "Управление съёмными носителями"      Popup MenuUserMPoints

DestroyMenu MenuUserMPoints
AddToMenu   MenuUserMPoints
# Скрипт выводящий список точек монтирования
+ DynamicPopupAction PipeRead '$[fvwm_scripts]/fvwm_make_usermount_menu.sh'
cat ~/.fvwm/scripts/fvwm_make_usermount_menu.sh 
#!/bin/sh
# Выражение на awk выведет список существующих точек монтирования.
# Выберет строки подходящие под шаблон в первом столбце,
# и выведет второй столбец из выбранных строк.
# Циклом выводим элементы списка и проверяем их.
for mpoint in `awk '$1 ~ /sd[d-z]/ {print $2}' /etc/fstab`;
do
 if mountpoint -q "$mpoint";
  then
   echo AddToMenu MenuUsermpoints \"Отключить `basename $mpoint`\" Exec exec umount $mpoint;
  else
   echo AddToMenu MenuUsermpoints \"Подключить `basename $mpoint`\" Exec exec mount  $mpoint;
 fi
done

Сам sh скрипт нормально отрабатывает в консоли. Меню генерируется. Только вот при генерации меню старые пункты меню не удаляются, а новые добавляются в конец меню. От этого и хотелось бы избавиться.

★★★★

старые пункты меню не удаляются

логично, их же никто не проверяет на валидность/нужность.

я бы запилил функциями, по вызову меню функцией парсить актуальность пункта по каким-нибудь правилам. не?

funeralismatic ★★★
()

Добавить в скрипт «DestroyMenu recreate».

У меня вот так:

DestroyMenu MenuVW
AddToMenu MenuVW "Images" Title
+ 	DynamicPopupAction PipeRead $[HOME]/bin/vw-fvwm-menu
#! /bin/sh

echo "DestroyMenu recreate MenuVW"
echo "AddToMenu MenuVW \"Images\" Title"

for i in `ls /opt/vw/image/*.im`; do
	echo "+ \"`basename $i`\"%CDE-icons/DtBldr.t.pm.png% Exec exec \$[HOME]/bin/xvw2 $i"
done
echo "+ \"\" Nop"
echo "+ \"Force refresh\"%mini/mini-turn.xpm% PipeRead \$[HOME]/bin/vw-fvwm-menu"
echo
Darkman ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.