[devel] IconPaths

Igor Vlasenko =?iso-8859-1?q?vlasenko_=CE=C1_imath=2Ekiev=2Eua?=
Вс Дек 3 18:42:56 MSK 2006


On Sat, 2 Dec 2006, Evgenii Terechkov wrote:
>> Я такое наблюдал в icewm.
>С ним в этих местах не всё в порядке. А именно: какой бы размер иконок меню
>не задавался (а я так понимаю, за это отвечает опция MenuIconSize), в меню
>всё равно записывается путь к ПЕРВОЙ найденной иконке, что не есть гуд.
>Хочется, чтобы был путь к первой найденной иконке подходящего размера.
>Можно ли это сделать (и как) с помощью menu-methods, я не знаю (Ау! Спецы
>по menu-methods, нужна ваша помощь.). 

a) жестко пробитые пути к пиктограммам в меню.
Да, согласен, это не есть хорошо, более того, 
при этом по сути игнорируется список путей к пиктограммам 
из настройки IceWM. 

Соответственно, чтобы отключить, используйте для генерации путей
следующую простую функцию в /etc/menu-methods/icewm

function findicon($filename, $defaulticon)= \
    ifeqelse($filename, "", $defaulticon, $filename)

вместо, например, (icewm-1.2.25-alt0.M30.1):
function findicon($filename, $defaulticon)= \
    ifeqelse($filename, "", $defaulticon, \
    ifelsefile($filename, $filename, \
    ifelsefile("/usr/share/icons/mini/" $filename, 
"/usr/share/icons/mini/" $filename, \
...
    ifelsefile("/usr/share/icons/slick/16x16/apps/" $filename, 
"/usr/share/icons/slick/16x16/apps/" $filename, $defaulticon))))))))\

При этом, естественно, надо выброшенные пути 
аккуратно перенести в icewm/preferences:IconPath=...

б) Пожелание (FR) в /etc/menu-methods/icewm брать 
название пиктограмм в кавычки 
(патч к /etc/menu-methods/icewm прилагаю),
поскольку иначе какой-нибудь "Must Die.xpm" 
(добавленный Wine, например)
запросто может угробить у icewm меню.

-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine

----------- следующая часть -----------
17,20c17,20
<   x11=	"  prog \"" translate(lang(), title()) "\" " findicon($icon, "-") " " $command"\n"
<   text= "  prog \"" translate(lang(), title()) "\" " findicon($icon, "-") " " term() "\n"
<   wm=   "  restart \"" translate(lang(), title()) "\" " findicon($icon, "-") " " $command"\n"
<   icewm="  prog \"" translate(lang(), title()) "\" " findicon($icon, "-") " " $command"\n"
---
>   x11=	"  prog \"" translate(lang(), title()) "\" \"" findicon($icon, "-") "\" " $command"\n"
>   text= "  prog \"" translate(lang(), title()) "\" \"" findicon($icon, "-") "\" " term() "\n"
>   wm=   "  restart \"" translate(lang(), title()) "\" \"" findicon($icon, "-") "\" " $command"\n"
>   icewm="  prog \"" translate(lang(), title()) "\" \"" findicon($icon, "-") "\" " $command"\n"
23c23
< startmenu=ifneq($title,"ALT Linux menu",ifroot("menu \"" translate(lang(), $title) "\" " findicon($icon, "default_section.xpm") " {\n","menu \"" translate(lang(),$title) "\" " findicon($icon, "default_section.xpm") " {\n"))
---
> startmenu=ifneq($title,"ALT Linux menu",ifroot("menu \"" translate(lang(), $title) "\" \"" findicon($icon, "default_section.xpm") "\" {\n","menu \"" translate(lang(),$title) "\" \"" findicon($icon, "default_section.xpm") "\" {\n"))
----------- следующая часть -----------
#!/usr/sbin/install-menu
compat="menu-1"

!include menu.h

function findicon($filename, $defaulticon)= \
    ifeqelse($filename, "", $defaulticon, $filename)

supported
  x11=	"  prog \"" translate(lang(), title()) "\" \"" findicon($icon, "-") "\" " $command"\n"
  text= "  prog \"" translate(lang(), title()) "\" \"" findicon($icon, "-") "\" " term() "\n"
  wm=   "  restart \"" translate(lang(), title()) "\" \"" findicon($icon, "-") "\" " $command"\n"
  icewm="  prog \"" translate(lang(), title()) "\" \"" findicon($icon, "-") "\" " $command"\n"
endsupported

startmenu=ifneq($title,"ALT Linux menu",ifroot("menu \"" translate(lang(), $title) "\" \"" findicon($icon, "default_section.xpm") "\" {\n","menu \"" translate(lang(),$title) "\" \"" findicon($icon, "default_section.xpm") "\" {\n"))
endmenu=ifneq($title,"ALT Linux menu","}\n")
genmenu="menu"
submenutitle=""
#submenutitle="  menu \"" $title "\" folder {\n"
preoutput="prog \"XTerm\" xterm /usr/X11R6/bin/xterm\n"
rootprefix="/usr/X11R6/lib/X11/icewm/"
mainmenutitle="ALT Linux menu"
treewalk="(M)"
userprefix=".icewm"


Подробная информация о списке рассылки Devel