Ubuntu – Thunderbird Fensterposition speichern mit wmctrl

Einige Programme unter Ubuntu speichern die letzte Fensterposition nicht. Dazu gehört z.B. Mozilla Thunderbird. Dieses Verhalten hat mich seit Jahren schon gestört… nach jedem Start/Reboot immer wieder Thunderbird auf den 2. Monitor (an eine bestimmte Stelle) verschieben. Nach ein paar Minuten bin ich auf das Programm “wmctrl” gestoßen. Hiermit ist es möglich geöffnete Fenster über die Konsole (per Befehl) zu verschieben, minimieren, maximieren usw. Also habe ich ein kleines Startscript geschrieben. Das Script startet Thunderbird und verschiebt es direkt an eine bestimmte Stelle.

#!/bin/bash
sleep 5
thunderbird &
while [ $(wmctrl -l|grep 'Thunderbird'|wc -l) -eq 0 ]
do
sleep 1
done
wmctrl -r Thunderbird -e 0,325,308,-1,-1 &

Nach dem Thunderbird gestartet wurde, wird per “wmctrl -l | grep ‘Thunderbird’”  (-l = list) überprüft ob Thunderbird schon gestartet wurde und in der Fensterliste von wmctrl auftaucht. Mit “wc -l” kann z.B. die Zeilenanzahl aus einer Datei ermittelt werden. Wenn also Thunderbird erfolgreich gestartet wurde, wird eine “1” von wc zurückgegeben. Dies wird in der while-Schleife überprüft. Solange Thunderbird noch nicht geöffnet ist, warte eine Sekunde (sleep 1). Danach wird per “wmctrl -r Window” das Fenster an eine bestimmte Position verschoben (“-e <gravity><x><y><width><height>”) Um die Fenstergröße nicht zu verändern, was Thunderbird komischerweise speichert, werden die Argumente <width> und <height> beide auf -1 gesetzt.

Idee für die while-Schleife von http://www.technologische-hilfe.de/antworten/warten-bis-programm-gestartet-ist-und-dann-befehl-ausfuhren-support-239063142.html

TP-Link TL-WN821N unter Ubuntu 13.10 (64bit)

UPDATE: TL-WN821N unter Ubuntu 15.10 Daily Build

UPDATE: TL-WN821N unter Ubuntu 15.04 Daily Build

Leider läuft der TP-Link TL-WN821N WLAN-USB-Adapter (V4) nicht Out-of-the-Box unter Ubuntu 13.10 (in meinem Fall Xubuntu 13.10). Es kommt immer wieder zu Verbindungsabbrüchen oder man kann sich erst gar nicht mit seinem Router verbinden. Habe sehr lange in Foren nach einer Lösung gesucht um diesen Stick zum laufen zu bringen. Der folgende Thread aus dem ubuntuusers-Forum hat die Lösung:

TL-WN821N (Produktseite)
http://forum.ubuntuusers.de/topic/wlan-stick-524440/3/#post-5638107

sudo apt-get install --reinstall linux-headers-$(uname -r) linux-headers-generic build-essential dkms git
git clone https://github.com/pvaret/rtl8192cu-fixes.git
sudo dkms add ./rtl8192cu-fixes
sudo dkms install 8192cu/1.8
echo "blacklist rtl8192cu" | sudo tee -a /etc/modprobe.d/blacklist.conf
sudo reboot

Zitate aus dem Internet – Oh Ppl Pls #004

This video taught me more than years of education…

Leute ihr seit corekt win ihr vile kliks gibt und schön aboniren nicht vergessen aboniren leute ihr seit gut wen ihr das mach schau!!!!!!!!!!!!!!!!!!1

id dubstep those titties. wub wub wub wubabawbwbaabwbaabawbww

I pee in the middle of the toilet to make as much noise as possible and establish my dominance.

…I’ve got more hair growing out of my ears than this dude has on his whole face…

