ลบรายการออกจากเมนูตามบริบทของผู้ค้นหาหรือไม่


14

มีใครรู้บ้างว่าฉันจะลบรายการที่ฉันไม่เคยใช้จากเมนูบริบทได้อย่างไร

เช่น:เขียน "yadda yadda" เป็น Disk ...

ป้อนคำอธิบายรูปภาพที่นี่


/System/Library/CoreServices/Finder/Contents/Resources/English.lproj/Menubar.nib มีรายการทั้งหมด แต่ฉันไม่ทราบวิธีการลบสตริง

คำตอบ:


5

คุณสามารถลบรายการ MacOS ดั้งเดิมจากเมนูบริบท .... แต่น่าเสียดายที่มันไม่ปรากฏว่าคุณสามารถลบรายการที่คุณระบุไว้ด้านบนได้ ไม่ว่าคุณจะมองไปทางไหน

การตั้งค่าระบบ> คีย์บอร์ด> แป้นพิมพ์ลัด> บริการ

จากนั้นให้ยกเลิกการเลือกรายการที่คุณไม่ต้องการบนเมนู

ป้อนคำอธิบายรูปภาพที่นี่

เป็นเรื่องโชคร้ายที่คุณไม่สามารถลบออกได้ทั้งหมด แต่อย่างน้อยก็สามารถช่วยคุณกำจัดความยุ่งเหยิงบางส่วนได้


ตรวจสอบโซลูชันของฉัน - ช่วยให้คุณลบรายการเมนูบริบทเริ่มต้นของ Finder ตรงตามคำขอ OP
synthesizerpatel

5
  • ฉันได้ทำงานออกทางออกสำหรับเรื่องนี้ว่า (ไกล) ทำงานสำหรับการเริ่มต้น Finder ขวารายการเมนูบริบทเช่นและBurn to disk Burn "^1" to discนี่คือเป้าหมายของคำขอ OPs

  • มีเมนูบริบทอื่น ๆ อีกมากมายที่มาจากการติดตั้งบริการในรูปแบบของ Applescript หรือปลั๊กอินที่ทำงานได้

    สิ่งเหล่านี้ง่ายต่อการกำจัด สิ่งที่พวกเขาตั้งชื่อเพียงแค่ค้นหาดิสก์ของคุณสำหรับสตริงที่ เช่นบริการในท้ายที่สุดจะพบได้ในไฟล์ชื่อInject Potatos! Inject Potatos!.<something>อาจมีรูปร่างและขนาดอื่น ๆ แต่เป็นปัญหาที่ง่ายในการแก้ไขและไม่อยู่ในขอบเขตจากโพสต์ OPs

  • สำหรับผู้ใช้ที่ไม่ใช้ภาษาอังกฤษ: วิธีนี้เป็นภาษาที่ไม่เชื่อเรื่องพระเจ้า เราใช้ประโยชน์จากฟังก์ชั่นการแปลที่แปลงสตริงเริ่มต้น + args เป็นสตริงที่แปลแล้วด้วยตัวแปรที่ขยาย

มันอธิบายการทำงานอย่างไรด้วยชุดการคาดเดาแบบป่า

ฉันไม่แน่ใจเกี่ยวกับ Objective-C internals ของมัน แต่ฉันสงสัยว่าสิ่งที่คล้ายกับนี่คือสิ่งที่เกิดขึ้น ..

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

ไม่มีสตริงรูปแบบ (เช่น "") ดังนั้นคุณมักจะมีstrความยาวเป็นศูนย์เสมอ

หาก str มีความยาวเป็นศูนย์ตัวแปลการแปลจะเดินไปด้านหลังต้นไม้เพื่อค้นหาเทมเพลตรูปแบบบรรพบุรุษที่ใช้งานได้ ตราบใดที่คุณยังไม่มีบรรพบุรุษของคลาสข้อความทั้งหมด - มันจะทำให้แม่แบบหมดไปและส่งคืนสตริงที่มีความยาวเป็นศูนย์ให้กับผู้ร้องขอการแปล

