Birlikte Aç menüsüne nasıl yeni bir uygulama ekleyebilirim?


52

Belirli bir dosya türü için Birlikte Aç menüsüne (sağ tıklatıldıktan sonra gösterilir), o dosyayı her zaman bu uygulama ile açmadan nasıl uygulama ekleyebilirim ?

Bu özel durumda, hala varsayılan olarak Safari’yi seçerken, TextEdit’le birlikte bir Web sitesi konumu (.URL) dosyası açma seçeneğini de istiyorum.

OS 10.7.4 kullanıyorum.


3
Program açabilirse, o zaman o menüye kendini ekleyecektir. Aksi takdirde, açamayacağı anlamına gelir.
Anriëtte Myburgh

12
Bu her zaman doğru değil gibi görünüyor. TextEdit, URL’leri açabilir, ancak "Birlikte Aç" alt menüsünde değildir.
KatieK

Yanıtlar:


25
  1. Bunu CFBundleDocumentTypes dizisine ekleyin /Applications/TextEdit.app/Contents/Info.plist:

    <dict>
        <key>CFBundleTypeExtensions</key>
        <array>
            <string>url</string>
        </array>
    </dict>
    
  2. /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -f /Applications/TextEdit.app/

  3. killall Finder
  4. Varsayılan uygulamayı Finder'da tekrar Safari olarak değiştirin

Uygulama imzalanırsa, bir Info.plist'in değiştirilmesi kod imzasını geçersiz kılar . Ayrıca, 10.8’de açılışta TextEdit ve WriteRoom çökmesi gibi birkaç uygulama yapar.


1
Belki de sadece bilgisayarım, ama bu benim için çalışmıyor. Bu prosedürü uyguladıktan sonra (3. adıma), TextEdit .URL dosyaları için "Birlikte Aç" altında kullanılamaz. Ayrıca, Info.plist'in değiştirilmesi de TextEdit'in 10.7'de çökmesine neden oluyor gibi görünüyor.
KatieK

11
Bunu daha genel yapmanın bir yolu var mı? Örneğin hex editörümün (şu anda HexFiend) dosya uzantısı olmayanlar da dahil olmak üzere her lanet dosya türünü açma seçeneği olarak ...
Steven Lu

@StevenLu: Seçili dosyayı HexFiend'de açmak için BetterTouchTool'da bir Bulucu kısayolu yaptım.
biziclop

11

Finder'da dosyayı seçmeyi ve Dosya> Bilgi Al'ı yapmayı deneyin. Oradan açmak için herhangi bir uygulamayı seçmek mümkün olmalıdır. Bu tür bir dosyayı o uygulamada bir kez açtıktan sonra, Birlikte Aç menüsünde görünmeye başlaması gerekir .

EDIT: Yukarıdaki cevap işe yaramıyor. Alternatif öneri:

Önceki cevabımın yanlış olduğu için kendimi kötü hissetmiştim. Bu ipucunu Mac OS X İpuçları’ndan buldum :

  • Söz konusu uygulamayı kontrol tıklayın (veya sağ tıklayın) ve "Paket İçeriğini Göster" i seçin
  • Uygulama paketindeki İçindekiler klasörünü açın. Orada Info.plist adlı bir dosya bulacaksınız. Bu, uygulama hakkında her türlü bilgiyi depolayan bir XML özellik listesidir.
  • Dosyayı favori metin düzenleyicinizle açın. Hydra'yı öneririm, ancak TextEdit gayet iyi olacak.
  • Aşağıdakine benzeyen bir şey arayın:

    <key>CFBundleTypeExtensions</key>
    <array>
        <string>txt</string>
        <string>srt</string>
        <string>suffix1</string>
        <string>suffix2</string>
        …
    

    ve benzerleri, uygulamanın, etiketlerin içinde yer alan açmayı başarmasıyla yetinir. Sonra uygulamanın açılmasını istemediğiniz [ veya istemek ] istediğiniz öğelerin son ekini [ veya add --newtron ] silin .

  • Dosyayı kaydedin ve kapatın (veya düzenleyiciden çıkın).


Bu işe görünmüyor. "Bilgi Al" bölümünde, aynı uygulamaları "Birlikte Açabilirim" veya "Diğer" i seçebilirim. "Diğer" seçeneğini seçersem, tüm uygulamalardan birini seçebilir ve "Her Zaman Birlikte Aç" seçeneğini işaretleyebilir veya işaretini kaldırabilirim. Dosyayı bir kez TextEditor ile açtıktan sonra bile, "Birlikte Aç" alt menüsünde ek bir seçenek olarak görünmüyor.
KatieK

Vur, haklısın. Cevabı, bunu yansıtmak ve alternatif bir öneriyle güncellemek için düzenleyeceğim.
newtron

Bu güncellenmiş cevap, bir yeniden başlatmadan sonra bile kendi başına çalışmaz.
KatieK

Bu yöntemin kar leoparıyla çalıştığını düşünün .. superuser.com/questions/222065/…
Ryan Hollingsworth

8

newtron'un ikinci çözümü benim için çalıştı ancak ancak Terminal'i açıp aşağıdaki komutu uyguladıktan sonra:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

