Czy prekondycje ;-) działają?

w dziale Dostosowywanie Opery do własnych potrzeb
saranis napisał(a):

Witam
Czy ktoś może potwierdzić niedziałanie tzw. preconditions - czyli opcji warunkujących wyświetlanie pozycji menu od np. systemu operacyjnego?
Mam sobie w kilku miejscach menu takie coś:

Platform Windows, Item, "Otwórz w IE"="Execute program, "iexplore.exe","%T",,"IE""
Platform Unix, Item, "Otwórz w IE5"="Execute program, "~/bin/ie5","%T",,"IE""
Platform Unix, Item, "Otwórz w IE6"="Execute program, "~/bin/ie6","%T",,"IE""
Platform Unix, Item, "Otwórz w Konquerorze"="Execute program, "konqueror", "%T",,"Konqueror""

Oczywiście parametry przekazywane do programów różnią się zależnie od miejsca danej pozycji w menu. Pozostałe przeglądarki mają być wyświetlane zawsze, więc ich tu nie wkleiłem.
I niestety Opera przestała zwracać na te warunki uwagę, co skutkuje wyświetlaniem pod win przeglądarek dla Linuksa (BTW, instalacja IE i to w kilku wersjach naraz jest obecnie w Linuksie równie prosta jak instalacja Opery bigsmile ). Jak jest w Linuksie nie wiem, bo w tej chwili nie mam go na dysku.
Jeśli to bug, no to cóż, pozostaje mi tworzyć dwie wersje menu, zależne od OS, co wcale mi się nie uśmiecha, ale może ja coś schrzaniłem?
Numer wersji pliku menu mam Opera Preferences version 2.1 więc to raczej nie to. Plik kodowany w UTF-8, więc to też nie (zresztą jak zauważyłem, jedynie polskie ogonki by się "wykrzaczyły" - już to kiedyś przerabiałem wink ). Od czego to jeszcze może zależeć?

Medium napisał(a):

Notatka z wiki.info, nie wiem doprawdy, czy w linuxie jest tak samo...

Parameter, Variables

In some cases you need one of the variables below as parameter (normally for p2 or p3):

"%c" (clipboard content)
"%l" (address of a link you right-click)
"%s" (filename of local source cache)
"%t" (currently selected text)
"%u" (current document url)

Mainly the variable "%u" is in use as p2 for Open page in... . Some other examples you find on: IniFileVariables
The variable "%l" normally only to use for a link related context menu inside the menu.ini.


Dodane:
IE działa z parametrem "%c" i chyba nawet "%l", ale najpewniejszy jest "%u".
No i adres do treści notatki:http://operawiki.info/AdvancedToolbarINIGuide#variables

saranis napisał(a):

Originally posted by saranis:

Oczywiście parametry przekazywane do programów różnią się zależnie od miejsca danej pozycji w menu.


Różnice w parametrach znam - w zależności od położenia menu (menu dla linku/ dla zaznaczonego tekstu/ dla całego dokumentu/ etc) podaje się odpowiedni parametr. To działało i działa nadal.
W Linuksie są takie same literki odpowiednich parametrów.
Parametr %u (%U - wielkość liter nie ma znaczenia) poda Ci do polecenia (czy to wewnętrznego, czy zewnętrznego) adres aktualnie otwartej strony - a co jeśli klikniesz na link i z tym linkiem chcesz coś zrobić? Po to jest np. %L - jak to zresztą ładnie wyjaśnia Twój cytat z OperaWiki smile I z każdym poleceniem (programem) działa każdy z tych parametrów - o ile tylko są w nim dane obsługiwane przez wybrane polecenie wink
Wg mnie to troszkę zamieszane, bo z tego powodu musiałem i tak powielić w swoim menu te same polecenia w zależności od przyjmowanych przez nie parametrów (jak by nie mogli zrobić jednego "inteligentnego" parametru kontekstowego - klikasz na dokumencie - w parametrze masz jego adres, klikasz na linku - masz adres tego linku a nie dokumentu itp. :/ W końcu chyba jest ustawiony jakiś priorytet klikania, obecnie i tak stosowany dla decyzji, jakie menu Opera ma wyświetlić - co za problem, by poza tym Opera też decydowała sama, z czego ma pobrać parametr? A może wie ktoś czy nie ma takiego requesta na wishliście? Zaraz bym się dopisał), np. właśnie "Otwórz w..." - osobno dla dokumentu, osobno dla linku i osobno dla zaznaczenia, przez co moje menu ciągnie się podobnie jak ten post bigsmile więc wolałbym teraz uniknąć konieczości jeszcze robienia jego kopii pod każdy system z osobna, na jakim przyjdzie mi pracować a potem utrzymywania integralności w poleceiach pomiędzy tymi kopiami.
I po to właśnie zostały wymyślone te wpisy, o które mi chodzi: Platform Windows(Unix/ Mac/ QNX i ich kombinacje) czy Feature Mail(Chat/ RSS i ich kombinacje) - na wersjach wcześniejszych od 9 działały bez problemu a teraz nie chcą sad
Przy okazji - co ciekawe, prekondycje funkcji (Features XXX) mi działają, problem tylko z tymi odnośnie platformy systemowej bigeyes

