Permalink

Gastartikel: BetterTouchTool · Eigene Touch Bars unter macOS erstellen

Kurz ein Satz zu mir: Normalerweise bin ich ein Leser von aptgetupdateDE.

BTT3

Mir haben die Seite und die Arbeit von Björn und Oliver so gut gefallen, dass ich nicht zögerte und den beiden eine E-Mail als Dank geschrieben hatte. In der Mail waren auch ein paar Anregungen zu Apps, die ich aufgrund ihres großen Nutzens bisher auf der Seite vermisst hatte.

Nach einen paar Mails sind wir letztendlich auf den Gastartikel gekommen, denn ich nun verfasse.

intro5

BetterTouchTool, um das es nachfolgend gehen soll, ist eine derart umfangreiche App, dass ich mich heute auf die Funktionen für die Touch Bar beschränken möchte.

Genauer gesagt werde ich ein kleines HowTo schreiben und zeigen wie man eigene Touch Bars für das MacBook Pro erstellt. Allgemeine und direkt für Apps; mit allem was dazu gehört.

Touch Bar Bild 3

Besitzer eines MacBook Pro kennen das Standard-Layout der Touch Bar, mit dem wir auch gleich zum ersten Punkt kommen: Wie ich finde, braucht man in der Touch Bar so viel Platz wie irgend möglich. Gerade wenn man z.B. Safari nutzt und alle geöffneten Tabs dort angezeigt bekommen möchte.

Also kurzerhand in die macOS Systemeinstellungen unter Tastatur und dort ausschließlich die App-Steuerungen anzeigen lassen. Danach BetterTouchTool installieren und die Touch Bar sieht gleich viel aufgeräumter aus.

Touch Bar Bild 2

Jetzt geht es direkt in die BTT App, die man jederzeit über die macOS Menüleiste unter Preferences starten kann.

Alle aus der Touch Bar entfernten Funktionen, die man vielleicht vermisst, lassen sich dann wieder mit BTT hinzufügen.

Bildschirmfoto 10

An dieser Stelle möchte ich großes Lob an die Entwickler für ihr Bezahlkonzept aussprechen.

Zum einen bekommt man 45 Tage Zeit, in denen man die App im vollem Umfang testen kann; sowohl die letzte stabile, als auch die aktuelle Alpha-Version, was in den Optionen nach Belieben einstellbar ist. Zum anderen hat man danach die Möglichkeit mit dem Pay-what-you-want-Modell die App mit einem in Abstufungen frei wählbaren Betrag von 4,49 bis maximal 50,00 Euro zu kaufen. Ich finds genial.

Touch Bar Bild 7

Am Ende des Tutorials könnte die Touch Bar dann wie oben im Screenshot zu sehen aufgebaut sein.

Wie man sieht, hat man die Möglichkeit Bilder, Icons, Ordner, Widgets u.s.w. frei einzufügen. Wobei man in der Touch Bar durch die Ordner navigieren und dadurch wieder so viele Unter-Touch-Bars erstellen kann wie man möchte.

So zum Beispiel im App-Ordner…

Touch Bar Bild 8

oder im Settings-Ordner.

Touch Bar Bild 9

Das Erstellen von eigenen Touch Bars ist, wie alle anderen Funktionen in BTT, die nach dem gleichen Schema funktionieren, übersichtlich und einfach strukturiert.

Hier eine Übersicht zum Vergleich: Was in BTT untereinander angeordnet ist, wird auf der Touch Bar nebeneinander angezeigt.

Bildschirmfoto 11

Als erstes geht man in der Übersicht auf das Feld + TouchBar Button.

Ein neuer Eintrag erscheint, den man mit einem Namen, in unserem Fall Cover, versieht. So kann man dem Ganzen direkt einen individuellen Touch verpassen.

Bildschirmfoto 14

Da nur .icns-Dateien für die Touch Bar zugelassen sind, stellt sich natürlich die Frage woher man die eigenen Bilder oder Icons nehmen soll. Ich habe das Problem mit der App Image2icon gelöst, die kostenlos im Mac App Store erhältlich ist.

Nach der Konvertierung des Bildes kann die so erstellte .icns-Datei per DragNDrop in das Feld Add Icon von BTT gezogen werden.