ตัวแสดงเมนูบริบทรับรู้ว่ามันมีความยาวเป็นศูนย์และไม่ใช้มันจากรายการเมนูบริบทและคุณจะได้รับเมนูบริบทที่บางกว่า

สำคัญ

  • หากคุณไม่รู้ว่ากำลังทำอะไรอยู่ - คุณอาจทำให้ Finder สับสน ใช้รายการตรวจสอบนี้เพื่อตรวจสอบว่าคุณมีกังฟู
  • ใช้เปลือกหอยให้สบาย
  • รู้วิธีใช้เครื่องมือแก้ไขข้อความธรรมดาเช่น vim, nano, emacs เป็นต้น
  • สำรองไฟล์ใด ๆ ที่คุณแก้ไขเสมอก่อนที่จะแก้ไข
  • ทำการเปลี่ยนแปลงทีละครั้ง, ฆ่า Finder, ตรวจสอบทุกอย่างดูดี, ไปที่ 10. หากคุณทำการเปลี่ยนแปลงมากมายและมันทำให้คุณรู้สึกแย่ขึ้นคุณจะต้องเปลี่ยนการเปลี่ยนแปลงทั้งหมดของคุณต่อไป
  • ฉันรู้ว่าการจัดรูปแบบ NSString นั้นแตกต่างจาก C แต่ถ้าคุณไม่ใช่ Objective-C และจำเป็นต้องคิดในแง่ของ printf ตัวอย่างต่อไปนี้ก็เหมือนกันสำหรับวัตถุประสงค์ของแบบฝึกหัดนี้

    • แม่แบบ Obj-C: "Throw ^1 into the ^2"
    • แม่แบบ "Throw %s into the %s", arg1, arg2printf:

    หากคุณทำการแก้ไขและหลังจากรีสตาร์ท Finder ดูเหมือนว่าจะไม่มีผลกระทบ - คุณอาจกำลังแก้ไขสตริงการแปลในพื้นที่อื่นนอกเหนือจากเมนูบริบทคลิกขวา ย้อนกลับการเปลี่ยนแปลงของคุณรีสตาร์ท Finder แล้วลองอีกครั้ง หากคุณข้ามขั้นตอนนี้คุณอาจสิ้นสุดการแก้ไขสิ่งอื่นนอกเหนือจากเมนูบริบทและไม่ทราบจนกว่าจะถึงวันต่อมา

  • เข้าใจว่านี่เป็นแฮ็คโดยทั่วไปอาจใช้งานไม่ได้ตามที่คุณต้องการหรือคาดหวัง สำหรับสิ่งที่มีค่าฉันได้ทำงานกับการเปลี่ยนแปลงเหล่านี้ (และอื่น ๆ ) เป็นเวลาอย่างน้อยสองสามสัปดาห์ในขณะนี้และไม่พบผลกระทบที่เลวร้าย


ตัวอย่างเมนูบริบทค้นหาสต็อกสินค้า

ก่อนอื่นให้ดูที่ภาพ 'ก่อน' ที่ถ่ายจากโพสต์ของ OP ซึ่งแสดงเมนูบริบทค้นหาเริ่มต้นทั่วไปที่เต็มไปด้วยป่อง

เมนูบริบท Finder ของ Bloated

น่ากลัว!

อุปกรณ์ Apple ส่วนใหญ่ไม่ได้ส่งมาพร้อมเครื่องเขียนดีวีดีอีกต่อไป แต่ยังมีBurn "^1" to discอสังหาริมทรัพย์ที่มีค่า

ไม่ต้องพูดถึงไร้ประโยชน์อย่างเท่าเทียมกันQuick Look, Duplicate, Make Alias, Copy ^1ฯลฯ


เมนูบริบทใหม่ของ Hotness

ใหม่ร้อนแรง

ถอดเท่าที่ฉันจะได้รับมัน โปรดจำไว้ว่าหากเราเลือกไฟล์เราจะมีค่าเริ่มต้นOpenและOpen with..รายการเมนู

คุณจะไม่สูญเสียอะไรเลยนอกจากคุณจะเว้นไว้

สิ่งที่สามารถทำค่อนข้างเบาบางถ้าคุณต้องการ


