DropboxがFinderサイドバーでアイコンを取得するのはなぜですか?


40

Google DriveやSites(Lionより前のOS Xのネイティブ)などの他のディレクトリがすべて同じ汎用的なものを持っている場合、DropboxがFinderのサイドバーに非汎用アイコンを取得するのはなぜですか?

ここに画像の説明を入力してください

サイドバーのフォルダーで使用されるアイコンをカスタマイズするにはどうすればよいですか?OS Xでは、すべてのフォルダの個別のアイコンが表示されていましたが、もはや表示されていません。

回答:


36

お気づきのように、OS Xの最近のバージョンでは、サイドバーに一般的なフォルダーアイコンのみが表示されます。では、なぜDropboxは特別な扱いを受けるのですか?

簡単な答えは、Dropboxは文書化されていないAPIを使用してこれを達成することです。非技術的な話では、Dropboxアプリケーションによってインストールされる特別なハックです。


StackOverflowの好奇心 Some 盛な人々は、Dropboxで使用されている特定のメカニズムであるgood ol 'mach_injectを見つけました。同じバンドルは、ツールバー項目とサイドバーアイコンの両方を提供します。

興味があれば、リソースファイルはここに(少なくとも、私のシステム上に)存在します。

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

明らかに、DropboxはFinderにシームレスに統合するために非常に長くなります。他の通常のフォルダーには、同様の扱いがなく、サイドバーに一般的なアイコンしかありません。


編集10/1/2015: Yosemite(10.10)現在、統合のための新しい認可されたFinder Sync APIがあります。エルキャピタン(10.11)では、システム整合性保護は古いmach_injectスタイルのアプローチを許可しません。


5
Googleはドライブでも同じことをする必要があります:)
バウム

Dropbox Finderの統合はEl Capitanと連携します。サイドバーにコンテキストメニュー、バッジ、カスタムアイコンがあります。どのバージョンのクライアントを使用していますか?
マッテオ

@Matteo:おもしろいです。バージョン(v3.10.6)を調べに行ったとき、動作し始めました!確かに、以前はうまくいきませんでした。興味深い
...-jmk

1
@Matteo:ああ、読解は私の側で失敗します。誰かが既に以下の更新されたAPIを投稿しています。修正してくれてありがとう!
jmk

10

Finder Sync Extensionのドキュメントによると:

拡張ポイントのAPIを使用して、ツールバーウィンドウをFinderウィンドウに追加したり、監視フォルダーのサイドバーアイコンを追加したりすることもできます

これは、Dropboxがこれを達成するために使用するものであり、この拡張によって促進される他の機能の一部/すべてであると思います。たとえば、次のこともできます。

  • 監視するフォルダーのセットを登録します。
  • ユーザーが監視フォルダーのコンテンツの閲覧を開始または停止したときに通知を受け取ります。たとえば、ユーザーがFinderまたは[開く]または[保存]ダイアログで監視フォルダーを開くと、拡張機能は通知を受け取ります。
  • 監視フォルダー内のアイテムのバッジとラベルを追加、削除、更新します。
  • ユーザーがControlキーを押しながら監視フォルダー内の項目をクリックすると、コンテキストメニューが表示されます。
  • Finderのツールバーにカスタムボタンを追加します。

編集:

Mugenが以下で言及しているように、El CapitanはFinderSyncを今後の唯一のオプションにするコードインジェクションを許可しません。FinderSyncが10.10以降でのみ利用可能な場合、最良のオプションは次のようなケースです。

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

それは一流の答えと矛盾しているようですが、コメントはありますか?
バウム

3
@Baumr私はここで推測しているだけですが、jmkの答えはおそらく正しいと思われますが(まだ正しいかもしれません)、Yosemiteのリリース以来、dropboxが「公式」のFinder Sync Extensionを使用する可能性が高くなっています。さらに、自分のアプリで同じ機能を実現しようとしている人にとっては、文書化されているため、これはより便利なソリューションになると思います。
ドーバー

あなたが正しいように聞こえます-確認する方法はありますか?
バウム

2
エル・キャピタンでは、我々はもうコードを挿入することはできません、とFinderSyncのでオプションが一つだけある
ムゲン

1
@BaumrはFinderSync拡張機能が10.10以降でのみ利用可能であるため、ケースに入れるのが最善だと思います:if (floor(NSAppKitVersionNumber) < NSAppKitVersionNumber10_10) { ... }
Mugen

2

以下から最新のXtra Finderアプリをインストールします-http ://www.trankynam.com/xtrafinder/