Sistemi yeniden başlattıktan sonra istenen uygulama “açık” içerik menüsümdeydi.

Teşekkürler


Bu, listeyi silmek ve yeniden başlamak istiyorsanız da kullanışlıdır. örneğin, VMWare Fusion, bir şekilde karşılık gelen VM silindiğinde yetimhanenin girişlerini yerleştirmiştir. Bunu kullanarak yanlış girişleri temizledi
ferdil

5

Dosyayı içerik menüsü ile açmak yerine, + tuşlarına basarken herhangi bir dosyayı istediğiniz herhangi bir uygulamaya sürükleyebilirsiniz . Bu, yapamayacağını düşünüyor olsa bile herhangi bir uygulamayı denemeye zorlar . Bunu her zaman kullanırım.


3

Seçeneği Automator ile bir Servis olarak ekleyebilir ve ardından Keyboard Maestro'dan bir Kısayol Tuşu ile tetikleyebilirsiniz.

  1. Automatorve Servicebelge türünü seçin .
  2. Seç Files and Foldersüst bölgesi Service receives selectedmenüde
  3. Open Finder ItemsEylemi arayın ve seçin .
  4. Şimdi seçmek TextEditiçindeOpen with:
  5. Servisi, menülerde görmek istediğiniz bir isim ile kaydedin.

Bunu şimdi bulabilirsiniz:

  • Dosyayı sağ tıklatarak> Hizmetler

görüntü tanımını buraya girin

VEYA

  • Finder Menu> Servisler (bir dosya seçiliyken)

görüntü tanımını buraya girin

Ama orada durmak zorunda değilsin!

Daha sonra bir Klavye Maestro makrosu yaptım, böylece yapmak için sadece Hotkey kullanabilirim: görüntü tanımını buraya girin

Bu siteden bu fikri aldım: http://www.mactricksandtips.com/2013/05/add-open-with-textedit-or-any-other-app-to-right-click-menu-item.html


Bu, bunu yapmanın harika bir yoludur, çok teşekkürler !!
Lucas P.,

Hizmeti her zaman kullanıyorum ama bunu yapmak için bir makro yaptığımı unuttum. Makroyu yeniden keşfetmek gibisi yok!
kraftydevil

Automator'ı daha önce hiç kullanmamıştım (ya da ne yaptığını bilmiyordum), OSX'te benim için tamamen yeni bir dünya açtın :)
Lucas P.

0

Newtron'un çözümüne bir takip:

Orada Info.plist adlı bir dosya bulacaksınız. Bu, uygulama hakkında her türlü bilgiyi depolayan bir XML özellik listesidir. Dosyayı favori metin düzenleyicinizle açın. Hydra'yı öneririm, ancak TextEdit gayet iyi olacak.

Dosyayı kaydedin ve kapatın (veya düzenleyiciden çıkın).

Hesabınız doğru izinlere sahip değilse (şimdi ilgilendiğim sorun - yönetici durumunda bile bazı dosya ve klasörler üzerinde okuma + yazma izniniz olmayacaksa) düzenlenen listeyi kaydedemezsiniz. .). .Plist dosyalarındaki değişiklikleri kaydetmek için, kullanıcıya okuma + yazma izinlerini vermeniz gerekir.

Varsayılan Mac uygulamalarından bazıları bunu zorlaştırır ve şu anda bunu TextEdit ile yapmak için bir çözüm (güncellenecektir) arıyorum.


0

Bu benim için işe yaradı: Uygulamanıza sağ tıklayın ve içindekilere gidin ve /Applications/*****.app/Contents/Info.plist dosyasını açın

Plist'i Xcode'da SourceCode olarak açın ve ardından şunu yerleştirin:

        <dict>
            <key>CFBundleTypeExtensions</key>
            <array>
                <string>jpeg</string>
                <string>jpg</string>
                <string>png</string>
                <string>gif</string>
            </array>
            <key>CFBundleTypeIconFile</key>
            <string>AutomatorApplet.icns</string>
            <key>CFBundleTypeName</key>
            <string>AutomatorApplet.icns</string>
            <key>CFBundleTypeOSTypes</key>
            <array>
                <string>GIFf</string>
                <string>JPEG</string>
                <string>PNGf</string>
            </array>
            <key>CFBundleTypeRole</key>
            <string>Viewer</string>
        </dict>

Kaynaklar Klasöründe 'AutomatorApplet.icns' vardı.


Lütfen dict girdisini ekleyerek elde etmeye çalıştığınız şeyi ekleyin. Cevabınız şimdi olduğu gibi, soruda verilen örneği (.url) kullanmıyor.
klanomath

-3

Ayrıntılı talimatlar için tech-recipes.com adresini ziyaret edin . @ Anriëtte'nin belirttiği gibi, belirli bir dosyayı açabiliyorsa uygulamanın Aç menüsünde görünmesi gerekir.


Bu benim için çalışmıyor çünkü dosyayı açan varsayılan uygulamayı değiştirmek istemiyorum. Sadece ek bir seçenek istiyorum.
KatieK
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.