2011-12-05 10 views
20

Dropbox ha la possibilità di aggiungere un pulsante alla barra degli strumenti del Finder. Viene visualizzato anche nella finestra "Personalizza barra degli strumenti ...". Non riesco a trovare alcuna documentazione su come è fatto questo genere di cose .... Qualcuno sa come farlo, o qualcuno può indicarmi qualche documentazione o codice di esempio?Aggiunta di pulsanti alla barra degli strumenti del Finder?

EDIT ONE:

Credo che un inizio sarebbe trovare la posizione delle icone esistenti, e qualsiasi codice correlato.

Ho notato che Dropbox ha file in Library/DropboxHelperTools/Dropbox_u501 chiamati mach_inject_bundle_stub.bundle e FinderLoadBundle che potrebbero fare la magia. Dropbox sta anche inserendo il badge "tick" sulle icone del Finder. Questo codice potrebbe essere coinvolto: github.com/rentzsch/mach_star

EDIT DUE: A Dropbox intervento di Rian Hunter circa il processo è qui, intorno alle 15:30 http://blip.tv/pycon-us-videos-2009-2010-2011/pycon-2011-how-dropbox-did-it-and-how-python-helped-4896698

Guardando nel file DropboxBundle in il Dropbox_u501 mostra le icone e un codice compilato. Il codice suggerisce che Rian Hunter è l'autore: http://twitter.com/timeserena

Rian ha la sua propria versione del codice di Mach stella sul github - https://github.com/rianhunter/mach_star - tho sembra molto più vecchio

montaggio a tre

C'era un ' Codice Iniezione Workshop 'a Stanford poche settimane fa - http://stanfordacm.com/past/ - ospitato da Rian. Se qualcuno ha note da questo per favore fammi sapere!

+2

possibile duplicato di [Come scrivere OS X Finder plug] (http://stackoverflow.com/questions/1294335/how-to-write-os-x-finder-plugin) –

+0

Dropbox non è l'unica app per farlo - controlla anche [XtraFinder] (http://www.trankynam.com/xtrafinder/) che adoro. Sto ancora cercando di capire come farlo con una delle mie app però :) – cwd

+0

Correlati: [Come mai Dropbox ottiene un'icona nella barra laterale del Finder?] (Http://apple.stackexchange.com/q/83152/ 22781) in AD – kenorb

risposta

7

Dropbox utilizzava la magia non documentata. Non esiste un modo ufficialmente supportato per farlo; il massimo che si può ottenere senza il reverse engineering è Services.

(Aggiornamento:. Come di MacOS 10.11, quello che Dropbox stava facendo non è più possibile a tutti Protection System Integrity ora impedisce il codice venga iniettato in processi di sistema, come ad esempio il Finder.)

+3

E il più vicino che si può ottenere per essere una barra degli strumenti del Finder è un'applicazione che può aprire file e/o cartelle. Qualsiasi applicazione di questo tipo può essere aggiunta manualmente a una barra degli strumenti dall'utente (sebbene non venga visualizzata in Personalizza barra degli strumenti). Time Machine è una buona applicazione per dimostrarlo con. –

+0

Guardando i file Dropbox nella Libreria, penso che potrebbe essere una sorta di cosa mach_inject, che è al di là della mia comprensione. Ma google mi indica https://github.com/rentzsch/mach_star – cannyboy

+0

@PeterHosey Sebbene sia possibile trascinare e rilasciare, non è possibile ottenere uno stile puro che corrisponda ai pulsanti nativi senza una sorta di reverse engineering. Le icone sono generate da una serie di png trasparenti, quindi anche con icone ben fotografate, qualcosa si sentirà sempre. – fny

2

discorso di Rian a PyCon Il 2011 (su blip.tv) non spiega altro che "Abbiamo il reverse engineered Finder". Sebbene la roba mach_star sia valida, non spiega ancora come funziona l'icona della barra laterale. E lo Stanford 'Code Injection Workshop' non ha pubblicato alcun contenuto su questo metodo.

Ho nm'd e class-dump'd entrambi i bundle che installa Dropbox per ogni utente in/Library/DropboxHelperTools e l'output fornisce una buona visione. Se torno indietro, finirò la mia ricerca e la pubblicherò. Le probabilità sono, non sarà per un po 'di tempo, quindi spero che questa spinta aiuti qualcun altro.

0

Una semplice risposta intermedia che può essere adeguata per alcune persone è semplicemente creare icone che assomigliano a pulsanti.

ad es. Ho creato 'nuovo file di testo qui' e 'nuovo terminal qui icone' per il mio Finder:

enter image description here

Il metodo può essere trovato here.

Lo svantaggio è che devono essere quadrati e non dispongono di animazioni/menu o essere visualizzati in "Personalizza barra degli strumenti", ecc.

8

È possibile utilizzare Finder Sync app extension (Avvio in OS X v10.10).

estensione Un cercatore di sincronizzazione può:

  • Aggiungere, rimuovere e aggiornare scudetti ed etichette su elementi in una cartella monitorata.
  • Visualizza un menu contestuale quando l'utente fa clic su un elemento all'interno di una cartella controllata.
  • Aggiungi un pulsante personalizzato alla barra degli strumenti del Finder.