ทำไม Dropbox ถึงได้รับไอคอนใน Finder Sidebar?


40

ทำไม Dropbox ถึงได้รับไอคอนที่ไม่ใช่แบบทั่วไปในแถบด้านข้างของ Finder's เมื่อไดเรกทอรีอื่นเช่น Google Drive และ Sites (มีถิ่นกำเนิดใน 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 ได้อย่างราบรื่น ขาดการรักษาที่คล้ายกันโฟลเดอร์ทั่วไปอื่น ๆ มีไอคอนทั่วไปในแถบด้านข้าง


แก้ไข 10/1/2558:ในฐานะของโยเซมิตี (10.10) มีFinder Sync APIแบบใหม่ที่ได้รับการอนุมัติสำหรับการผสานรวมเนื่องจากผู้ใช้ชี้ไปที่คำตอบอื่น ใน El Capitan (10.11) การป้องกันความสมบูรณ์ของระบบจะไม่อนุญาตให้ใช้วิธีการแบบ mach_inject แบบเก่า


5
Google ควรทำเช่นเดียวกันกับ Drive :)
Baumr

การรวม Dropbox Finder ทำงานร่วมกับ El Capitan ฉันมีเมนูบริบทป้ายและไอคอนที่กำหนดเองในแถบด้านข้าง คุณใช้ไคลเอนต์เวอร์ชันใด
Matteo

@Matteo: น่าสนใจเมื่อฉันไปตรวจสอบรุ่น (v3.10.6) มันเริ่มทำงาน! ฉันรับรองกับคุณว่ามันไม่ได้ผลมาก่อน น่าสนใจ ...
jmk

1
@Matteo: Aha การอ่านเพื่อความเข้าใจล้มเหลวในส่วนของฉัน มีคนโพสต์แล้วด้วย API ที่อัปเดตด้านล่าง ขอบคุณสำหรับการแก้ไข!
jmk

10

ตามเอกสารประกอบสำหรับFinder Sync Extension :

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

ฉันเดาว่านี่คือสิ่งที่ Dropbox ใช้เพื่อให้ได้สิ่งนี้และบางส่วน / ทั้งหมดของฟังก์ชั่นอื่น ๆ ที่อำนวยความสะดวกโดยส่วนขยายนี้ ตัวอย่างเช่นคุณยังสามารถ:

  • ลงทะเบียนชุดโฟลเดอร์เพื่อตรวจสอบ
  • รับการแจ้งเตือนเมื่อผู้ใช้เริ่มต้นหรือหยุดการเรียกดูเนื้อหาของโฟลเดอร์ที่ถูกตรวจสอบ ตัวอย่างเช่นส่วนขยายได้รับการแจ้งเตือนเมื่อผู้ใช้เปิดโฟลเดอร์ที่ถูกตรวจสอบใน Finder หรือในกล่องโต้ตอบ Open หรือ Save
  • เพิ่มลบและอัปเดตป้ายและป้ายกำกับของรายการในโฟลเดอร์ที่ถูกตรวจสอบ
  • แสดงเมนูบริบทเมื่อผู้ใช้คลิกควบคุมรายการภายในโฟลเดอร์ที่ถูกตรวจสอบ
  • เพิ่มปุ่มที่กำหนดเองในแถบเครื่องมือของ Finder

แก้ไข:

ดังที่ Mugen กล่าวไว้ด้านล่าง El Capitan จะไม่อนุญาตให้ใช้การฉีดรหัสทำให้ FinderSync เป็นตัวเลือกเดียวที่จะดำเนินการต่อไป ด้วย FinderSync มีให้เลือกตั้งแต่ 10.10+ ตัวเลือกที่ดีที่สุดคือ:

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

ดูเหมือนว่าจะขัดแย้งกับคำตอบที่ได้รับความนิยมสูงสุด
Baumr

3
@ Baumr ฉันแค่เก็งกำไรที่นี่ แต่ฉันคิดว่าคำตอบของ jmk อาจจะถูกต้องในเวลานั้น (และอาจจะยังคงอยู่) แต่ตอนนี้มันมีแนวโน้มที่ Dropbox จะใช้ Finder Sync Extension อย่างเป็นทางการตั้งแต่ปล่อยโยเซมิตี นอกจากนี้ฉันคิดว่าสำหรับคนที่พยายามใช้ฟังก์ชันการทำงานเดียวกันในแอพของตัวเองว่านี่จะเป็นวิธีแก้ปัญหาที่มีประโยชน์มากขึ้นเนื่องจากมีการบันทึกไว้
doovers

ดูเหมือนว่าคุณจะถูกต้อง - วิธีใดที่จะยืนยัน?
Baumr

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 สีเทาที่ใช้นอกเหนือไปจากไฟล์ [ไม่ได้ใช้] 1024x1024 สี ICNS ไฟล์ ICNS แต่ละไฟล์ต้องรองรับขนาดต่อไปนี้:

  • 16x16 72 DPI
  • 18x18 72 DPI
  • 32x32 144 และ 72 DPI
  • 36x36 144 DPI
  • 64x64 144 DPI