「サイドバーにカラフルなアイコンを表示する」をオンにします。「最大幅」のテキストボックスの下にあります

サイドバーの他のアイコンの場合

ここでファイルを置き換えます。/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/フォルダーには、[未使用] 1024x1024カラーICNSファイルに加えて、使用済みグレーICNSが含まれています。各ICNSファイルは、次のサイズをサポートする必要があります。

  • 16x16 72 DPI
  • 18x18 72 DPI
  • 32x32 144および72 DPI
  • 36x36 144 DPI
  • 64x64 144 DPI

サイドバーにカスタムフォルダーを追加した場合は、そのアイコンも変更できます。フォルダ名は「Softwares」と呼ばれるとしましょう。上記のディレクトリにSidebarSoftwares.icnsという名前のICNSファイルを準備します。

基本的に、icnsファイルはSidebarFoldername.icnsという名前である必要があります。ここで、Sidebarは定数のままで、関連するフォルダー名を入力します。

DropBoxの場合

ICNSファイルを/ Users / admin / Dropbox /Applications/Dropbox.app /Applications/Dropbox.app/Contents/Resources/box.icnsに適用します(このファイルを必要なファイルに置き換える必要があります)

DropBox Finder SideBarアイコン

/Library/DropboxHelperTools/Dropbox_u502/DropboxBundle.bundle/Contents/Resourcesに移動します

ここで、次のものを置き換える必要があります。toolbar.tiff(32x32ピクセル72 DPI)

sidebar.tiff(64x64ピクセル72 DPI)

contextmenu.tiff(32x32ピクセル72 DPI)

toolbar_large.png(19x19ピクセル72 DPI)

sidebar_blue.png(16x16ピクセル72 DPI)


フォルダにカスタムサイドバーアイコンを追加することについては、アプリをインストールする必要がありますか、それとも単独で実行できますか?また、リリース時にYosemiteでこれが機能するかどうかを知っていますか?
dhruveonmars

1
独自のアイコンを追加するためにこれを試したところ、うまくいきませんでした。次に、アイコンをカラフルにし、カスタムアイコンが表示されるSideEffectアプリをインストールしました。アプリをアンインストールし、アイコンが消えました。
パネフ

1

DropboxはFinderコードインジェクションテクニックを使用して、サイドバーアイコンをカスタマイズします(そして、右クリックメニューにアイテムを追加し、Finderのトップバーにボタンを追加します)。また、10.7以降、サイドバーアイコンをカスタマイズする良い方法はありません。

Yosemiteで、AppleはFinderの右クリックメニューとツールバー項目をカスタマイズできるAPIをいくつか追加しましたが、サイドバーについてはわかりません。


ヨセミテといえば、私はDropboxのが今使用していることを信じているのFinder同期拡張子をファインダーと統合するために...しかし、私は、カスタム提供について、その機能のドキュメントで明らかに何も表示されていないサイドバーのアイコン(カスタムツールバーのアイコンがサポートされている)を...そのため、ハッキングはまだ行われている可能性があります。
ダンJ 14年

確かに、それはFinder同期拡張と呼ばれます。ただし、サイドバーアイコンは使用できません。しかし、私は斜めにドキュメントを読んだので、おそらく何かを見落としていました。
ニコルオルシェフスキー14年

0

Dropboxインストーラーはそこに1つを配置しますが、Googleドライブインストーラーはそうではありません。

フォルダーをサイドバーにドラッグするだけで、インストーラーは不要です。


10
質問は特にアイコンに関するものだと思います。
-asmeurer

ええ、これは質問に対処していません
バウム

2
可能であれば、これに別の投票権を与えます。それは単なるコードであり、Dropboxインストーラーは、バックグラウンドで実行されるときにこの機能をインストールします。パーティーをするようなもので、2人のゲストを招待します。1つはドレッサーに名刺を残し、もう1つはドレッサーに残しません。選択を行ったのは所有者ではなく、異なる動作をするのはゲストです。
bmike

2
@bmike、質問の2番目の部分は、「サイドバーのフォルダーで使用されるアイコンをどのようにカスタマイズできますか?」でした。
バウム

0

移動したダウンロードフォルダーのサイドバーにネイティブのダウンロードアイコンを取得できました。プロセスは簡単ではなく、ここで説明されています:https : //github.com/w0lfschild/colorfulSidebar_9/issues/1 mySIMBとcolorfulSidebarに依存しています。3年前、ネイティブのダウンロードアイコンの設定をあきらめました。今日、私は別のチャンスを与えることにし、最終的には機能しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.