파인더의 상황에 맞는 메뉴에서 항목을 제거 하시겠습니까?


14

상황에 맞는 메뉴에서 절대 사용하지 않는 항목을 어떻게 제거 할 수 있습니까?

예 : "yadda yadda"를 디스크에 굽기 ...

여기에 이미지 설명을 입력하십시오


/System/Library/CoreServices/Finder/Contents/Resources/English.lproj/Menubar.nib에 모든 항목이 있지만 문자열을 삭제하는 방법을 모르겠습니다

답변:


5

상황에 맞는 메뉴에서 기본 MacOS 항목을 실제로 제거 있습니다 . 그러나 불행히도 위에 표시된 항목을 제거 할 수는 없습니다. 어쨌든 살펴보고 싶다면

시스템 환경 설정> 키보드> 키보드 단축키> 서비스

메뉴에서 원하지 않는 항목을 선택 취소하십시오.

여기에 이미지 설명을 입력하십시오

불행히도 모든 것을 제거 할 수는 없습니다. 그러나 그것은 당신의 제거 적어도 도움을 얻을 수있는 몇 가지 혼란의.


내 솔루션 확인-Finder 기본 상황에 맞는 메뉴 항목을 OP 요청과 정확히 제거 할 수 있습니다.
신디사이저

5
  • 나는 (지금까지)에 대한 작동이에 대한 해결책 밖으로 일한 기본 과 같은 권리 메뉴 컨텍스트 항목 찾기 Burn to diskBurn "^1" to disc. 이것이 바로 OP 요청의 목표입니다.

  • 거기에 또 다른 설치에서 온다 상황에 맞는 메뉴 팽창의 품종 서비스를 AppleScript를 또는 실행 플러그인의 형태는.

    그것들은 간단하게 제거 할 수 있습니다. 이름이 무엇이든 디스크에서 해당 문자열을 검색하십시오. 즉, Inject Potatos!service는 궁극적으로이라는 파일에서 찾을 수 있습니다 Inject Potatos!.<something>. 다른 모양과 크기가있을 수 있지만 OP 게시물에서 해결하고 범위를 벗어난 쉬운 문제입니다.

  • 영어가 아닌 사용자의 경우 :이 솔루션은 언어에 구애받지 않습니다. 기본 문자열 + args를 확장 변수가있는 지역화 된 문자열로 변환하는 지역화 함수를 이용합니다.

어떻게 작동하는지에 대한 일련의 거친 추측

Objective-C 내부에 대해서는 잘 모르겠지만 이와 비슷한 것이 진행되고 있다고 생각합니다.

snprintf(str, 0, "", var1, var2, ..);

형식 문자열 (예 : "")이 없으므로 항상 str길이가 0이됩니다.

str의 길이가 0이면 현지화 해결 프로그램이 트리를 뒤로 걸어 작동하는 조상 형식 템플릿을 찾습니다. 해당 메시지 클래스의 모든 조상을 제로화하는 한 결국 템플릿을 소진하고 길이가 0 인 문자열을 지역화 요청자에게 반환합니다.

상황에 맞는 메뉴 렌더러는 길이가 0임을 인식하고 상황에 맞는 메뉴 목록 항목에서 생략하며 상황에 맞는 메뉴를 더 얇게 만듭니다.

중대한

  • 무엇을하고 있는지 모른다면 Finder를 엉망으로 만들 수 있습니다. 이 체크리스트를 사용하여 쿵푸가 있는지 확인하십시오.
  • 껍질을 편안하게 사용하십시오
  • vim, nano, emacs 등과 같은 일반 텍스트 편집기를 사용하는 방법을 알고 있어야합니다.
  • 편집하기 전에 항상 편집 한 모든 파일을 백업하십시오.
  • 한 번에 하나씩 변경하고, Finder를 죽이고, 모든 것이 좋아 보이는지 확인하십시오. 10 번으로 가십시오. 많은 변경 사항을 적용하여 문제가 발생하면 모든 변경 사항을 되돌려 야합니다.
  • NSString 형식이 C와 다르다는 것을 알고 있지만 Objective-C 사용자가 아니며 printf와 관련하여 생각 해야하는 경우 다음 예제도 기본적 으로이 연습의 목적과 동일합니다.

    • Obj-C 템플릿 : "Throw ^1 into the ^2"
    • printf 템플릿 : "Throw %s into the %s", arg1, arg2.

    수정을하고 Finder를 다시 시작한 후에는 영향을 미치지 않는 것 같습니다. 마우스 오른쪽 버튼을 클릭하면 나타나는 상황에 맞는 메뉴가 아닌 다른 영역에서 현지화 문자열을 수정했을 수 있습니다. 변경 사항을 되돌리고 Finder를 다시 시작한 후 다시 시도하십시오. 이 단계를 건너 뛰면 상황에 맞는 메뉴 이외의 항목을 수정하여 며칠이 지나야 인식하지 못할 수 있습니다.

  • 이것은 기본적으로 해킹이므로 이해하거나 원하는 방식으로 작동하지 않을 수 있습니다. 가치가있는 것에 대해 나는 지금 적어도 몇 주 동안 이러한 변경 (및 그 이상)으로 실행 해 왔으며 아무런 영향을 미치지 않았습니다.