App-Icons lassen sich auch ganz einfach über den Finder, mit Rechtsklick auf die App > Informationen und anschließend das oben links angezeigte Bild mit DragNDrop zu Image2icon ziehen, erstellen.

Bildschirmfoto 15

Touch Bar Bild 1

Jetzt geht es zu den Einstellungen des Buttons, die über das Feld Advanced Configuration erreichbar sind.

Grundsätzlich stelle ich für jeden Button die TouchBar Button Color auf Schwarz (#000000). Ich persönlich finde die Touch Bar ohne die grauen Boxen einfach hübscher.

Als nächstes kann man den Abstand zum nächsten Button über Free space after button anpassen. Um einen gleichen Abstand zu beiden Seiten zu bekommen, ist für den ersten Button ein Abstand von 30px passend. (Links von der Touch Bar ist etwas Fläche, die den TouchID-Knopf auf der anderen Seite optisch ausgleicht.)

Im Falle vom Cover Button setze ich die Auswahl im darauffolgenden Drop-Down-Menü auf Stick to the left side of the Touch Bar, was bei den kommenden Buttons dann auf Standard gelassen werden kann. Für den Close/Back Button ist die Auswahl wiederum beim gegensätzlichen Stick to the right side of the Touch Bar passend (später dazu mehr).

Das Häkchen bei Icon only, no text aktiviere ich für jeden Button, da sonst der Text neben dem Icon angezeigt wird.

Das Show HUD overlay… ist eine Box, die auf dem Bildschirm angezeigt wird, während man den Button drückt. Ist also nicht zwingend notwendig; habe es nur beim Cover Button, just for fun.

Bildschirmfoto 16

Alle folgenden Buttons werden nach dem gleichen Schema erstellt, die dann noch mit verschiedenen Funktionen versehen werden können.

Ich zeige noch kurz Beispiele an Widgets und Ordnern. Danach ist man gerüstet, um alle möglichen Touch Bars nach seinen Vorstellungen erstellen zu können.

Bildschirmfoto 17

Oben im Screenshot zunächst einmal die Einstellungen für das App Switcher Widget, das über das Feld + Widget hinzugefügt werden kann.

Um dahingegen einen Button zu generieren, mit dem eine App geöffnet werden kann, erstellt man ihn nach dem gleichen Muster wie unseren Cover Button.

Zusätzlich wählt man im Feld Predefined Action aus einer riesigen Liste an Aktionen (die keine Wünsche offen lässt) über Controlling Other Applications die Aktion Open Application/File/Apple Script… aus und wählt dann die zu startende App aus.

Bildschirmfoto 19

Um das Ganze zu beschleunigen, kann man erstellte Buttons über Copy/Paste einfach duplizieren. (Dazu habe ich zwischen allen App-Buttons immer 3px für den Free space after button gewählt.)

Ordner, und das sieht man weiter oben im Screenshot, lassen sich über das Feld + Button Group erstellen. Das Verhalten ist letztendlich genauso wie bei normalen Buttons; nur, dass man Buttons separat im Ordner erstellen oder bereits erstellte Button in den Ordner ziehen kann.

Als Abschluss (quasi ganz rechts in der Touch Bar) wird der BTT-Button mit Stick to the right side of the Touch Bar und mit der Aktion Toggle BetterTouchTool Touch Bar erstellt. Der Free Space liegt bei 0px und die Button Color bei #3B3B3B.

Bildschirmfoto 20

Nach genau dem selben Prinzip funktioniert auch das Erstellen von Touch Bars für bestimmte Apps. Wobei man dann in der linken Sidebar über das Feld + App Specific eine App auswählt und darin eine Touch Bar erstellt.

Hier ein Foto mit einer Software, die eigentlich noch keine eigene Unterstützung der Touch Bar bietet; durch BTT aber genau diese bekommt.

TP3

Was es noch zu beachten gibt:
Das Wechseln zwischen normaler Touch Bar, BTT Global und BTT App Specific ist noch ein bissen tricky. Das Verhalten kann allerdings unter General Touch Bar Settings eingestellt werden.

Dazu die Einstellungen, mit denen ich bisher am besten fahre.

Bildschirmfoto 22

Das erst mal von mir zu BetterTouchTool.

Wer übrigens auf der Suche nach App-Icons ist, kann gerne diesem Link folgen. Dort ist eine ZIP-Datei hinterlegt, die alle Icons enthält, die ich verwende. Dazu beinhaltet die Datei auch meine Presets, die man direkt in BTT importieren und nutzen kann.

Viele Grüße
Rob Freeman

-> https://www.boastr.net

Permalink

GeekTool · Tutorial zur Systemüberwachung und vieles mehr

Über das Thema GeekTool in deren dazugehörigen Geeklets haben wir hier und da schon mal ein Wort verloren.

Durch unseren Menüleisten < 2013 Artikel, vom Anfang dieser Woche, kam das Thema wieder etwas hoch, denn unser geschätzter Kritiker Fischmütze setzt dieses ein, um über den Desktop sein tägliches digitales Leben etwas zu vereinfachen.

aguDE-geektool-icon

Nachfolgend sein Gastbeitrag zum Thema:

Ich setze in der Firma einen 27″ iMac mit Mountain Lion und zu Hause ein 13″ MacBook Pro ein.

GeekTool benutze ich sowohl im Office, als auch im privaten Bereich schon ein paar Jahre um mir Informationen, die ich mehr oder weniger ständig brauche, auf dem Desktop anzeigen zu lassen. Mir gefällt an GeekTool besonders der sehr Ressourcen schonende Umgang mit dem System, da alle zu generierenden Infos in frei wählbaren Intervallen erzeugt werden und somit nicht ständig Prozesse im Hintergrund laufen. Zudem bekommt man mit GeekTool ein Werkzeug an die Hand, dass die Informationsbereitstellung und -aufbereitung nach eigenen Wünschen frei ermöglicht. Da die meisten GeekTool-Anzeigen auf Systemkommandos bzw. Scripten basieren, lässt sich eine GeekTool-Konfiguration via Dropbox auch ganz gut auf andere Systeme syncen.

Den Vorteilen von GeekTool steht ein erhöhter Einarbeitungsaufwand gegenüber, gerade für User, die bisher keine Erfahrung mit Terminal, Shell und deren Möglichkeiten haben. Es würde den Rahmen eines solchen Artikels sprengen hier auf die phantastischen Möglichkeiten der Unix-Shell-Programmierung einzugehen. Ich kann nur empfehlen sich damit zu beschäftigen, schließlich setzt ihr ein leistungsfähiges Unix-System ein; alles so gelernte lässt sich auch leicht auf andere Unix, aká Linux-Systeme, übertragen. Daher auch dieser kurze Linktipp.

Ich möchte hier an Hand meines GeekTool-Setups kurz aufzeigen, wie man damit womöglich sein digitales Leben etwas vereinfachen kann und sich nicht für jede Aufgabe seine Menüleiste mit einem Zusatzprogramm verstopft.

Abb1Sehr schön ist an GeekTool, dass man die Geeklets unterschiedlichen Gruppen zuordnen kann. So kann man zuvor definierte Info-Gruppen ausblenden, wenn man sie nicht benötigt.

Mein GeekTool-Desktop sieht zur Zeit in etwa so aus, wie im Screenshot zu sehen. Dieses Setup hat sich über einen langen Zeitraum nach und nach entwickelt und bewährt. Natürlich lebt auch mein Desktop von Veränderungen, einiges habe ich aber inzwischen, auch wenn ganz nett anzuschauen, wieder entfernt – z.B. eine Wetteranzeige. Letztlich eine Frage des persönlichen Geschmacks.

 

Voila_Capture35

Für einige Geeklets ist die Installation zusätzlicher Programme erforderlich. Soweit möglich habe ich das angegeben. Ganz allgemein empfehle ich MacPorts zu installieren.

Nicht alles stammt aus meiner Feder aber ich denke das ist eh klar… Die Kommandos und Scripte sind beispielhaft und müssen selbstverständlich von Euch angepasst werden. Ich hoffe das inspiriert Euch, denn natürlich könnte man vieles noch besser machen. Ich bin gespannt auf Eure Verbesserungsvorschläge. Womöglich habt Ihr aber selber großartige Lösungen für GeekTool im Einsatz, die ein wenig über das Anzeigen von Uhr und Datum hinausgehen.

(1 + 2)
Ich habe hier von Berlin zu meinem Heimatdorf am Rande Berlins einen recht langen Fahrweg über die Berliner Autobahn bzw. den Berliner Ring. Deshalb ist es ganz gut zu wissen, was auf dem Nachhauseweg so auf den Straße los ist. Ganz ordentliche aktuelle Verkehrsnachrichten bekommt man auf freiefahrt.info.

Das iPhone-Webinterface ist zudem besser von unnötigen Infos „befreibar“. Die Rohdaten hole ich mir mit curl und bereite diese dann noch etwas für die Anzeige auf.

Alle Nachrichten aus Berlin, die A115 betreffend:

curl -s http://iphone.freiefahrt.info/iphone.state.php?state=BR|sed 's/<[^>]*>/--/g'|awk -F"--" -v OFS="\n" ' $1=$1 '|sed -e '1,3d'|grep -A1 'A115'

Alle Verkehrsnachrichten aus Brandenburg

curl -s http://iphone.freiefahrt.info/iphone.state.php?state=BB|sed 's/<[^>]*>/--/g'|awk -F"--" -v OFS="\n" ' $1=$1 '|sed -e '1,5d'

(3)
Immer wieder benötige ich schnell ein paar Telefonnummern und andere Infos. Klar könnt ich die ins Adressbuch hacken und dann mit LaunchBar oder Alfred ;-) schnell nachschlagen aber erstens brauche ich die Daten nicht im Adressbuch und zweitens sind Öffnungszeiten etc. da auch schlecht aufgehoben.

