ubuntuusers.de

fbpanel

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

logo.png fbpanel 🇬🇧 ist ein kleines und doch recht flexibles Panel. Es basiert auf GTK und ist desktopunabhängig. Die komplette Konfiguration erfolgt über eine einzige Konfigurationsdatei.

Installation

fbpanel kann aus den offiziellen Paketquellen mit dem folgenden Paket installiert [1] werden:

  • fbpanel (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install fbpanel 

Oder mit apturl installieren, Link: apt://fbpanel

Verwendung

fbpanel

Nach der Installation sollte man noch eine Konfigurationsdatei für den Benutzer erstellen. Am einfachsten geht das, wenn man die Standard-Konfigurationsdatei mit folgendem Befehl im Terminal [2] an die richtige Stelle kopiert:

mkdir ~/.config/fbpanel
cp /usr/share/fbpanel/default /usr/share/fbpanel/pager ~/.config/fbpanel/ 

Will man, dass fbpanel bei jedem Systemstart mitgestartet wird, muss man es noch in den Autostart eintragen.

Konfiguration

Das Aussehen und der Inhalt des Panels wird in der Datei ~/.fbpanel/default bzw. ~/.config/fbpanel/default festgelegt, welche man mit einem Texteditor [3] bearbeiten kann. Der Aufbau dieser Datei gliedert sich in einen "global"-Part, der das Aussehen des Panels an sich bestimmt und in einzelne Plugins, welche festlegen, was auf dem Panel gezeigt werden soll.

Der Aufbau der Datei sieht abstrakt folgendermaßen aus:

Global {
     [..]
       }

Plugin {
     [..]
       } 

Plugin {
     [..]
       } 
....

Sie muss immer mit dem global-Part beginnen. Die Reihenfolge in der man dann die einzelnen Plugins angibt, ist auch die Reihenfolge, in der diese auf dem Panel erscheinen.

Global

Die global-Sektion sieht zum Beispiel so aus:

Global {
    edge = bottom
    allign = left
    margin = 0
    widthtype = percent
    width = 100
    heighttype = pixel
    height = 26
    roundcorners = false 
    transparent = false
    tintcolor = #ffffff
    alpha = 39
}

Die Bedeutung der einzelnen Zeilen kann man dieser Tabelle entnehmen:

Global
Zeilemögliche WerteBedeutung
edgeleft, right, top oder bottomAn welchem Bildschirmrand das Panel erscheinen soll. Links, rechts, oben oder unten.
allignleft, right oder centerGibt die Ausrichtung des Panels auf dem Bildschirm an. Links, rechts oder zentriert.
marginZahl von 0-...Gibt die Dicke des Randes des Panels in Pixeln an. 0 bedeutet kein Rand.
widthtyperequest, pixel oder percentGibt die Einheit für die width-Zeile an. Dies kann entweder eine Pixelgröße (pixel) oder eine Prozentangabe (percent) sein oder aber auch anhand der angegebenen Größen innerhalb der Plugins erfolgen (request). Bei letzterer Methode kann das Panel seine komplette Breite dynamisch verändern, je nachdem wieviel Platz ein Plugin momentan verwendet.
widthZahl Die angegebene Zahl entspricht je nach festlegen innerhalb widthtype einem Pixel- oder einem Prozentwert, welcher die Breite des Panels festlegt. Wählt man bei widthtype den Wert request hat die width-Zeile keine Bedeutung.
heighttyperequest, pixel oder percent Siehe unter widthtype.
heightZahlheight legt die Höhe des Panels fest. Für mehr Infos siehe unter width.
roundcornersyes oder noLegt fest ob das Panel runde Ecken haben soll. Ja oder nein.
transparentyes oder noSoll das Panel eine transparente Hintergrundfarbe bestitzen. Ja oder nein.
tintcolorEin RGB-Farbwert wie zum Beispiel #000000 oder #ffffffLegt die Hintergrundfarbe des Panels fest.
alphaZahlLegt den Grad der Transparenz fest, falls tintcolor gewählt wurde.

Plugins

Ein Plugin beginnt mit Plugin { und wird mit } abgeschlossen. Innerhalb eines Plugins gibt es mehrere andere Tags. type gibt die Art des Plugins an. config {..} die Konfigurationsmöglichkeiten für ein Plugin, expand = true gibt an, ob ein Plugin auf den restlichen verfügbaren Platz im Panel gestreckt werden soll. Standardmäßig ist expand immer auf false gesetzt, außer man deklariert es explizit als true. Sinnvoll ist expand vor allem im taskbar-Plugin (siehe unten). padding = erwartet eine Zahl als Pixel-Angabe und fügt um ein Plugin einen Extra-Abstand ein. Abstrakt betrachtet ist der Aufbau eines Plugins also:

Plugin {
    type = Art_des_Plugins  # Gibt die Art des Plugins an
    expand = true           # optional
    padding = 10            # optional 
    config {                # innerhalb des config Tags werden die spezifischen Einstellungen eines Plugins festgelegt
        [...]
           }
       }

Im folgendem kommt eine Liste der einzelnen Plugins mit ihren Einstellungsmöglichkeiten:

space

Das space-Plugin erzeugt einfach einen Abstand, ist also quasi ein Platzhalter.

Plugin {
    type = space
    config {
        size = 5    # Erwartet eine Größe in Pixeln, also wie breit der Abstand sein soll.
           }
       }

Erzeugt im Panel ein Menü ähnlich dem Gnome- oder KDE-Menü.

Plugin {
    type = menu
    config {
        image = /usr/share/fbpanel/images/star.png                  # Pfad zum Icon, welches im Panel dargestellt werden soll.   
        systemmenu {                                                # Erzeugt das gewohnte Debian-Standardmenü mit Kategorien wie Spiele, Netzwerk, Büro,...
                   }
        separator {                                                 # Erzeugt eine Trennlinie.
                  }

        item {                                                      # Ein item ist ein weitere optionaler Starteintrag den man im Menü erzeugen kann.
            icon = gnome-settings                                   # Entweder der Pfad zum Icon oder wenn es in einem Standardpfad liegt nur der Name.
            name = configure                                        # Der Name des Starteintrag der angezeigt werden soll.
            image = /usr/share/fbpanel/images/gnome-setting.svg     # Der Pfad zu einem ausweich Icon.
            action = configure                                     # Der Befehl der beim Klicken auf den Eintrag ausgeführt werden soll.
            }
    
        [...weitere..items...]

          }
       }

launchbar

Legt Programmstartet-Buttons im Panel ab.

Plugin {
    type = launchbar
    config {

        button {
            icon = mozilla-firefox         # Entweder der Pfad zum Icon oder wenn es in einem Standardpfad liegt nur der Name.
            tooltip = Firefox web browser  # Schrift die erscheinen soll, wenn man mit der Maus über das Icon fährt.
            action =firefox                # Befehl der ausgeführt werden soll.
               }

        button {
            icon = gnome-terminal
            tooltip = Terminal
            action = /usr/bin/x-terminal-emulator
               }

        [...weitere Buttons...]

           }
}

wincmd

Erzeugt einen Button im Panel, welcher alle Fenster entweder zur Taskbar minimiert oder wieder zurück auf den Desktop bringt.

Plugin {
    type = wincmd
    config {
        icon = gnome-fs-desktop                            # Entweder der Pfad zum Icon oder wenn es in einem Standardpfad liegt nur der Name.
        tooltip = Links-Klick um Fenster zu minimieren.    # Text der erscheinen soll wenn man mit der Maus über den Button fährt.
           }
      }

pager

pager ist ein simpler Arbeitsflächenumschalter.

Plugin {
    type = pager
    config {
        showwallpaper = true     # Erwartet true oder false, je nachdem ob im Arbeitsflächenumschalter das Hintergrundbild des Desktops angezeigt werden soll oder nicht.
           }
       }

taskbar

Zeigt eine Taskbar an, also was für offene Fenster man hat.

Plugin {
    type = taskbar
    expand = true
    config {
        ShowIconified = true    # Zeigt Icons bei den Fenstern an. Mögliche Werte true oder false.
        ShowMapped    = true    # Wenn hier false steht, werden nur Fenster in der Taskbar angezeigt, die minimiert sind.
        ShowAllDesks  = false   # Zeige die Fenster von sämtlichen Arbeitsflächen an. Mögliche Werte true oder false.
        tooltips = true         # Zeigt den kompletten Titel des Fensters an, wenn man mit der Maus drüber hovert. Mögliche Werte true oder false.
        IconsOnly = false       # Zeigt nur die Icons der Fenster an und sonst nichts. Mögliche Werte true oder false.
        MaxTaskWidth = 150      # Gibt die maximale Breite eines Fensters in der Taskbar an.
           }
        }

tray

Zeigt eine Trayleiste an. Es kann immer nur maximal eine Trayleiste auf dem Desktop vorhanden sein.

Plugin {
    type = tray
       }

clock

Zeigt eine Uhr auf dem Panel an. Es gibt zwei Uhren-Plugins: dclock und tclock. Nur bei dclock lässt sich die Schriftfarbe anpassen.

Plugin {
    type = dclock
    config {
        ShowSeconds = false                                # Sekundenanzeige (Standard: false)
        HoursView = 24                                     # 12- oder 24-Stundenanzeige
        TooltipFmt = %A %x                                 # Tooltip-Format, siehe strftime
        # Action = BEFEHL                                  # optionaler Befehl bei Linksklick auf die Uhr
        # Color = 0xRRGGBB                                 # optionale Schriftfarbe (Standard ist blau)
    }
}
Plugin {
    type = tclock
    config {
        ClockFmt = %R                                      # Erwartet Parameter, um die Darstellung der Uhr im Panel auszuwählen.
        TooltipFmt = %A %x                                 # Parameter für die Darstellung der Box, wenn man mit der Maus über die Uhr hovert.
        Action = xmessage &                                # Befehl bei Linksklick auf die Uhr
           }
       }

Zur Formatierung wird die C-Funktion strftime benutzt, einige mögliche Formatierungen sind wie folgt:

strftime
SchlüsselwortBedeutung
%a Wochentag (als Kürzel)
%A Wochentag (ausgeschrieben)
%d Tag
%m Monat
%y Jahr (zweistellig)
%Y Jahr (vierstellig)
%k Stunde
%M Minute
%S Sekunde
%R Gibt die Uhrzeit an wie zum Beispiel 10:32
%x Gibt Tag, Monat, Jahr an wie zum Beispiel 12.01.2008

Nützlich sind in diesem Zusammenhang die Manpage zu strftime und For a Good Strftime 🇬🇧.

Problembehebung

Panel startet nicht

Es wird beim Start die Fehlermeldung fbpanel: can't start plugin volume ausgegeben. Hier genügt es, im Homeverzeichnis das Plugin in der Datei .config/fbpanel zu deaktivieren. Hier die Zeilen

plugin {
    type = volume
}

ändern [3] zu:

#plugin {
#    type = volume
#}

Diese Revision wurde am 6. Mai 2021 06:21 von mubuntuHH erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Desktop, Panel