Mein Synaptics Touchpad ist multitouch fähig :)

Tach,

gestern habe ich zufällig entdeckt, dass das Touchpad meines HP Compaq nc6320 multitouch fähig ist!

Ich bin zufällig darauf gestoßen als ich mit zwei Fingern gleichzeitig von oben nach unten über mein Touchpad gefahren bin und mein Firefox auf einmal zum scrollen begonnen hat.

Synaptics preist die Funktion ja auf der Firmenhomepage an.

Ich habe ein bisschen gegoogelt und mal in die manpage des synaptics-Treibers geschaut und einige Konfigurationsmöglichkeiten gefunden.

Unter anderem wird vertikales und horizontales Scrollen mit zwei Fingern und das sogenannte „circular scrolling“ unterstützt. Letzteres scrollt, wenn man mit dem Finger eine Kreisbewegung auf dem Touchpad macht, ähnlich der Steuerung vom iPod.
(Diese Funktion hab ich aber wieder deaktiviert, weil sie mich genervt hat ;)

Ich habe im Moment den x11-drivers/xf86-input-synaptics Treiber in der Version 1.0.0 installiert.

Meine hal-config dafür sieht im Moment so aus:

alina ~ # cat /etc/hal/fdi/policy/11-x11-synaptics.fdi 
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.touchpad">
        <merge key="input.x11_driver" type="string">synaptics</merge>
            <!-- Switch on shared memory, enables the driver to be configured at runtime -->
        <merge key="input.x11_options.SHMConfig" type="string">true</merge>
            <!-- Maximum movement of the finger for detecting a tap -->
        <!-- <merge key="input.x11_options.MaxTapMove" type="string">2000</merge> -->
            <!-- Enable vertical scrolling when dragging along the right edge -->
        <merge key="input.x11_options.VertEdgeScroll" type="string">false</merge>
            <!-- Enable vertical scrolling when dragging with two fingers anywhere on the touchpad -->
        <merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge>
            <!-- Enable horizontal scrolling when dragging with two fingers anywhere on the touchpad -->
        <merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge>
            <!-- If on, circular scrolling is used -->
        <merge key="input.x11_options.CircularScrolling" type="string">false</merge>
            <!-- For other possible options, check CONFIGURATION DETAILS in synaptics man page -->
    </match>
  </device>
</deviceinfo>

Was ich jetzt noch gerne hätte wäre so eine tolle pinch-Funktion, wie sie auch im 3. Video auf der Synaptics Homepage zu sehen ist.
IBM bietet hierfür ein Perl-Script an, das diese Funktion anscheinend bereitstellt.
Ich habe dieses Script aus Zeitmangel (noch) nicht getestet. Sieht aber vielversprechend aus!

Wenn ich genaueres weiß, schreib ich wieder ;)

Quake-Like Console unter Xfce in Gentoo (yeahconsole)

Tach,

gestern habe ich mich ein bisschen mit urxvt beschäftigt und bin dabei in der manpage (man urxvtperl) auf das perl-plugin kuake gestoßen.
Das Plugin macht oder soll folgendes machen:

A very primitive quake-console-like extension. It was inspired by a description of how the programs „kuake“ and „yakuake“ work:

Whenever the user presses a global accelerator key (by default „F10“), the terminal will show or hide itself. Another press of the accelerator key will hide or show it again.

Hört sich super und praktisch an. Leider funktioniert das Teil überhaupt nicht.
Da ich die Idee aber toll fand, hab ich mich auf die Suche nach einer Alternative gemacht und dabei auch ein tolles Stück Software gefunden: yeahconsole

YeahConsole turns an xterm into a gamelike console.
This means it will slide down from top of your screen if you hit a shortcut key.

Leider ist yeahconsole noch nicht im portage main tree, obwohl bereits seit Januar 2006 ein Request dafür vorliegt.

Installation

Egal, wofür gibt es denn portage overlays ;)
Hier eine schnelle Anleitung, wie man yeahconsole in seinen portage bringt.
Vorraussetzung ist, dass man bereits einen lokalen portage overlay hat.

Bei mir sieht das so aus:

grep PORTDIR_OVERLAY /etc/make.conf
PORTDIR_OVERLAY="/usr/local/portage/my"

Also laden wir uns das ebuild doch mal dorthin:

cd /usr/local/portage/my
mkdir -p x11-terms/yeahconsole
cd x11-terms/yeahconsole

wget http://bugs.gentoo.org/attachment.cgi?id=118627 -O yeahconsole-0.3.4.ebuild

ebuild yeahconsole-0.3.4.ebuild digest

Danach evtl. eix updaten (damits schneller geht ohne den main tree ;):

update-eix -x portage

Jetzt sollte yeahconsole über portage verfügbar sein:

emerge -av yeahconsole

Konfiguration

Wie der yeahconsole README Datei zu entnehmen ist, lässt sich das Programm über die .Xdefaults Datei konfigurieren.
Meine Config sieht so aus:

sabel@alina ~ $ cat ~/.Xdefaults | grep yeahconsole

yeahconsole*term: urxvt
yeahconsole*consoleHeight: 20
yeahconsole*aniDelay: 20
yeahconsole*toggleKey: None+Menu

So, jetzt muss das Teil nur noch automatisch starten:

sabel@alina ~ $ cat ~/.xinitrc

yeahconsole &
exec xfce4-session

Wenn ich jetzt die Menü-Taste drücke erscheint ein urxvt Terminel von oben.
Wirklich ne coole Sache!

Java Browser Plugin in 64Bit Firefox unter Linux (Gentoo)

Hi,

hier ne kleine Anleitung wie man Java in einem 64Bit Firefox unter Linux, speziell Gentoo, zum Laufen kriegt. Es handelt sich hier um die OpenSource Variante IcedTea und nicht um die closed source Version von Sun.

Als root:

layman -a java-overlay
echo "dev-java/icedtea6-bin nsplugin" >> /etc/portage/package.use
emerge icedtea6-bin

Sun hat zwar inzwischen(hat ewig gedauert) eine eigene 64Bit Version herausgebracht, die ist aber noch alpha. Ich hab mit icedtea bisher nur gute Erfahrungen gemacht und werde wohl auch vorerst dabei bleiben.

„now playing“ mit mpd und pidgin

Tach,

ich hab mir gerade ein kleines Script gebastelt, das mir den aktuellen Track, den ich gerade mit mpd abspiele, im aktuellen pidgin Fenster anzeigt. Dazu habe ich Python benutzt.

Folgende Voraussetzungen müssen auf dem System erfüllt sein:

Hier das Script:

#!/usr/bin/python

import dbus, gobject, os
from dbus.mainloop.glib import DBusGMainLoop
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)

# Getting the current track from mpd
f = os.popen("mpc | head -n 1 | xargs -0 basename")
np = f.readline().replace(".mp3","").replace("\n","")
f.close()

# Writing the current track to the current focused pidgin conversation
bus = dbus.SessionBus()
obj = bus.get_object("im.pidgin.purple.PurpleService", "/im/pidgin/purple/PurpleObject")
purple = dbus.Interface(obj, "im.pidgin.purple.PurpleInterface")

for conv in purple.PurpleGetConversations():
	if purple.PurpleConversationHasFocus(conv):
		purple.PurpleConvImSend(purple.PurpleConvIm(conv), "np: " + np)

Jetzt kann man z.B. einen globalen Hotkey damit belegen und schon wird immer der aktuelle Track als Nachricht abgeschickt.

PS: Das war das erste mal, dass ich in Python programmiert habe ;)

Internet Explorer unter Linux

Schon lange gibt es Ansätze, welche Webentwickeln helfen sollen den Internet Explorer auch direkt unter Linux testen zu können.
Die Möglichkeiten sind auf 2 Varianten begrenzt:

  • Emulation mit Wine
  • Ein komplettes Windows-Image in einer virtuelles Maschine, z.B. vmware

Beides hat seine Vor- und Nachteile.

Wer sich für Wine entscheidet, dem wird dieses Tool, das ich gerade gefunden habe, sehr viel Arbeit abnehmen. ies4linux automatisiert die Installation des IE 5.0, 5.5, 6.0 und in der aktuellen beta-Version auch des IE 7.

Bei einem Test meinerseits klappte die Installtion der deutschen Varianten leider nicht, die englische funtzt aber gut. Bis auf den IE7, der sich zwar starten lässt aber keine Seite anzeigt, scheinen die IEs auch zu funktionieren.

Zumindest für schnelle Tests ist diese Lösung also durchaus geeignet.