Ich zeige hier mit more einfach eine simple Textdatei an. Gespeichert ist diese Textdatei, wie auch all meine Geeklet-Scripte, im Dropbox-Folder. Ein Zugriff auf meinen anderen Rechnern ist somit jederzeit gewährleistet. Ich bearbeite diese Datei mit nvALT, das ist bequem und spart wieder ein paar Tastenanschläge.

more /Users/DEINUSERNAME/Dropbox/Notes/Telefon-Desktop.txt

Da GeekTool auch Bilder permanent auf dem Desktop anzeigen kann, steht einem farbenfrohen Desktop mit Bildern der Freundin, Ex-Freundin, Traumfrau oder nützlichen Sachen wie einer Kommando-Übersicht nichts im Wege (Klick, Klick).

(4)
Ich bin kein Freund ständig laufender Programme, die man ggf. zur Zeit gar nicht nutzt. Deshalb habe ich mir je IMAP-Postbox mit einem Python-Script, basierend auf einem Script von G. Newman, ein Inbox-Checker gebaut. Das Python-Script erzeugt auch eine Nachrichtenzentrale-Meldung per terminal-notifier.app, die im OS X Programm-Ordner liegen muss.

Beispielhaft für einen GMAIL-Account

Die Werte MEIN_GOOGLEACCOUNTNAME, MEIN_PASSSWORT müssen natürlich durch Eure Daten ersetzt werden. Für andere IMAP-Konten müsst Ihr ebenso ‚imap.gmail.com‘ durch euren IMAP-Server ersetzen. Je E-Mail-Konto benutze ich also ein separates Script. Für Python-Neulinge sei noch vor der Veränderung der Einrückungen im Text gewarnt!