หากคุณเพิ่มโฟลเดอร์ที่กำหนดเองในแถบด้านข้างคุณสามารถเปลี่ยนไอคอนของมันได้เช่นกัน ให้เราบอกว่าชื่อโฟลเดอร์เรียกว่า "โปรแกรม" เตรียมไฟล์ ICNS ด้วยชื่อ SidebarSoftwares.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)


บิตเกี่ยวกับการเพิ่มไอคอนแถบด้านข้างที่กำหนดเองสำหรับโฟลเดอร์นั้นต้องการแอปที่จะติดตั้งหรือไม่สามารถทำได้ด้วยตัวเอง คุณทราบหรือไม่ว่าสิ่งนี้จะทำงานกับโยเซมิตีเมื่อปล่อยออกมาหรือไม่
dhruveonmars

1
ฉันเพิ่งลองทำเช่นนี้เพื่อเพิ่มไอคอนของตัวเองและมันไม่ทำงาน ฉันติดตั้งแอพ SideEffect แล้วทำให้ไอคอนมีสีสันและไอคอนที่กำหนดเองของฉันก็ปรากฏขึ้น ถอนการติดตั้งแอพและไอคอนของฉันหายไป
Pahnev

1

Dropbox ใช้เทคนิคการฉีดรหัส Finder เพื่อปรับแต่งไอคอนแถบด้านข้าง (และเพิ่มรายการในเมนูคลิกขวาและเพิ่มปุ่มในแถบด้านบนของ Finder's) และไม่มีวิธีที่ดีในการปรับแต่งไอคอนแถบด้านข้างตั้งแต่ 10.7

ใน Yosemite Apple ได้เพิ่ม API บางตัวเพื่อให้สามารถปรับแต่งเมนูคลิกขวาของไอเท็มและรายการแถบเครื่องมือ แต่ฉันไม่แน่ใจเกี่ยวกับแถบด้านข้าง


เมื่อพูดถึงโยเซมิตีฉันเชื่อว่าตอนนี้ Dropbox ใช้ส่วนขยาย Finder Syncเพื่อรวมเข้ากับ Finder ... แต่ฉันไม่เห็นอะไรที่ชัดเจนในเอกสารของฟีเจอร์ดังกล่าวเกี่ยวกับการจัดหาไอคอนแถบด้านข้างที่กำหนดเอง (สนับสนุนไอคอนแถบเครื่องมือที่กำหนดเอง) ... ดังนั้นแฮ็คอาจยังอยู่ในตำแหน่ง
Dan J

แน่นอนว่าเรียกว่าส่วนขยายการซิงค์ของ Finder แต่มันไม่อนุญาตให้ใช้ไอคอนด้านข้าง อย่างไรก็ตามฉันอ่านเอกสารแนวทแยงมุมดังนั้นอาจพลาดบางสิ่ง
Nickolay Olshevsky

0

ตัวติดตั้งดรอปบ็อกซ์จะติดตั้งที่นั่นและตัวติดตั้ง google ไดรฟ์ไม่ทำงาน

เพียงแค่ลากโฟลเดอร์ไปไว้ในแถบด้านข้างและมันจะติดไม่จำเป็นต้องติดตั้ง


10
ฉันคิดว่าคำถามนี้เกี่ยวกับไอคอนโดยเฉพาะ
asmeurer

ใช่สิ่งนี้ไม่ได้ตอบคำถาม
Baumr

2
ฉันจะให้คะแนนนี้อีกถ้าฉันทำได้ มันเป็นแค่รหัสและตัวติดตั้ง dropbox จะติดตั้งคุณสมบัตินี้เมื่อมันทำงานในพื้นหลัง มันเหมือนมีงานเลี้ยงและคุณเชิญแขกสองคน หนึ่งใบนามบัตรของพวกเขาในแต่งตัวของคุณอื่น ๆ ไม่ได้ ไม่ใช่เจ้าของที่ตัดสินใจเลือก แต่เป็นแขกที่ประพฤติแตกต่างกัน
bmike

2
@bike ส่วนที่สองของคำถามคือ: "ฉันจะกำหนดไอคอนที่ใช้โดยโฟลเดอร์ในแถบด้านข้างได้อย่างไร"
Baumr

0

ฉันสามารถรับไอคอนดาวน์โหลดดั้งเดิมใน siderbar สำหรับโฟลเดอร์ดาวน์โหลดที่ถูกย้าย กระบวนการนี้ไม่ง่ายเลยและมันอธิบายไว้ที่นี่: https://github.com/w0lfschild/colorfulSidebar_9/issues/1 มันอาศัย mySIMB และ colorfulSidebar 3 ปีที่ผ่านมาฉันเลิกตั้งค่าไอคอนดาวน์โหลดดั้งเดิม วันนี้ฉันตัดสินใจที่จะให้โอกาสอีกครั้งและในที่สุดก็ทำงาน

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