Ich möchte ein AppleScript erstellen, das fünf vordefinierte Ordner in fünf verschiedenen Registerkarten in einem neuen Finder-Fenster mit vordefinierten Grenzen öffnet und dann die aktive Registerkarte dieses Fensters auf Registerkarte eins verschiebt. Ich möchte auch, dass die vollständigen Dateinamen (der Dateien in allen fünf Ordnern) ohne Kürzung angezeigt werden. Ich verwende ausschließlich die Listenansicht im Finder.
Kann diese letzte Bedingung in AppleScript oder in irgendeiner Weise automatisiert werden?
Die Standardspaltenbreite "Name" ist zu schmal; Die vollständigen Dateinamen meiner Dateien werden immer abgeschnitten. Um dies zu beheben, muss ich jedes Mal, wenn ich einen Ordner öffne, entweder das Trennzeichen „Name“ manuell dramatisch nach rechts ziehen oder auf das Trennzeichen selbst doppelklicken (wodurch die Breite automatisch angepasst wird, um den längsten Eintrag vollständig anzuzeigen).
Meines Wissens nach ist es unmöglich , die Standardbreite der Spalte "Name" der Listenansicht auf einem Mac zu ändern. Andernfalls könnte ich einfach die Standardbreite dieser Spalte größer einstellen und diese Breite würde als Standard für alle Ordner festgelegt.
Das Gedrückthalten der option ⌥Taste beim Ziehen eines Spaltentrennzeichens (um seine Breite zu sparen) ist erfolglos.
Ich habe versucht, die breitere Spaltengröße als Standard festzulegen, indem ich im Finder command ⌘+ gedrückt Jund „Als Standard verwenden“ ausgewählt habe. Aber das hat nicht funktioniert.
Ich habe versucht, jeden Breitenwert "Name" in meiner Datei com.apple.finder.plist zu erhöhen und die Datei dann erneut zu speichern, wie im neuesten Kommentar des Benutzers azeotropo (ab 2012) dieser Webseite (ab 2003) beschrieben . Aber die alte, schmale "Name"-Breite bleibt bestehen.
OS X El Capitan, Version 10.11.6.
Die Antwort auf das Thema Ihrer Frage "Ist es möglich, die Spaltenbreite einer Finder-Listenansicht in AppleScript zu ändern?" ist ja. Die Antwort auf Ihre Frage zur Verwendung von AppleScript, um die Breite der Namensspalte so einzustellen, dass sie groß genug ist, um die Namen ohne Abschneiden anzuzeigen, lautet ebenfalls Ja. Ich bin mir nicht sicher, wie ich mit den Tabs im Finder-Fenster umgehen soll, aber es hört sich so an, als hätten Sie ein Skript, das die Tabs bereits anspricht.
Eine große Überraschung (für mich) war, dass ich das Finder-Fenster schließen und erneut öffnen musste, um die Änderung zu sehen.
Hier ist ein Skript, das im vordersten Finder-Fenster ausgeführt wird. Die Breite der Spalte "Name" ist auf 7,5 * (Anzahl der Zeichen des längsten Namens im Fenster) festgelegt. Es ist nicht die perfekte Breite, aber es funktioniert für mich, solange ich 12-Punkt-Text im Finder verwende. Wir setzen die Breite der Spalte auf eine bestimmte Anzahl von Pixeln, und jedes Zeichen benötigt eine andere Anzahl von Pixeln, da der Finder keine Schriftart mit fester Breite verwendet, sodass wir beim Festlegen der Breite nicht genau richtig sein können. Aber 7,5 * die Anzahl der Zeichen im längsten Namen scheint ziemlich gut zu funktionieren. Du kannst es natürlich anpassen.
tell application "Finder"
activate
set the_window to window 1
set current view of the_window to list view
set the_options to list view options of the_window
set the_name_column to first column of the_options whose name is name column
set the_items to name of every item of the_window
-- get the longest name (count of characters)
set longest_name to 0
repeat with I from 1 to count of the_items
--check for invisible files, which we don't need to consider
if character 1 of item I of the_items is not "." then
if (count of characters of item I of the_items) > longest_name then
set longest_name to count of characters of item I of the_items
end if
end if
end repeat
-- this only works if the text size is 12. The multiplier 7.5 could be changed
-- if the text size is something else.
set desired_width to longest_name * 7.5
set width of the_name_column to desired_width
-- we have to close and reopen the window in order to see any changes.
-- there might be a "refresh window" command but I don't know it.
set the_target to target of the_window
close the_target
open the_target
end tell
set width of column
bei El Capitan (10.11.6) nichts bewirkt.rm ~/Library/Preferences/com.apple.finder.plist
( Quelle ), gefolgt von killall Finder
( Quelle ), und Ihr Skript funktioniert jetzt. Ist es möglich, dass das Skript für längere Dateinamen funktioniert? Ich frage, weil die meisten meiner Dateinamen lang sind.tell application "Finder" to set the bounds of the front window to {259, 23, 3827, 666}
, um das Fenster erfolgreich zu erweitern. Das Problem besteht darin, dass, sobald die Größe des Fensters auf seine ursprünglichen Koordinaten geändert wird, nachdem die Spaltenbreite "Name" festgelegt wurde, der Spaltenteiler "Name" ebenfalls nach links gleitet. Mit dieser Problemumgehung wird also nichts erreicht.Der folgende Code stellt die Namensspalte in der Listenansicht so ein, dass sie der Größe des längsten Dateinamens in jedem geöffneten Fenster oder jeder Registerkarte in jedem Fenster in der Finder-App entspricht. Wenn keine Finder-Fenster geöffnet sind, wird ein neues Finder-Fenster in der Listenansicht geöffnet und die Breite der Namensspalte entsprechend festgelegt.
Dieser Code erfordert das Dienstprogramm eines Drittanbieters, Clickick .
„Click“ ist die Abkürzung für „ Command - Line I nterface Click “ . Es ist eine winzige Shell-/Terminal-Anwendung, die Mausklicks oder eine Reihe von Mausklicks (einschließlich Doppelklicks und Control-Klicks) an beliebigen Bildschirmkoordinaten emuliert. Darüber hinaus können Sie die Maus bewegen, die aktuellen Mauskoordinaten abrufen, Modifikatortasten drücken usw.
Es kann kostenlos heruntergeladen werden, ist aber Donationware und einfach zu installieren.
Auf meinem System habe ich cliclick
im folgenden Verzeichnis: /usr/local/bin/
. Aufgrund dieser Position muss ich in meinem AppleScript-Code und in der Terminal-App den vollständigen Pfad verwenden, um cliclick
den Befehl aufzurufen. Zum Beispiel: do shell script "/usr/local/bin/cliclick rc:."
In AppleScript wird gesagt cliclick
, dass man mit der rechten Maustaste klicken soll.
Dies funktioniert bei mir mit der neuesten Version von macOS Mojave.
Die in diesem folgenden Skript verwendeten Koordinaten x
und y
wurden eingestellt, während meine Bildschirmauflösung 1280 x 800 betrug.
global thisWindow
tell application "Finder"
activate
if not (exists of Finder window 1) then
make new Finder window to path to documents folder
end if
set theWindows to name of windows
repeat with i from 1 to count of theWindows
set thisWindow to item i of theWindows
set index of Finder window thisWindow to 1
tell its Finder window thisWindow
set currentView to current view
if currentView is not list view then
set current view to list view
end if
end tell
my setColumnWidth()
end repeat
end tell
on setColumnWidth()
tell application "System Events"
repeat while not (exists of scroll area 1 of splitter group 1 of splitter group 1 ¬
of window thisWindow of application process "Finder")
delay 0.1
end repeat
set frameBounds to value of attribute "AXFrame" of UI element 2 of row 2 ¬
of outline 1 of scroll area 1 of splitter group 1 of splitter group 1 ¬
of window thisWindow of application process "Finder"
end tell
set x to (item 1 of frameBounds) - 1
set y to (item 2 of frameBounds) - 13
do shell script "/usr/local/bin/cliclick dc:" & x & "," & y -- Double Click At Coordinates
end setColumnWidth
-r
Option "Anfangsposition der Maus wiederherstellen, wenn fertig" hinzufügen.
cliclick
Oion Akif
Rubiks Sphäre