#!/usr/bin/env python
# encoding: utf-8
# Copyright (c) 2009 Greg Newman, exhancement Mac OS by Fischmuetze
 
import os
import imaplib,re
import sys

def main(argv=None):
    i=imaplib.IMAP4_SSL('imap.gmail.com')
    try:
        i.login("MEIN_GOOGLEACCOUNTNAME","MEIN_PASSSWORT")
        x,y=i.status('INBOX','(MESSAGES UNSEEN)')
        messages=int(re.search('MESSAGES\s+(\d+)',y[0]).group(1))
        unseen=int(re.search('UNSEEN\s+(\d+)',y[0]).group(1))
        if unseen == 0:
        	print "Keine neuen Nachrichten"
        	os.system("/Applications/./terminal-notifier.app/Contents/MacOS/terminal-notifier -remove GMAIL >/dev/null ")
        elif unseen == 1:
        	os.system("/Applications/./terminal-notifier.app/Contents/MacOS/terminal-notifier -message '1 Neue Nachricht eingetroffen!' -title GMAIL -group GMAIL -activate com.apple.mail >/dev/null ")
        	print "1 Neue Nachricht"
        elif unseen > 1:
        	os.system("/Applications/./terminal-notifier.app/Contents/MacOS/terminal-notifier -message '" + str(unseen) + " Neue Nachrichten eingetroffen!' -title GMAIL -group GMAIL -activate com.apple.mail >/dev/null ")
        	print unseen, " Neue Nachrichten"
        else:
			print "Offline"
    except:
		print "Offline"