Sombria napisał(a):

Już się kiedyś z tym spotkałam http://my.opera.com/polski/forums/topic.dml?id=159067 Co ciekawe Opera uwzględnia te wpisy w głównym menu. Działają też przy przyciskach w toolbar.ini, więc można kombinować w ten sposób (utworzyć oddzielne menu dla każdego systemu):

Platform Windows, Button??, "Windows"=Show popup menu, "Menu Windows"
Platform Unix, Button??, "Unix"=Show popup menu, "Menu Unix"

Trzeba chyba zgłosić błąd.

Medium napisał(a):

A może przyczyną jest fakt, że w Operze 9 zmieniono numerację komend?
http://operawiki.info/AdvancedToolbarINIGuide#p3parameter

Chodzi mi o ten fragment:

Since Opera 9 all entries in the language file (.lng) are numbered in a new way; with nine- or ten-digit numbers now. After some primarily difficulties it seems to be this way now:
Toolbar.ini and Menu.ini for Opera 9.x only: please use the new numbers only.
Toolbar.ini and Menu.ini for Opera 8.x AND 9.x: please use the old numbers, but in case of items which exists in Opera 9.x only use the new numbers. Opera seems to `translate` the old numbers into the new numbering if you change a toolbar (e.g. by drag and drop). We all hope this `translating mechanism` will stay as it is; otherwise there is a lot of work for all the button- and menu-tweakers...


Kiedy swego czasu próbowałam bezpośrednio podłożyć Operze 9 toolbar.ini z 8-ki, wiele dodatkowych przycisków przestało działać. Jedyną radą było ściągnięcie ich on-line nową Operą lub... edycja zgodnie z nową numeracją (Ale i tak nie wszystkie pozostały aktualne).

saranis napisał(a):

Sombria
No to już by było jakieś rozsądne obejście problemu idea A zgłosić nie zaszkodzi.
medium
Tylko że tu nie chodzi o toolbar.ini a o menu.ini i w przypadku zewnętrznego wywołania programu numery komend nie występują. Zresztą chodzi tu chyba tylko o numery "verbtextu" czyli tlumaczeń z tablicy stringów smile
Cóż, wobec tego pozostaje mi chyba tylko zaczekać aż znów zacznie to działać poprawnie smile

szyk napisał(a):

Originally posted by saranis:

Parametr %u (%U - wielkość liter nie ma znaczenia)


Ma, w przypadku wielkich liter przekazywany parametr otaczany jest cudzysłowem. smile

saranis napisał(a):

Ooo, jak miło smile Dobrze o tym wiedzieć smile

I jednak na Linuksie te prekondycje działają prawidłowo w menu (konfigi pasków, menu itp skopiowane spod Win, nie tworzone od zera) - czyli bug jest w wersji Win (i być może innych - poza linuksową shared QT). Dodatkowo mógł on pojawić się wcześniej - do niedawna siedziałem tylko na linuksie, i nie miałem pojęcia, co się z wersją dla Win dzieje...

P.S.
Pozdrowienia z Linuksa Slackware 10.0 devil