คำแนะนำ

  • ค้นหาไฟล์ $ LANGUAGE.lproj ที่คุณสนใจในกรณีของฉันฉันพูดภาษาอังกฤษ
  • cd /System/Library/CoreServices/Finder.app/Contents/Resources/English.lproj
  • รันplutil -convert xml1 Localizable.stringsเพื่อแปลง Localizable.strings เป็นไฟล์ plistext XML plistext
  • ทำให้การสำรองข้อมูลของ Localizable.strings หากคุณทำอะไรผิดพลาดคุณจะต้องการที่จะย้อนกลับการเปลี่ยนแปลงของคุณ
  • เปิด Localizable.strings ในตัวแก้ไขข้อความธรรมดา / รหัส (vi, pico, emacs, jed, ฯลฯ - TextEdit.app ไม่สามารถบันทึกไฟล์ * .txt และควรหลีกเลี่ยง)

    ค้นหาค่าที่คุณต้องการซ่อน ในกรณีของฉันมันคือ 'เขียน "^ 1" ไปยังดิสก์' ซึ่งเป็นคีย์ BC50_V2

    <key>BN50_V1</key>
    <string>Burn to Disc…</string>
    <key>BN50_V2</key>
    <string>Burn “^1” to Disc…</string>
  • ความพยายามครั้งแรกของฉันคือการลบคู่คีย์ - ค่าทั้งหมด แต่สิ่งนี้ทำให้สตริงของ BC50_V1 ปรากฏในเมนูของฉัน

    สตริงรูปแบบบางอันจะกลับไปใช้เท็มเพลตทั่วไปเพิ่มเติมถ้ามีอยู่ ในกรณีนี้คุณจะต้องเป็นศูนย์หลายค่า

    คุณสามารถดูพฤติกรรมนี้ได้ด้วย BC50_V2 ซึ่งกลับไปสู่ ​​BC50_V1

    เนื่องจากฉันต้องการที่จะกำจัดBurn...รายการเมนูใด ๆฉันจึงต้องลบค่า BC50_V1 ด้วยเช่นกัน

    มีคู่ของค่าคีย์อื่น ๆ ที่มีหลายทางเลือก แต่โดยทั่วไปแล้วพวกมันค่อนข้างง่ายที่จะระบุเนื่องจากจะมีคำนำหน้าเหมือนกัน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>ตัวแปรที่ดูเหมือนจะสามารถเข้าถึงได้โดยใช้แบบฟอร์ม number หมายถึงอาร์กิวเมนต์ที่ n หากคุณมีความรู้สึกโดยเฉพาะอย่างยิ่ง pimpy คุณสามารถปรับเปลี่ยนไปBurn "^1" to DiscArchive "^1" forever utilizing an optical disk!
  • บันทึกการแก้ไขของคุณลงในดิสก์
  • killall -HUP Finder เพื่อรีสตาร์ท Finder
  • open .เพื่อเปิดหน้าต่าง Finder ในไดเรกทอรีการทำงานปัจจุบันของคุณ คลิกขวาเพื่อเปิดเมนูบริบทตรวจสอบทุกอย่างดูดี
  • เสร็จหมดแล้ว! ดูเหมือนจะไม่มีบทลงโทษใด ๆ ในการรักษาไฟล์ Localization.strings ในรูปแบบ plist text ดังนั้นคุณไม่จำเป็นต้องกังวลเกี่ยวกับการแปลงเข้าและออกจากรูปแบบไบนารีหรือข้อความเมื่อใดก็ตามที่คุณทำการเปลี่ยนแปลง

เพียงบันทึกใน El Capitan คุณต้องปิดโหมดความสมบูรณ์ของระบบเพื่อเปลี่ยนไฟล์ที่จำเป็น stackoverflow.com/questions/32590053/…
macycron

ความพยายามทั้งหมดของฉันในการแก้ไขหรือแม้กระทั่งการสำรองข้อมูลก็จบลงด้วย: ไม่อนุญาตให้ใช้งาน ไม่ว่าฉันจะใช้ sudo, su หรือผู้ใช้ของฉัน
Carles Alcolea
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.