if __name__ == '__main__':
    sys.exit(main())

(5)
Zeigt mir via tail Kommando ein Log mit bestimmten Systemzuständen und Nachrichten an. Ich werde darauf nicht weiter eingehen, weil das zu individuell ist.

(6)
Hier lasse ich mir via einfachem ping-alive-Shell-Script den alive-Zustand einiger ausgewählter Server anzeigt, wenn’s klemmt gibt es natürlich, davon unabhängig, das übliche Nagios und Systeminfo-Bombardement. GeekTool ruft dazu einmal in der Minute das folgende Shell-Script auf:

#!/bin/bash
PATH=${PATH}:/bin:/usr/bin:/sbin

HOSTS="hostname1 hostname2 hostname3 hostname4 hostname5"
COUNT=1

for myHost in $HOSTS
do
    count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
    if [ $count -eq 0 ]; then
        # 100% failed 
        echo -e "      $myHost"
    else
        echo -e "[OK]  $myHost"
    fi
done

(7)
Das Datum

date '+%A, %d. %B'

(8)
Mein Chef treibt sich recht viel in der Weltgeschichte rum. Da ist es immer gut zu wissen, wie spät es da ist wo er ist.

TZ=London/GMT date +"London: %l:%M %p, %d.%m."
TZ=New\ York/GMT+5 date +"New York: %l:%M %p, %d.%m."
TZ=San\ Francisco/GMT+8 date +"San Francisco: %l:%M %p, %d.%m."

(9)
Ein Kalender

cal | awk '{ print " "$0; getline; print " Mo Di Mi Do Fr Sa So"; getline; if (substr($0,1,2) == " 1") print "                    1 "; do { prevline=$0; if (getline == 0) exit; print " " substr(prevline,4,17) " " substr($0,1,2) " "; } while (1) }'

(10)
Auszüge aus meinen dienstlichen und privaten Kalendern in Apple iCal zeige ich per icalBuddy an. Einige abonnierte Kalender blende ich zudem aus, die ich auf dem Desktop nicht zur Ansicht benötige.

/usr/local/bin/icalBuddy -ss '\n_________________________________________________' -nrd -nc -sd -ps '|\n   |' -po datetime,title -ec 'O: Büro','O: Privat','O: Urlaub','O: Erinnerungen','Kalenderwochen','User Absences' eventsToday+2

(11)
Ebenfalls mit icalBuddy zeige ich die Liste unerledigter Aufgaben in Apple-Erinnerungen an 

/usr/local/bin/icalBuddy -nc -nrd -npn -sc uncompletedTasks

(12)
Mehr als ein Gimmick lasse ich mir noch einige Daten des Mac hier anzeigen.

Den aktuellen Netzwerkdurchsatz der Netzwerkkarte (Draht); ist ein Shell-Script, basierend auf netstat. Wenn ihr WiFi benutzt, müsst ihr die Zeile INTERFACE=en0; entsprechend anpassen. Das WiFi-Interface ist am Mac gemeinhin en1, d.h. es muss hier INTERFACE=en1; stehen. Der Befehl ifconfig hilft hier ggf. etwas bei der Aufklärung.

Nun via GeekTool das Script z.B. jede Sekunde aufrufen, fertig ist der Bandwith-Monitor.

#!/bin/bash
PATH=/usr/sbin:/usr/bin:/bin
INTERFACE=en0;

