Dropbox nasıl Bulucu yan çubuğunda bir simge alır?


40

Dropbox, Finder'ın kenar çubuğunda, Google Drive ve Siteler (Lion'dan önce OS X’de bulunan yerel) gibi diğer dizinlerin hepsinde aynı genel klasöre sahip olduğunda, genel olmayan bir simge nasıl olur?

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

Kenar çubuğundaki klasörler tarafından kullanılan simgeleri nasıl özelleştirebilirim? OS X, oradaki tüm klasörlerin tek tek simgelerini gösterirdi - artık değil.

Yanıtlar:


36

Fark ettiğiniz gibi, OS X'in son sürümleri yalnızca kenar çubuğundaki genel klasör simgelerini görüntüler. Peki neden Dropbox özel muamele görüyor?

Kısa cevap, Dropbox'ın bunu başarmak için belgelenmemiş API kullandığıdır. Teknik olmayan konuşmada, Dropbox uygulaması tarafından yüklenen özel bir hack.


StackOverflow'taki bazı merak uyandıran kişiler Dropbox tarafından kullanılan özel mekanizmayı buldu: iyi ol 'mach_inject. Aynı paket, hem araç çubuğu öğesini hem de kenar çubuğu simgesini sağlar.

Merak ediyorsanız, kaynak dosyaları burada (en azından sistemimde) yaşıyor:

/Library/DropboxHelperTools/Dropbox_u502/DropboxBundle.bundle/Contents/Resources

Açıkça, Dropbox, Finder'a sorunsuz bir şekilde entegre olmak için çok uzun sürüyor. Benzer bir muamele yoksa, diğer normal klasörler kenar çubuğunda yalnızca genel simgelere sahiptir.


Düzenleme 10/1/2015: Yosemite (10.10) itibariyle, bir başka cevabın işaret ettiği gibi entegrasyon için yeni, onaylanmış bir Finder Sync API var . El Capitan'da (10.11), Sistem Bütünlüğü Koruması eski mach_inject tarzı yaklaşıma izin vermez.


5
Google, Sürücü :) ile aynı şeyi yapmalı
Baumr

Dropbox Finder entegrasyonu El Capitan ile çalışır. Kenar çubuğunda bağlam menüleri, rozetleri ve özel simge var. İstemcinin hangi sürümünü kullanıyorsunuz?
Matteo,

@Matteo: Bu ilginç, sürümü kontrol etmeye gittiğimde (v3.10.6) çalışmaya başladı! Sizi temin ederim, daha önce işe yaramadı. İlginç ...
jmk

1
@Matteo: Aha, okuduğunu anlama benim açımdan başarısız. Birisi daha önce aşağıdaki güncellenmiş API ile birlikte gönderildi. Düzeltme için teşekkürler!
jmk

10

Finder Sync Uzantısı'nın belgelerine göre :

Bulucu penceresine bir araç çubuğu düğmesi veya izlenen klasör için bir kenar çubuğu simgesi eklemek için uzatma noktasının API'sini de kullanabilirsiniz .

Sanırım bu Dropbox'ın bunu ve bu uzantının kolaylaştırdığı işlevlerin bir kısmını / hepsini başarmak için kullandığı şeydi. Örneğin şunları da yapabilirsiniz:

  • İzlenecek klasör kümesini kaydedin.
  • Kullanıcı izlenen bir klasörün içeriğini taramaya başladığında veya durduğunda bildirim alın. Örneğin, kullanıcı Bulucu'da veya bir Aç veya Kaydet iletişim kutusunda izlenen bir klasörü açtığında uzantı bildirimi alır.
  • İzlenen bir klasördeki öğelere rozetler ve etiketler ekleyin, kaldırın ve güncelleyin.
  • Kullanıcı izlenen bir klasörün içindeki bir öğeyi Control-tıklattığında bağlamsal bir menü görüntüleyin.
  • Finder'ın araç çubuğuna özel bir düğme ekleyin.

Düzenle:

Mugen aşağıda belirtildiği gibi, El Capitan kod enjeksiyonuna izin vermeyecek, FinderSync'i ileriye giden tek seçenek yapacaktır. FinderSync sadece 10.10+ sürümünde mevcutsa, en iyi seçenek şöyle olmasını sağlamak olacaktır:

if (floor(NSAppKitVersionNumber) < NSAppKitVersionNumber10_10) { ... }

Bu herhangi bir yorum, en yüksek oy alan cevabı ile çelişkili görünüyor
Baumr

3
@Baumr Burada sadece spekülasyon yapıyorum ama jmk'ın cevabının o zaman muhtemelen doğru olduğunu (ve hala olabileceğini varsayalım) ama dropbox’ın Yosemite’in piyasaya sürülmesinden bu yana 'resmi' Finder Sync Extension’ı kullanması daha muhtemel. Artı, kendi uygulamalarında aynı işlevselliği sağlamaya çalışan biri için, bunun belgelendirildiğinden daha faydalı bir çözüm olacağını düşünüyorum.
bekçiler

Haklı gibisin - onaylamanın bir yolu var mı?
Baumr

2
El-Capitan'da artık kod enjekte edemeyiz ve bu yüzden FinderSync seçeneği tek seçenek
Mugen

1
@Baumr, FinderSync uzantısı yalnızca 10.10+ sürümünde kullanılabildiğinden, durumu en iyi şekilde kullanabileceğini düşünüyorum:if (floor(NSAppKitVersionNumber) < NSAppKitVersionNumber10_10) { ... }
Mugen