스톡 파인더 컨텍스트 메뉴 예

먼저 OP 게시물에서 가져온 '이전'이미지를 살펴보면 팽창으로 가득 찬 일반적인 기본 Finder 컨텍스트 메뉴가 표시됩니다.

부풀린 파인더 컨텍스트 메뉴

무서운!

Apple 기기의 대부분은 더 이상 DVD 버너와 함께 제공되지 않지만 Burn "^1" to disc귀중한 부동산을 차지하고 있습니다.

언급하지 않기 위하여 똑같이 쓸모없는 Quick Look, Duplicate, Make Alias, Copy ^1, 등


새로운 핫 컨텍스트 메뉴

새로운 핫함

내가 얻을 수있는 한 벗겨졌다 파일을 선택하면 기본 OpenOpen with..메뉴 항목 이 있음을 명심하십시오 .

생략하지 않으면 아무것도 잃지 않습니다.

원하는 경우 상황이 상당히 희박해질 수 있습니다.


명령

  • 관심있는 $ LANGUAGE.lproj 파일을 찾으십시오. 제 경우에는 영어를 구사합니다.
  • cd /System/Library/CoreServices/Finder.app/Contents/Resources/English.lproj
  • plutil -convert xml1 Localizable.stringslocalizable.strings를 일반 텍스트 XML plist 파일로 변환하기 위해 run
  • Localizable.strings를 백업 합니다. 무언가를 엉망으로 만들면 변경 사항을 되돌릴 수 있습니다.
  • 일반 텍스트 / 코드 편집기에서 Localizable.strings를 엽니 다 (vi, pico, emacs, jed 등-TextEdit.app는 * .txt 파일을 저장할 수 없으므로 피해야합니다)

    숨길 값을 찾으십시오. 필자의 경우 BC50_V2 키인 '디스크에 "^ 1"굽기'였습니다.

    <key>BN50_V1</key>
    <string>Burn to Disc…</string>
    <key>BN50_V2</key>
    <string>Burn “^1” to Disc…</string>
  • 첫 번째 시도는 키-값 쌍을 완전히 제거하는 것이었지만 결과적으로 BC50_V1의 문자열이 메뉴에 나타납니다.

    일부 형식 문자열은 존재하는 경우보다 일반적인 템플릿으로 대체됩니다. 이 경우 여러 값을 0으로 만들어야합니다.

    BC50_V1에서 BC50_V1로이 동작을 볼 수 있습니다.

    Burn...메뉴 항목을 없애고 싶었 으므로 BC50_V1도 0으로 만들어야했습니다.

    폴 백이 여러 개인 다른 키 값 쌍이 있지만 동일한 접두사 BC50_와 숫자 증가 접미사 가 있으므로 일반적으로 식별하기가 쉽습니다._V1, _V2, _V..

  • XML 키 안에 원래 키 / 값 쌍 XML 조각의 복사본을 유지하여 변경 내용에 주석을 달 수 있습니다.

    조각의 사본을 변경하고 설명으로 이전 조각을 주석 처리하고 사본을 수정합니다. 그렇게하면 쉽게 되돌릴 수 있으며 버전 제어를 사용하거나 파일의 사본을 여러 개 가질 필요가 없습니다.

<!-- 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>. 그런 다음 숫자는 n 번째 인수를 나타냅니다. 특히 불쾌감을 느낀다면에 수정할 Burn "^1" to DiscArchive "^1" forever utilizing an optical disk!있습니다.
  • 수정 사항을 디스크에 저장
  • killall -HUP Finder Finder를 다시 시작하려면
  • open .현재 작업 디렉토리에서 Finder 창을 엽니 다. 마우스 오른쪽 버튼을 클릭하여 상황에 맞는 메뉴를 열고 모든 것이 잘 보이는지 확인하십시오.
  • 다 했어요! Localization.strings 파일을 텍스트 plist 형식으로 유지하는 데 아무런 비용이 들지 않으므로 변경할 때마다 이진 또는 텍스트 형식으로 변환하는 것에 대해 걱정할 필요가 없습니다.

El Capitan에서는 시스템 무결성 모드를 꺼서 필요한 파일을 변경해야합니다. stackoverflow.com/questions/32590053/…
macycron

백업을 수정하거나 심지어 수행하려는 모든 시도는 다음과 같이 끝납니다. 작업이 허용되지 않습니다. sudo, su 또는 내 사용자를 사용하더라도 상관 없습니다.
Carles Alcolea 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.