blog · git · desktop · images · contact


Klebendes Terminal auf dem GNOME-Desktop

2008-05-10

Screenshot: Klebendes Terminal

Quasi als Merkzettel für mich selbst (mal wieder) hier eine kleine Anleitung, um GNOME ein schönes klebendes Desktop-Terminal beizubringen. Das an sich ist nicht schwer, um aber auch mit dem CTRL-ALT-D Hotkey immer das Terminal wieder zu sehen, muss man bisschen tricksen. Das hat auch den Vorteil, dass man dann immer, wenn man diese Kombination betätigt, wieder auf seiner Konsole landet. :)

Einerseits ist devilspie nötig und für den "neuen" Hotkey benötigt man noch wmctrl. Als Terminal wird das normale gnome-terminal verwendet, damit man sich nicht groß umgewöhnen muss. ;)

Für letzteres muss erstmal ein neues Profil erstellt werden: Nennen wir's "DesktopKlebeterm". Die einzig relevante Einstellung ist, im Tab "Titel und Befehl" den Wert "DesktopKlebeterm" für den Titel zu setzen und darunter "Titel dynamisch setzen" auf "Nur Standardtitel anzeigen" zu stellen, damit das Fenster auch von devilspie erkannt werden kann. Der Rest kann beliebig aussehen, aber natürlich empfiehlt sich hier volle oder zumindest hohe Transparenz.

Als nächstes ein kleines Startscript zur Vereinfachung – klebeterm.sh:

#!/bin/bash

# GNOME-Terminal:
while : ; do
    gnome-terminal --window-with-profile=DesktopKlebeterm --geometry=125x45+320+200
done

Wie man sieht, wird hier das neue Profil ausgewählt, außerdem aber noch Position und Größe gesetzt. Die Offsets sind Pixelangaben, Höhe und Breite sind jedoch in Zeichen zu verstehen. Die Endlosschleife habe ich nur eingebaut, da ich gerne mal vorschnell ein Terminal mit CTRL-D schließe - und dann will ich nicht immer neu kleben müssen. ;)

Wenn das Verzeichnis "~/.devilspie" noch nicht existiert, erstellt man es und legt dort folgende Datei an - die Erweiterung ".ds" ist wichtig, ohne sie wird die Datei von devilspie nicht wahrgenommen – klebeterm.ds:

(if
    (and
        (is (application_name) "DesktopKlebeterm")
        (is (window_name) "DesktopKlebeterm")
    )
    (begin
        (pin)
        (undecorate)
        (skip_pager)
        (skip_tasklist)
        (below)
    )
)

Diese Datei teilt devilspie mit, was es tun soll, wenn es ein Fenster mit dem Namen "DesktopKlebeterm" findet. Auf nähere Erklärung verzichte ich jetzt mal. ;)

Startet man nun das Shellscript und hinterher (oder vorher) "devilspie -a", so müsste man eigentlich schon fast fertig sein. Damit das auch nach dem nächsten Anmelden noch alles da ist, sollte man's in den Sitzungsoptionen unter "Startprogramme" hinzufügen.

Als letztes muss noch der Hotkey umgebogen werden. Zuerst einmal folgendes Shellscript erstellen – klebeterm-showdesktop.sh:

#!/bin/bash
wmctrl -k on
wmctrl -a DesktopKlebeterm

Ich bin dann, um den vorhandenen Hotkey umzubiegen, nach dieser Anleitung vorgegangen:

Das war's. Viel Spaß! ;)

Comments?