Чому Dropbox отримує значок на бічній панелі Finder?


40

Чому Dropbox отримує загальну піктограму на бічній панелі Finder, коли інші каталоги, такі як Google Drive та Сайти (рідний в OS X до Lion), мають однаковий загальний?

введіть тут опис зображення

Як я можу налаштувати піктограми, які використовуються папками на бічній панелі? OS X використовується для показу окремих піктограм усіх папок - більше не.

Відповіді:


36

Як ви вже помітили, останні версії OS X відображають лише загальні піктограми папок на бічній панелі. Так чому Dropbox отримує спеціальне лікування?

Коротка відповідь полягає в тому, що Dropbox використовує недокументований API для цього. Якщо говорити не технічно, це спеціальний хак, встановлений програмою Dropbox.


Деякі допитливі люди в StackOverflow знайшли конкретний механізм, який використовує Dropbox: good ol 'mach_inject. Цей самий комплект містить і елемент панелі інструментів, і піктограму бічної панелі.

Якщо вам цікаво, файли ресурсів живуть тут (принаймні, в моїй системі):

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

Зрозуміло, що Dropbox іде на все, щоб інтегруватися в Finder. Не маючи подібної обробки, інші звичайні папки мають лише загальні значки на бічній панелі.


Редагувати 01.10.2015: Станом на Yosemite (10.10), існує новий, санкціонований API Finder Sync для інтеграції, як вказує doovers в іншій відповіді. У El Capitan (10.11) захист цілісності системи не дозволить застосувати старий підхід у стилі mach_inject.


5
Google повинен зробити те ж саме з Drive :)
Baumr

Інтеграція Dropbox Finder працює з El Capitan. У мене на бічній панелі є контекстні меню, значки та спеціальна піктограма. Яку версію клієнта ви використовуєте?
Маттео

@Matteo: Це цікаво, коли я пішов перевірити версію (v3.10.6), вона почала працювати! Запевняю, раніше не працювало. Цікаво ...
jmk

1
@Matteo: Ага, розуміння читання не вдається з мого боку. Хтось уже опублікував оновлений API нижче. Дякуємо за виправлення!
jmk

10

Відповідно до документації для розширення Finder Sync :

Також можна використовувати API точки розширення, щоб додати кнопку панелі інструментів до вікна Finder або піктограму бічної панелі для папки, що відстежується .

Я б припустив, що саме це використовує Dropbox для досягнення цього та деяких / всіх інших функціональних можливостей, полегшених цим розширенням. Наприклад, ви також можете:

  • Зареєструйте набір папок для моніторингу.
  • Отримуйте сповіщення, коли користувач починає або припиняє перегляд вмісту папки, що відстежується. Наприклад, розширення отримує сповіщення, коли користувач відкриває контрольовану папку в Finder або в діалоговому вікні "Відкрити" або "Зберегти".
  • Додавання, видалення та оновлення значків та міток для елементів у контрольованій папці.
  • Відобразити контекстне меню, коли користувач Control натисне предмет у папці, що контролюється.
  • Додайте користувацьку кнопку на панелі інструментів Finder.

Редагувати:

Як згадує Муген нижче, El Capitan не дозволить введення коду зробити FinderSync єдиним варіантом, що рухається вперед. Якщо FinderSync доступний лише з 10.10+, найкращим варіантом буде такий випадок:

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

Це, здається, суперечить найвищому рейтингу, будь-яким коментарям?
Баумр

3
@Baumr Я тільки спекулюю тут, але я б припустив, що відповідь jmk був, ймовірно, правильним у той час (і може все-таки бути), але що зараз більше шансів, що Dropbox використовує "офіційне" розширення Finder Sync з моменту виходу Yosemite. Плюс я б подумав, що для тих, хто намагається досягти тієї ж функціональності у власному додатку, це було б більш корисним рішенням, оскільки це документально підтверджено.
Дуоверс

Здається, ти маєш рацію - будь-який спосіб підтвердити?
Баумр

2
В El-Capitan ми більше не зможемо вводити код, тому варіант FinderSync єдиний
Mugen

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/ папка містить використаний сірий ICNS на додаток до [не використаних] кольорових файлів ICNS 1024x1024. Кожен файл ICNS повинен підтримувати такі розміри:

  • 16х16 72 ДПІ
  • 18x18 72 DPI
  • 32x32 144 та 72 DPI
  • 36x36 144 DPI
  • 64x64 144 DPI

Якщо ви додали власну папку на бічну панель, ви також можете змінити її значок. Скажімо, що назва папки називається "Softwares". Підготуйте файл ICNS з ім'ям SidebarSoftwares.icns у вищезгаданому каталозі.

Фактично, файл icns повинен бути названий SidebarFoldername.icns, де бічна панель залишається постійною, і ви вводите відповідне ім'я папки.

Для DropBox

Застосувати файл ICNS до / Користувачі / адміністратор / 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)

контекстуальне меню (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 додали деякі API, щоб можна було налаштувати меню правої кнопки та пункт панелі інструментів Finder, але я не впевнений у бічній панелі.


Говорячи про Yosemite, я вважаю, що Dropbox використовує розширення Finder Sync для інтеграції з Finder ... але я не бачу нічого очевидного в документах цієї функції щодо надання користувальницької піктограми бічної панелі (підтримуються користувацькі піктограми панелі інструментів) ... Тож злом все ще може бути на місці.
Dan J

Звичайно, це називається розширенням Finder sync. Але це не дозволяє піктограму бічної панелі. Однак я читав документацію по діагоналі, тому, напевно, щось пропустив.
Микола Ольшевський

0

Установник Dropbox поміщає його туди, а інсталятор google-накопичувача - ні.

Просто перетягніть папку на бічну панель, і вона приклеїться, інсталятор не потрібен.


10
Я думаю, питання стосується саме ікони.
asmeurer

Так, це не стосується питання
Баумр,

2
Я би дав це ще одне голосування, якби міг. Це просто код і інсталятор Dropbox встановлює цю функцію, коли вона працює у фоновому режимі. Це як вечірка, і ти запрошуєш двох гостей. Один залишає свою візитну картку на вашому комоді, інший - ні. Вибір не зробив власник, це поводили себе по-різному.
bmike

2
@bmike, друга частина запитання була: "Як я можу налаштувати піктограми, які використовуються папками на бічній панелі?"
Баумр

0

Мені вдалося отримати рідну піктограму завантаження на сайдер-панелі для переміщеної папки завантажень. Процес був непростим, і він описаний тут: https://github.com/w0lfschild/colorfulSidebar_9/isissue/1 Він покладається на mySIMB та барвистийSidebar. 3 роки тому я відмовився від налаштування рідної іконки завантаження. Сьогодні я вирішив дати ще один шанс і зрештою це спрацює.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.