Προς το περιεχόμενο

"Libraries στο Mac OS"


gnsX

Προτεινόμενες αναρτήσεις

Σε ένα θέμα (που βαριέμαι να βρω που έχει θαφτεί τώρα) 'Μύθοι και αλήθειες για το OSX" κάπως έτσι,είχε αναφερθεί το πολύ καλό feature των Libraries που εμφανίστηκε στα Windows 7.

 

Windows-7-Libraries.jpg

 

Αυτό που κάνει είναι να εμφανίζει το περιεχόμενο πολλών φακέλων με μόνο μία είσοδο στην sidebar (όπως φαίνεται και στην εικόνα όπου εμφανίζονται τα περιεχόμενα των φακέλων My Music,Public Music,Van Halen?)

 

Το ψαξα λίγο για το πως ακριβώς γίνεται,ξεσκόνισα απο το πίσω μέρος του εγκεφάλου τις φοβερές και τρομερές μου γνώσεις στο UNIX και κατάλαβα ότι πρόκειται απλά για SymLinks ή τουλάχιστον θα μπορούσε να γίνει με ένα τέτοιο τρόπο.

 

Ψάχνωντας έβρηκα ένα script (στο Mac OS X Hints) που κάνει το ίδιο πράγμα,το άλλαξα ελάχιστα (για να φτιάχνει SymLinks για αρχεία και φακέλους,ο τύπος είχε μόνο για φακέλους,μη φανταστεί κανείς χακεριά,άλλαξα το folders σε files και πρόσθεσα άλλη μια γραμμή κώδικα :P )

 

Ο κώδικας είναι:

 

 

-- Gets the folder list of any number of specified source directories, and creates matching symlinks for each in a single specified directory.

-- Written by Dave Chevell, 2nd of May, 2010. Yay me.

 

-- The sourceList variable contains the list of folders from which to source your symlinks. As you can see in the following example, they must be separated by commas and contained by "double quotes"

set sourceList to {"/Volumes/Disk X/TV Shows/", "/Volumes/Disk Y/Television shows/", "/Users/Dave/Media/TV Shows/", "/Volumes/Disk Z/video/tvshows/"}

 

-- The destinationFolder variable is where your symbolic links will be created. The actual folder must exist

set destinationFolder to "/Users/Dave/Desktop/TV Shows/"

 

-- Whether or not you end your sources or your destination folder with a forward slash, the script accounts for it by adding an extra one. This appears to work without issue (OS X 10.6.3)

 

repeat with currentSource in sourceList

 

tell application "Finder"

 

set sourceFolders to get name of folders of folder (currentSource as POSIX file)

 

repeat with currentFolder in sourceFolders

 

 

-- Even if your sourceList or destinationFolder variable entries end in a forward slash, adding another forward slash in this next step "just in case" still appears to work (tested only on OS 10.6.3)

set fromPath to currentSource & "/" & currentFolder

set toPath to destinationFolder & "/" & currentFolder

 

 

-- Escape out characters the terminal does not like in file paths.. for some reason making strings "quoted form of" doesn't work with symlinks, so we have to parse each path and add escape characters instead. New escape characters can be added to the illegalChars variable. They must be separated by commas and contained by "double quotes"

set illegalChars to {" ", "&", "'"}

 

repeat with delimChar in illegalChars

if fromPath contains delimChar or toPath contains delimChar then

 

set AppleScript's text item delimiters to delimChar

set the pathText to every text item of fromPath

set AppleScript's text item delimiters to the "\\" & delimChar

set fromPath to the pathText as string

 

set AppleScript's text item delimiters to delimChar

set the pathText to every text item of toPath

set AppleScript's text item delimiters to the "\\" & delimChar

set toPath to the pathText as string

 

end if

 

end repeat

 

 

-- Finally, create the damned link. "Try" is used so we can skip errors about existing symlinks

try

do shell script "ln -s " & fromPath & " " & toPath

end try

 

end repeat

end tell

end repeat

 

http://hints.macworl...100502015718443

 

 

 

Αυτό που πρέπει να κάνει όποιος θέλει το ίδιο feature είναι να το τρέξει σαν Apple script,αλλάζοντας τα παρακάτω:

 

Αν θέλει να εμφανίζονται αρχεία ΚΑΙ φακέλοι,προσθέτουμε κάτω απο το

Τell application "Finder"

 

αυτό

set sourceFolders to get name of files of folder (currentSource as POSIX file)

 

Αφού δημιουργηθεί ο φάκελος με τα SymLinks τον καρφιτσώνουμε στην sidebar,βουαλά,ένα entry για το περιεχόμενο πολλαπλών φακέλων.

Το τρέξιμο ξανά του Applescript,προσθέτωντας ή αφαιρώντας φακέλους για SymLinks αννανεώνει το υπάρχων,άρα μπορούμε να προσθαφαιρούμε ότι θέλουμε.

 

Βάζουμε το script να τρέχει είτε συνεχώς είτε ανα κάποιο διάστημα για να γίνεται ανανέωση των περιεχομένων και τέλος.

 

 

up1.png

 

*Κάτι παρόμοιο μπορεί να πετύχει κάποιος με τa smart folders,αλλά αυτό πιο ψαγμένο και καλά

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Και μιας που τα λέγαμε σε εκείνο το θέμα, με αυτό το post τονίζεται πως οι libraries δεν είναι διαφορετική τεχνολογία των λειτουργικών αλλά pre-built, εάν θες, λειτουργικότητα που μπορεί να γίνει και στα δύο Λ.Σ.

 

Αυτό όμως που ακόμα, για εμένα at least, είναι σκοτεινό σημείο είναι η δυνατότητα που δίνει το MAC OS για απευθείας μετακίνηση των αρχείων μέσα από την "κεφαλίδα" της εφαρμογής που έχει ανοίξει το κάθε αρχείο.

 

Π.χ., εάν κανείς έχει ανοίξει ένα αρχείο στο Preview, τότε από την "κεφαλίδα" του preview μπορεί να τραβήξει το αρχείο όπου θέλει ή να πλοηγηθεί απευθείας (με δεξί κλικ) στο path που είναι το αρχείο (κάτι που ισχύει και για τα links - urls στον Safari).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν θα το 'λεγα να πω την αλήθεια,στα Windows οι αλλαγές είναι αμφίδρομες,εδώ όχι,αν σβήσεις το symbolic link δεν σβήνει το original file,στα Windows λειτουργεί σαν hard link.

Όπως και να 'χει,το παραπάνω tip χρησιμεύει αν έχεις πολλούς σκληρούς με σκόρπιες φώτο ας πούμε και θες να τις βλέπεις όλες με ένα κλικ.

 

Btw αν σου είναι εύκολο και είσαι σε ML θα ήθελα να μου πεις αν έχει thumbnail το alias ενός αρχείου όπως εικόνα ή βιντεο

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Πάντως εγώ από τη στιγμή που έβαλα τον ForkLift σταμάτησα να χρησιμοποιώ τον finder.Μέχρι και two panes έχεις για να παίξεις.Πραγματικά πολύ καλό πρόγραμμα.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...