Sep/082
comments
Von der Dose zum Mac: Spaltenreihenfolge im Finder
[Update] Offensichtlich geht es bei Leopard auch mit deutlich weniger Schmerz. Danke an detto (siehe erster Kommentar) für den exzellenten Tip! :-)
Die Standardreihenfolge der Spalten im Finder zeigt üblicherweise den Namen gefolgt vom letzten Modifikationsdatum, Dateigröße und Typ der Datei. Zwar lässt sich diese Reihenfolge durch Verschieben einer Spalte (Drag’n'Drop des Spaltentitels) ändern. Allerdings gilt diese Änderung nur für das jeweils geöffnete Verzeichnis. Eine Möglichkeit die Spaltenreihenfolge als globale Einstellung für alle Verzeichnisse zu ändern ist im MacOS nicht vorhanden.
Da mich die Dateigröße generell weitaus mehr interessiert als das Modifikationsdatum, kann so eine Restriktion nicht einfach hingenommen werden. Der hier beschriebene Lösungsweg führt über eine Änderung der Finder Property List com.apple.finder.plist, zu finden unter /Users/<username>/Library/Preferences, zum gewünschten Ergebnis.
Die Datei kann mit Apples Property List Editor bearbeitet werden, der mit den Apple Developer Tools
installiert wird. Wer die Developer Tools nicht besitzt und einen Download der gigabytegroßen Entwicklungs-Suite scheut, ist mit dem schlanken PrefSetter
ebensogut bedient.
Das Vorgehen wird unter Verwendung des PrefSetters beschrieben: Nach Start in der Liste der User Preferences com.apple.finder.plist mit Doppelklick auswählen. Es öffnet sich eine Detailansicht der in dieser Liste abgelegten Properties. Dort StandardViewOptions, darunter ListViewOptions, dann Columns öffnen. Alle Elemente von Item2 (ColumnPropertyID modd) und Item4 (ColumnPropertyId phys) austauschen. PrefSetter beenden und den Finder mit Rechtsklick+Alt auf das Finder-Icon im Dock neu starten. Piece of cake!
Sep/081
comment
Von woanders zum Mac: Focus follows mouse inkl. Autoraise
Eine, unter *nix-Systemen gewohnte und bei Windoze bspw. mit TweakUI leicht nachzurüstende, Funktionalität, stellt MacOS-Nutzer vor ungeahnte Hürden. Es ist die Rede von “Focus-Follows-Mouse” – wahlweise mit oder ohne Autoraise. Eine interessante Abhandlung zur Problematik nebst Lösungsversuch Marke Eigenbau ist dem Artikel Settling the OS X focus-follows-mouse debate
zu entnehmen. Der Kommentarmarathon steht beispielhaft für allerhand sinnentleerter Glaubenskriege á la “Wer braucht denn so etwas?” bis hin zu “Du willst das nicht haben, wenn du MacOS nutzt!”, über die man bei der Suche im Netz leider allerorten stolpert. Lösungen aber, die ein solches Feature für MacOS nachrüsten, sind rar. Bis vor kurzem hätte ich sogar von “nicht vorhanden” gesprochen – aber Nachhaltigkeit (in der Suche) zahlt sich aus: Der SW-Anbieter atomicbird
rangiert seit heute auf der Gottliste ganz oben. Eines seiner Software-Produkte MondoMouse
bietet neben der hier diskutierten “Focus-Follows-Mouse” (inkl. Autoraise) Funktion zusätzlich das schnelle Verschieben und Vergrößern/-kleinern von Fenstern, ohne ein PPAS (Pin-Point-Aiming-System) an den Mauszeiger zu montieren. Randnotiz: Wer sich intensiver mit der Ökonomie von Suchen und Klicken auseinandersetzen möchte, sei auf den englischsprachigen Wikipedia-Artikel zu Fitts’s Law
verwiesen.
Kleiner Wermutstropfen: Die $14,95 werden frech in €13,95 umgerechnet – da verwendet der Store wohl keinen wirklich aktuellen Umrechnungskurs…honi soit qui mal y pense. Ach ja, VAT 19% kommen noch on top, macht dann €16,60. Eine zeitlich begrenzte Testversion ist verfügbar.
[Update 03.10.2008] Ein weitaus größerer Wermutstropfen hat sich nach längerem Gebrauch herausgestellt. Keine Software ist fehlerfrei (außer vielleicht TeX;-), aber dieser Bug ist ziemlich nervig: Beim Umbenennen einer Datei im Finder können keine Großbuchstaben mehr eingegeben werden. Sobald die Shift-Taste (oder irgendein anderer Modifier-Key) gedrückt wird, verlässt der Finder den Editiermodus. Die Hotkey-Erkennung von MondoMouse schlägt hier scheinbar über die Stränge. Richtig ärgerlich ist aber, daß der Entwickler selbst nach zweimaliger Rückfrage toter Mann spielt. Da habe ich von einem selbständigen Software-Entwickler mehr erwartet. Schade.
[Update 28.12.2008] Ein letztes Update zu diesem traurigen Software-Kapitel. Habe bereits vor geraumer Zeit aufgegeben. Und zwar sowohl die Softwarebude zu erreichen, als auch MondoMouse weiter zu verwenden. Meine Anmerkungen an den/die Entwickler verhallten ungehört. Im aktuellen Zustand ist die Software aus den beschriebenen Gründen unbrauchbar.
Sep/080
comments
wp-syntax um “Copy to Clipboard”-Funktionalität erweitern
Unter Zuhilfenahme einer kleinen Flash-Applikation, etwas Javascript und ein wenig Frickelei an der
wp-syntax.php sowie wp-syntax.css lässt sich die Funktionalität allerdings nachrüsten. Wer die Schritte nicht einzeln nachvollziehen möchte, kann am Ende dieses Artikels das vollständige wp-syntax-Plugin nebst aller Änderungen downloaden. Die nötigen Anpassungen im Detail:-
wp-syntax.php
In Funktionwp_syntax_highlight()hinterdo_action_ref_array(...)und vor demif ($line)-Block. Ersetze$output = "\n<div class=\"wp_syntax\">";durch$output = "\n<div class=\"wp_syntax_null\"><div class=\"wp_syntax\">";
Und
$output .= "</div>\n";hinter demif ($line)-Block durch$output .= "</div><a title=\"copying to clipboard may need flash-player\" style=\"color: #707070;\" href=\"#\" onClick=\"return copyToClipboard(this);\">copy to clipboard</a></div>\n";
In der Funktion
wp_syntax_head()ist vor demecho-Statement der folgende Block zu ergänzen:$js_url = get_bloginfo("wpurl") . "/wp-content/plugins/wp-syntax/wp-syntax.js"; if (file_exists(TEMPLATEPATH . "/wp-syntax.js")) { $js_url = get_bloginfo("template_url") . "/wp-syntax.js"; } echo "\n".'<script src="' . $js_url . '" type="text/javascript"></script>'."\n";
wp-syntax.css
Zu Beginn der Datei den folgenden Kode einfügen:.wp_syntax_null { color: #707070; margin: 0 0 1em 0; vertical-align: top; text-align: right; font-size: 9px; line-height: 1; }
In der CSS-Definition für
.wp_syntaxdie Formatbeschreibung fürmarginmit dem folgenden Block überschreiben.margin: 1em 0 0 0; text-align: left;
-
_clipboard.swf
Das Eingangs erwähnte Flash-Progrämmchen steht als _clipboard.swf
zum Download bereit (Rechtsklick auf den Link, dann Speichern unter). Die Datei ist zwingend mit im wp-syntax-Plugin-Verzeichnis zu speichern.
-
wp-syntax.js
Eine neue Datei. Diese mit folgendem Inhalt befüllen und im selben Verzeichnis wiewp-syntax.phpablegen. Server- und Pfadangabe in Zeile 37 sind den eigenen Gegebenheiten anzupassen.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
<!-- function copyToClipboard( t ) { // get <pre>-node's innerText|HTML if ( /Firefox/.test( navigator.userAgent ) ) { var tt = t.previousSibling.firstChild.firstChild.innerHTML; tt = tt.replace( /&(lt|gt);/g, function( strMatch, p ) { return (p=="lt")?"<":">"; } ); tt = tt.replace( /<span style[^>]+(>|$)/g, "" ); tt = tt.replace( /<\/span>/g, "" ); } else { var tt = t.previousSibling.firstChild.firstChild.innerText; } // hack to identify and remove leading line numbers var lines = tt.split( "\n" ); if ( lines.length > 1 ) { bailout: while( lines.length ) { var trimmed = lines[ 0 ].replace( /\s+$/g, '' ) ; for ( var j = 0; j < trimmed.length; ++j ) { if ( isNaN( parseInt( trimmed.charAt( j ) ) ) ) { // bail out on first line containing non-digit chars break bailout; } } lines.shift( ); } } text2copy = lines.join( "\n" ); if ( window.clipboardData ) { window.clipboardData.setData( "Text", text2copy ); } else { var f = 'flashcopier'; if ( !document.getElementById( f ) ) { var divholder = document.createElement( 'div' ); divholder.id = f; document.body.appendChild( divholder ); } document.getElementById( f ).innerHTML = ''; var divinfo = '<embed src="http://www.eigener-server.de/wp-content/plugins/wp-syntax/_clipboard.swf" FlashVars="clipboard=' + escape( text2copy ) + '" width="0" height="0" type="application/x-shockwave-flash"></embed>'; document.getElementById( f ).innerHTML = divinfo; } alert( "Text should have been copied to clipboard!\nMay not work with all browsers." ); return false; } -->
Das vollständige wp-syntax-Plugin basierend auf Version 0.9.1 inklusive der hier beschriebenen Ergänzungen steht als wp-syntax.0.9.1-copy2clip.zip
(516kB) zum Download bereit.
Sep/080
comments
Von der Dose zum Mac: Ordner im Finder öffnen
MacOS bringt von Haus aus verschiedene Shortcuts mit, um in einem geöffneten Finder-Fenster bspw. das Home- (Shift+Cmd+H) oder Applications- (Shift+Cmd+A) Verzeichnis zu öffnen. Das ist ganz nett, setzt aber einen bereits geöffneten Finder voraus und beschränkt sich auf die von Apple vorgegebenen Ziele.
Gesucht wird eine flexiblere Lösung, die auf Knopfdruck den Finder mit einem bestimmten, zuvor benannten Verzeichnis öffnet. Eine Lösung ist mit dem bereits im Artikel Fenster, Butler, Alles
beschriebenen Tool Butler
möglich. Dabei wird Butler’s Funktion zum Ausführen eines per Hotkey aktivierten AppleScripts verwendet:
- Im Customize-Menu ein neues SmartItem/AppleScript als Hidden-Element anlegen.
- Im Source Code-Bereich dieses Elements das nachstehende Skript einfügen. Dabei ist
<username>durch den eigenen Usernamen zu ersetzen.tell application "Finder" open folder "Macintosh HD:Users:<username>:Downloads" activate set the current view of the front window to list view set the bounds of the front window to {150, 60, 1150, 600} end tell
Das Skript öffnet den Downloads-Ordner in einem neuen Finder-Fenster, stellt im Anschluß die Ansicht auf Listendarstellung um und platziert das Fenster an der (x, y)-Koordinate (150, 64) mit Breite 1000px und Höhe 540px.
- Abschließend unter Triggers einen Hotkey wählen, bspw. Shift+Cmd+D.
Ähnlich einfach können Dateien per Shortcut geöffnet werden. Ein Einzeiler genügt, um bspw. eine Datei “Daten.ods” mit NeoOffice zu bearbeiten:
tell application "NeoOffice" to open "Macintosh HD:Users:<username>:Documents:Daten.ods"
Sep/080
comments
iPhone – mp3s laden, speichern und abspielen
Apple versteht seine Gerätschaften als geschlossene Systeme, in denen nur das funktionieren soll, was Apple erlaubt. Und zwar auf exakt die Art, die der Hersteller aus Cupertino vorgibt. So auch beim Befüttern des iPhone/iTouch mit Musik; ein Akt, der in der Regel nur via iTunes möglich ist. Die Titel werden mit dem eingebauten Mediaplayer abgespielt. Ende. Nett wäre aber folgendes Szenario: Ein direkter Download von Musikdateien aus dem Internet nebst lokaler Speicherung auf dem iPhone und anschließender Abspielmöglichkeit der geladenen Musikstücke.
Das geht! Der Entwickler Richard Shearman hat den Mediaplayer dTunes
entwickelt, der das Abspielen von lokal gespeicherten Musikstücken und Videos ermöglicht. Zusammen mit einem Safari-Download-Plugin und dem in Shearman’s Mediaplayer unterstützten Seeqpod-Dienst, der das Internet nach abspielbaren mp3-Dateien durchforstet, lässt sich das oben skizzierte Szenario sehr elegant umsetzen. Voraussetzung ist ein iPhone/iTouch mit Firmware 2.x (jailbreaked/Cydia) – Details sind auf der Seite iphone-game.de
zu finden.
Noch eine kleine Hilfestellung: Unter nullseite.de/top100 wird eine stets aktuelle Chartliste bereitgestellt, die jeden Titel direkt auf Seeqpod verlinkt. Eignet sich hervorragend als Startseite in dTunes. ;-)