MSP430 DCF77 (Empfang und Auswertung)

dcf1_modul_pollin_backEin kleines Beispiel-Programm (geschrieben in C), mit dem ein DCF77 Signal ausgewertet werden kann. Über ein Display (Nokia-Display) werden Uhrzeit und Datum angezeigt. Weiterhin werden die empfangenen Bits während des Empfangs auf dem Display angezeigt (und aktuelle Bit-Nummer bzw. Sekunde). Für den DCF77-Empfang kommt ein fertiges Modul von Pollin zum Einsatz: “DCF-Empfangsmodul DCF1“. Für die Auswertung kommt ein MSP430G2452 zum Einsatz.

Continue reading

MSP430 Nokia 3310 LCD (PCD8544)

msp430_nokia3310_LCDHier entsteht eine kleine Bibliothek für Grafik-LCDs. Angefangen habe ich mit einem Nokia 3310 LCD (PCD8544 Controller). Eine kleine Demonstration kann man in dem Video sehen. Die Bibliothek wird in nächster Zeit noch ein paar Funktionen dazu bekommen (es fehlen noch viele Funktionen, wie z.B. Linien zeichnen, Rechtecke, Kreise etc.). Bei dem verwendeten Nokia 3310 LCD handelt sich um ein Ersatz-Display (kann auf Ebay bestellt werden). Der sichtbare Bereich des Displays beträgt 96×64 Pixel (der Display-Speicher ist aber etwas größer). WICHTIG: Das originale Nokia 3310 LCD hat eine Auflösung von 84×48 Pixel! Die Ansteuerung (besonders die Initialsierung) ist bei diesem Display ziemlich einfach, da es nicht viele Einstellmöglichkeiten gibt, beschränkt sich also auf ein paar Befehle. Angesteuert wird das LCD über einen MSP430G2553 (per SPI).

Continue reading

Fotos vom 8. Internationalen Festival des Fahrrad-Films (2013)

icff2013Ein paar Fotos vom 8. Internationalen Festival des Fahrrad-Films (2013) direkt aus den Flottmann-Hallen in Herne. Insgesamt wurden ~20 Filme gezeigt:

Pedal London, immer geradeaus…, Human Power, Lost Bike Girl, Cycling to Liberation, Eingang Klapprad-Style, TDF, Michael Kluska, VELO LOVE – das Normalste auf der Welt, Three-Legged Horses, Fahrradbesitzlevels, Spezial: Herne fährt fair, Paul á Paris , Velo Mysterium, Destination: Muckle Flugga, Pasajes, Eigh-Minute-Deadline, Freewheel and Fixie.

GEWINNER: Three-Legged Horses

Weitere Informationen direkt auf www.cyclingfilms.de

Continue reading

MSP430 PWM (Pulsweitenmodulation)

msp430_pwm00In diesem kleinen Beispiel-Programm wird eine LCD-Hintergrundbeleuchtung per PWM (Pulsweitenmodulation) gesteuert. Das PWM Signal wird in Abhängigkeit von einem angeschlossenen Potentiometer am MSP430 erzeugt. Zum Einsatz kommt ein DOGM162-Display + das zugehörige Beleuchtungsmodul. Das LCD zeigt die aktuelle LED-Helligkeit in Prozent an (entspricht der Pulsbreite bzw. Duty-Cycle).

Continue reading

Java-Applet – Metaballs rendern (Animation)

aIn den letzten Tagen habe ich ein kleines Java-Applet geschrieben, um Metaballs darzustellen bzw. zu rendern. Metaballs gehören zu den klassischen Effekten in der Demo-Szene (Realtime-Berechnungen). Auf Wikipedia gibt es mehr Informationen zu Metaballs. In dem Java-Applet werden 2D-Metaballs dargstellt. Im Vorschaubild sind 3 Metaballs zu sehen: 2 positive und 1 negativer Ball (schwarz).

Continue reading