Dateien eines bestimmten Types unter macOS kopieren

Wer versucht Dateien, eines bestimmten Dateityps, an einen anderen Ort zu kopieren, der kann mit den grafischen macOS-Boardmitteln schnell auf Probleme stoßen. Als Alternative bietet sich das Terminal an, in welchem das Problem wesentlich schneller gelöst werden kann:

find /Users/seeseekey/Unsortiert/ -iname \*.txt -exec cp {} /Users/seeseekey/Sortiert/txt/ \;

Damit werden alle Dateien, welche dem Pattern entsprechen, im Quellordner gefunden und anschließend in den Zielordner kopiert. Das cp-Kommando zum Kopieren kann auch durch mv ersetzten werden:

find /Users/seeseekey/Unsortiert/ -iname \*.txt -exec mv {} /Users/seeseekey/Sortiert/txt/ \;

Durch diese Änderung werden alle Dateien verschoben anstatt kopiert.

UKI

Wenn man native Applikation entwickelt, ist die Wahl der Komponenten für die grafische Oberfläche schnell erledigt. Meinst nimmt man das UI Kit, welches dem „Plattform-Standard“ entspricht. Bei Webseiten bzw. Webbapplikationen ist die ganze Sache komplizierter. Hier gibt es eine Reihe von Lösungen, wie jQuery UI, JxLib, YUI und andere. Eine schöne Alternative zu den genannten Lösungen ist UKI.

Eine UKI Beispielanwendung

Die Bibliothek setzt dabei auf direkt auf Javascript auf und benötigt keine weiteren Frameworks. Das ganze ist unter http://ukijs.org/ zu finden. UKI ist dabei freie Software und steht unter der MIT-Lizenz.

Ramen wurde eingestellt

Im Oktober 2010 wurde die Entwicklung der Open Source Software Ramen eingestellt. Bei dieser für Linux, Windows und Mac OS erhältlichen Software handelt es sich um eine Compositing Lösung für Videos. Der derzeitige Entwickler hat einfach keine Zeit mehr für das Projekt. Doch hier sieht man wie ich finde wieder einmal die Vorteile von Open Source. Jeder der es möchte kann sich den Sourcecode schnappen und die Software weiterentwickeln. Der Entwickler teilte das Projekt vor der Einstellung in eine Shared Library und eine GUI welche in Python geschrieben wurde. So können sich andere Projekte auch nur den Sourcecode der Bibliothek schnappen und ihn verwenden. Hoffen wir mal das sich jemand der Weiterentwicklung annimmt. Die offizielle Seite von Ramen ist unter http://ramenfx.org zu finden.

Weitere Informationen gibt es unter:
http://blog.ramenfx.org/blog/
http://www.slashcam.de/artikel/Essays/Ramen-R-I-P.html

ETK in Python

Grade eben bin ich durch Zufall auf die Seite http://wiki.openmoko.org/wiki/Python gegangen und habe dabei doch gleich ein ETK Minimal Beispiel gefunden welches ich hier wiedergeben möchte.

Damit dieses Beispiel läufts sollte man neben den „normalen“ Python Paketen auch noch die Pakete python-etk und python-efl installieren.

Die Minimalanwendung sieht dann so aus:

import etk

#create a button (not yet on any window)
b = etk.Button(label=“Hello“)

#create a (nonvisible) window and put the button on the window
w = etk.Window(title=“Hello“, child=b)

#create a silly callback function
def hello(target):
print ‚Hello World‘
etk.main_quit()

#make the button call the callback when pressed
b.on_clicked(hello)

#make the window display
w.show_all()

#start processing screen events
etk.main()

Im ersten Schritt wird das Python Modul python-etk eingebunden. Danach wird ein Button definiert und mit der Beschriftung „Hello“ versehen. In der nächsten Zeile wird dann ein Fenster erzeugt (welches unsichtbar ist) und diesem Fenster wird der Button zugewiesen. Danach wird die Callbackfunktion hello definiert und diese dem Button zugewiesen. In den letzten zwei Zeilen wird das ganze sichtbar gemacht und der Event Loop aktiviert. Und schon haben wir eine Anwendung :)

EWL und Etk

Da ich zur Zeit immer noch beim Schreiben meiner ersten „richtigen“ Openmoko Anwendung bin und das ganze unbedingt mittels E und allem was dranhängt bewerkstelligen wollte, stand ich plötzlich vor dem Problem das ich keine GUI Widgets habe und EDJE, Evas und Co eine Abstraktionsschicht zu niedrig sind. Was also nun benötigt wurde war ein GUI Toolkit. Dabei stehen mir gleich zwei Toolkit Bibliotheken zur Verfügung. Zum ersten EWL (Enlightenment Widget Library) und dann gibt es noch Etk (Enlightened ToolKit).

EWL
Bei EWL handelt es sich um eine Widget Bibliothek, welche skinbare Widgets für Anwendungen bereitstellt. Zu diesen Widgets gehören Windows, Buttons, Listen, Text Views. Neben den Widgets erlaubt die Theme Engine Animation sowie ähnliche Dinge.

Etk
Das Enlightened ToolKit ist ein Widget basierendes Toolkit welches intensiv die Evas und Edje Funktionen benutzt. Es soll eine schnelle, stabile und vor allem skalierbare Bibliothek sein, welche sich dazu eignet schnell Anwendungen zu schreiben. Diese Anwendungen sollen dann vom Desktop über den PDA bis hin zu Set-Top Boxen laufen.

Beim näheren Hinschauen stellt sich für mich die Frage worin sich diese beiden Bibliotheken denn nun wirklich unterscheiden und welche man zur Entwicklung seiner eigenen Anwendung benutzen soll. Nach der Lektüre eines Forumeintrages (http://forum.enlightenment.org/comments.php?DiscussionID=244&page=1) bin ich zu dem Schluss gekommen das EWL wohl die bessere Variante ist, unter anderem aus dem Grund das der Maintainer für Etk wohl nichts mehr an dem Projekt macht.

Weitere Informationen gibt es unter:
http://wiki.enlightenment.org/index.php/Main_Page
http://wiki.enlightenment.org/index.php/Category:Enlightened_Widget_Library
http://docs.enlightenment.org/api/etk/html/index.html