Czy ktoś wie, jak mogę usunąć elementy, których nigdy nie używam z menu kontekstowego?
np .: Nagraj „yadda yadda” na dysk ...
Czy ktoś wie, jak mogę usunąć elementy, których nigdy nie używam z menu kontekstowego?
np .: Nagraj „yadda yadda” na dysk ...
Odpowiedzi:
Państwo może faktycznie usunąć rodzimych elementów MacOS z menu kontekstowego .... ale niestety, nie wydaje się, można usunąć te, które wskazane powyżej. Niezależnie od tego, jeśli chcesz rzucić okiem, idź do
Preferencje systemowe> Klawiatura> Skróty klawiaturowe> Usługi
a następnie odznacz elementy, których nie chcesz w menu.
Szkoda, że nie możesz ich wszystkich usunąć. Ale może przynajmniej pomóc pozbyć niektóre z bałaganu.
Opracowałem rozwiązanie, które (jak dotąd) działa dla domyślnych elementów kontekstowych menu prawego Findera, takich jak Burn to disk
i Burn "^1" to disc
. To jest dokładnie cel żądania PO.
Istnieje inna odmiana wzdęcia w menu kontekstowym, która pochodzi z instalowania Usług w postaci Applescript lub wtyczek wykonywalnych.
Łatwo się ich pozbyć. Bez względu na ich nazwę, po prostu wyszukaj na dysku ten ciąg. tzn. Inject Potatos!
usługa zostanie ostatecznie znaleziona w pliku o nazwie Inject Potatos!.<something>
. Mogą istnieć inne kształty i rozmiary, ale są one łatwym problemem do rozwiązania i są poza zakresem ze stanowiska PO.
Dla użytkowników nieanglojęzycznych: To rozwiązanie jest niezależne od języka. Korzystamy z funkcji lokalizacji, które konwertują domyślne ciągi + argumenty na zlokalizowane ciągi z rozszerzonymi zmiennymi.
Nie jestem pewien co do jego wewnętrznych elementów w Objective-C, ale podejrzewam, że dzieje się coś podobnego…
snprintf(str, 0, "", var1, var2, ..);
Nie ma łańcucha formatu (tj. „”), Więc zawsze kończy się str
na zerowej długości.
Jeśli str ma zerową długość, program tłumaczący lokalizacje podejdzie do tyłu drzewa, aby znaleźć szablon formatu przodka, który działa. Tak długo, jak wyzerujesz wszystkich przodków tej klasy wiadomości - ostatecznie wyczerpią szablony i zwrócą ciąg o zerowej długości do requestera lokalizacji.
Moduł renderujący menu kontekstowego rozpoznaje, że ma zerową długość, i pomija go z elementów listy menu kontekstowego, dzięki czemu uzyskuje się cieńsze menu kontekstowe.
Wiem, że formatowanie NSString różni się od C, ale jeśli nie jesteś facetem z Objective-C i musisz o tym pomyśleć w kategoriach printf, poniższe przykłady są w zasadzie takie same dla celów tego ćwiczenia.
"Throw ^1 into the ^2"
"Throw %s into the %s", arg1, arg2
.Jeśli dokonasz modyfikacji i po ponownym uruchomieniu Findera nie będzie to miało wpływu - możesz modyfikować ciąg lokalizacji w innym obszarze niż menu kontekstowe po kliknięciu prawym przyciskiem myszy. Cofnij zmianę, uruchom ponownie Findera i spróbuj ponownie. Jeśli pominiesz ten krok, może skończyć się modyfikacją czegoś innego niż menu kontekstowe i nie zdasz sobie z tego sprawy przez kilka dni.
Zrozum, że jest to w zasadzie hack, może nie działać tak, jak tego chcesz lub się spodziewasz. Dla tego, co warto, korzystałem z tych zmian (i więcej) od co najmniej kilku tygodni i nie doświadczyłem żadnych złych skutków.
Najpierw spójrzmy na zdjęcie „przed” zrobione z posta PO, które pokazuje nam typowe domyślne menu kontekstowe Findera pełne wzdęć.
Straszny!
Większość urządzeń Apple nawet nie jest już dostarczana z nagrywarkami DVD, ale Burn "^1" to disc
zajmują cenne nieruchomości.
Nie wspominając o równie bezużyteczne Quick Look
, Duplicate
, Make Alias
, Copy ^1
, itd.
Rozebrałem się tak daleko, jak tylko mogłem. Pamiętaj, że gdybyśmy wybrali plik, mielibyśmy domyślne
Open
iOpen with..
pozycje menu.
Niczego nie stracisz, chyba że to pominiesz.
Jeśli chcesz, rzeczy mogą być dość rzadkie.
cd /System/Library/CoreServices/Finder.app/Contents/Resources/English.lproj
plutil -convert xml1 Localizable.strings
, aby przekonwertować plik Localizable.strings na plik plist XML w postaci zwykłego tekstuOtwórz Localizable.strings w edytorze zwykłego tekstu / kodu (vi, pico, emacs, jed itp. - TextEdit.app nie może zapisywać plików * .txt i należy tego unikać)
Znajdź wartość, którą chcesz ukryć. W moim przypadku było to „Burn” ^ 1 ”na dysku, co jest kluczem BC50_V2.
<key>BN50_V1</key> <string>Burn to Disc…</string> <key>BN50_V2</key> <string>Burn “^1” to Disc…</string>
Moja pierwsza próba polegała na całkowitym usunięciu pary klucz-wartość, ale spowodowało to pojawienie się ciągu BC50_V1 w moim menu.
Niektóre ciągi formatu wrócą do bardziej ogólnych szablonów, jeśli istnieją. W takim przypadku musisz wyzerować wiele wartości.
Możesz zobaczyć to zachowanie z BC50_V2, które spada do BC50_V1.
Ponieważ chciałem zakończyć pozbywanie się jakichkolwiek Burn...
pozycji menu, musiałem również wyzerować BC50_V1.
Istnieją inne pary kluczowych wartości, które miały wiele błędów rezerwowych, ale zwykle są dość łatwe do zidentyfikowania, ponieważ będą miały ten sam przedrostek BC50_
i przyrostki liczbowe_V1, _V2, _V..
Możesz dodawać adnotacje do swoich zmian, przechowując kopię oryginalnego fragmentu XML pary klucz / wartość w komentarzu XML.
Wykonuję kopię fragmentu, aby go zmienić, komentuję stary fragment z opisem i wprowadzam modyfikacje do kopii. W ten sposób mogę łatwo przywrócić i nie muszę używać kontroli wersji ani mieć wielu kopii pliku.
<!-- OLD Burn.*to Disc... <key>BN50_V1</key> <string>Burn to Disc…</string> <key>BN50_V2</key> <string>Burn “^1” to Disc…</string> --> <!-- NEW Burn.*to Disc --> <key>BN50_V1</key> <string></string> <key>BN50_V2</key> <string></string>
^<number>
. Wtedy liczba reprezentuje n-ty argument. Jeśli czuli szczególnie pimpy można modyfikować Burn "^1" to Disc
do Archive "^1" forever utilizing an optical disk!
.killall -HUP Finder
zrestartować Finderaopen .
aby otworzyć okno Findera w bieżącym katalogu roboczym. Kliknij prawym przyciskiem myszy, aby otworzyć menu kontekstowe, sprawdź, czy wszystko wygląda dobrze.