SAMPLE_A=(`/usr/sbin/netstat -bI "$INTERFACE" | awk "/$INTERFACE/"'{print $7" "$10; exit}'`);
sleep 1;
SAMPLE_B=(`/usr/sbin/netstat -bI "$INTERFACE" | awk "/$INTERFACE/"'{print $7" "$10; exit}'`);
BANDWIDTH_USAGE=(`echo "2k ${SAMPLE_B[0]} ${SAMPLE_A[0]} - 1024 / p" "${SAMPLE_B[1]} ${SAMPLE_A[1]} - 1024 / p" | dc`);echo -en "\033[s\033[0m";reset; echo -e "Network in: ${BANDWIDTH_USAGE[0]} kb/s out: ${BANDWIDTH_USAGE[1]} kb/s \c";

(13)
Die Uptime des Rechners

uptime

(14)
Der freie Speicher verleitet mich immer wieder mit purge rumzuspielen oder sich über das Speichermanagement des Macs beim Big-Copy-Prozessen aufzuregen.

Das erledigt ebenfalls ein kleines Shell-Script.

#!/bin/bash
top -l 1 | grep free\.

Das soweit also zu meiner GeekTool-Konfiguration.

Weiterführende Links

-> http://lifehacker.com
-> http://bc.tech.coop
-> http://eoinbailey.com

[app 456877552]

Ach ja… und das Wetter?

curl --silent "http://xml.weather.yahoo.com/forecastrss?p=GMXX0007&u=c" | grep -E '(Current Conditions:| C

//' -e 's///' -e 's/<\/b>//' -e 's/
//' -e 's///' -e 's/<\/description>//' -e 's/Fair/heiter/g' -e 's/Partly/teilweise/g' -e 's/Sunny/sonnig/g' -e 's/Mostly/meist/g' -e 's/Light/leichter/g' -e 's/Rain/Regen/g' -e 's/Showers/Schauer/g' -e 's/T-showers/Gewitter/g' -e 's/Mostly/meist/g' -e 's/Scattered/vereinzelt/g' -e 's/Showers Late/abends Schauer/g' -e 's/AM/vormittags/g' -e 's/PM/nachmittags/g' -e 's/Clear/klar/g' -e 's/Cloudy/bewoelkt/g' -e 's/Wind/windig/g' -e 's/Few/gelegentlich/g' -e 's/Thunderstorm/Gewittersturm/g' -e 's/Thunder/Gewitter/g' -e 's/Snow/Schnee/g' -e 's/Fog/Nebel/g' -e 's/Early/morgens/g' -e 's/Late/abends/g' -e 's/Drizzle/Niesel/g' -e 's/Isolated/isoliert/g' -e 's/Mix/wechselhaft/g' -e 's/Wintry/winterlich/g' -e 's/to/oder/g' -e 's/Mist/leichter Nebel/g'

Der Wert GMXX0007 muss durch den entsprechenden eures Wohnortes angepasst werden. Etwas tricky den herauszubekommen. Wie’s geht steht u.a. hier.

Permalink

Sommerpause 2.0 und Chance auf Gastbeiträge

Und jährlich grüßt das Murmeltier… Wie sicher einige von Euch schon mitbekommen haben, ist es in letzter Zeit etwas ruhiger um Oliver geworden. Das liegt nicht etwa an fehlender Motivation, sondern schlicht und ergreifend am Urlaub.

haengematte

Die kommenden beiden Wochen müsst Ihr ausschließlich mit mir Vorlieb nehmen. Ich werde versuchen das Niveau hoch zu halten, auch wenn die Anzahl der Artikel sicher etwas abnehmen wird. Ich bitte daher um Verständnis.

Jetzt kommt Ihr aber ins Spiel: Wer Lust hat einen Gastartikel auf aptgetupdateDE zu veröffentlichen, kann sich gerne per E-Mail, unter team[ä]aptgetupdate.de, bei mir melden. Ich werde dann alles Weitere in die Wege leiten. Das von Euch gewählte Thema, egal ob es Windows, Linux, Mac, Mobile Apps etc.pp. betrifft, sollte bei uns natürlich noch nicht besprochen sein. Ansonsten lasst Euren Gedanken freien Lauf. Wir freuen uns aufs Feedback :)

In diesem Sinne: SCHÖNEN URLAUB OLIVER und schreib mir mal ne Karte* aus Deiner Hängematte!!!

* ne DM bei Twitter mit schönem Bild tuts auch ;)

(Bild via)