2

En son Xtra Finder Uygulamasını - http://www.trankynam.com/xtrafinder/ adresinden yükleyin.

"Kenar Çubuğunda Renkli Simgeleri Göster" özelliğini açın "Maksimum Genişlik" metin kutusunun altında bulunur

Kenar Çubuğundaki Diğer Simgeler İçin

Dosyaları burada değiştirin: /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/ klasörü [kullanılmamış] 1024x1024 renkli ICNS dosyalarına ek olarak kullanılan gri ICNS'yi içerir. Her ICNS dosyalarının aşağıdaki boyutları desteklemesi gerekir:

  • 16x16 72 DPI
  • 18x18 72 DPI
  • 32x32 144 ve 72 DPI
  • 36x36 144 DPI
  • 64x64 144 DPI

Kenar çubuğuna özel bir klasör eklediyseniz, simgeyi de değiştirebilirsiniz. Klasör adının "Yazılımlar" olarak adlandırıldığını varsayalım Yukarıda belirtilen dizinde SidebarSoftwares.icns isimli bir ICNS dosyası hazırlayın.

Temelde, icns dosyasının SidebarFoldername.icns olarak adlandırılması gerekir; burada Sidebar Sabit kalır ve ilgili katlayıcı adını girersiniz.

DropBox için

ICNS dosyasını / Users / admin / Dropbox /Applications/Dropbox.app /Applications/Dropbox.app/Contents/Resources/box.icns dosyasına uygulayın (bu dosyayı istediğiniz dosyayla değiştirmeniz gerekir)

DropBox Bulucu SideBar Simgeleri

/Library/DropboxHelperTools/Dropbox_u502/DropboxBundle.bundle/Contents/Resources adresine gidin

Burada aşağıdakileri değiştirmeniz gerekir: toolbar.tiff (32x32 piksel 72 DPI)

sidebar.tiff (64x64 piksel 72 DPI)

contextmenu.tiff (32x32 piksel 72 DPI)

toolbar_large.png (19x19 piksel 72 DPI)

sidebar_blue.png (16x16 piksel 72 DPI)


Bir klasör için özel kenar çubuğu simgesi eklemekle ilgili bit, uygulamanın yüklenmesini gerektiriyor mu, yoksa yalnızca kendi başına yapılabilir mi? Ayrıca, yayınlandığında bunun Yosemite ile çalışıp çalışmayacağını biliyor musunuz?
dhruveonmars

1
Bunu kendi ikonumu eklemeye çalıştım ama işe yaramadı. Ardından ikonları renkli yapan ve özel ikonum beliren SideEffect uygulamasını kurdum. Uygulamayı kaldırdım ve ikonum gitmişti.
Pahnev

1

Dropbox, kenar çubuğu simgesini özelleştirmek için (ve sağ tıklama menüsüne öğeler ekleyerek Finder'ın üst çubuğuna düğme eklemek için) Finder kod enjeksiyon tekniğini kullanır. Ve kenar çubuğu simgesini 10.7'den beri özelleştirmenin iyi bir yolu yoktur.

Yosemite'de Apple, Finder'ın sağ tıklama menüsünü ve araç çubuğu öğesini özelleştirebilmek için bazı API'ler ekledi, ancak kenar çubuğu hakkında emin değilim.


Yosemite'den bahsettiğimde, Dropbox'ın artık Finder ile entegrasyon için bir Finder Sync uzantısı kullandığına inanıyorum ... ama bu özelliğin belgelerinde özel bir kenar çubuğu simgesi sağlama konusunda açık bir şey göremiyorum (özel araç çubuğu simgeleri destekleniyor) ... Bu yüzden hack hala yerinde olabilir.
Dan J

Tabii ki, buna Finder senkronizasyon uzantısı denir. Ancak kenar çubuğu simgesine izin vermiyor. Ancak belgeleri çapraz olarak okudum, muhtemelen bir şeyleri özledim.
Nickolay Olshevsky

0

Dropbox yükleyicisi bir tane koyar ve google sürücü yükleyicisi bunu yapmaz.

Bir klasörü kenar çubuğuna sürüklemeniz yeterlidir, kurucuya gerek kalmaz.


10
Sorunun özellikle simgeyle ilgili olduğunu düşünüyorum.
asmeurer

Evet, bu soruyu ele
almıyor

2
Yapabilseydim bunu bir daha oy kullanırdım. Bu sadece bir kod ve dropbox yükleyici arka planda çalışırken bu özelliği yükler. Partiye katılmak gibi ve iki misafir davet ettin. Biri kartvizitini şifonyerine bırakır, diğeri değildir. Seçim yapan sahibi değil, farklı davranan misafirler.
bmike

2
Sorunun ikinci kısmı @bmike: "Kenar çubuğundaki klasörler tarafından kullanılan simgeleri nasıl özelleştirebilirim?"
Baumr

0

Taşınan İndirilenler klasörü için Siderbar'da yerli İndirme simgesini bulabildim. İşlem kolay olmadı ve burada açıklandı: https://github.com/w0lfschild/colorfulSidebar_9/issues/1 mySIMB ve colorfulSidebar'a dayanıyor. 3 yıl önce yerel İndirilenler simgesini ayarlamaktan vazgeçtim. Bugün başka bir şans vermeye karar verdim ve sonunda çalışıyor.

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.