[[Vorlage(Getestet, focal)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(logo.png,48,align=left)]] [https://aanatoly.github.io/fbpanel/ fbpanel] {en} 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: {{{#!vorlage Paketinstallation fbpanel, universe }}} = Verwendung= [[Bild(./fbpanel.jpg, alt="fbpanel", title="Grundkonfiguration", 600, center)]] 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: {{{#!vorlage Befehl 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 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 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: ||<-3 rowclass="titel"> Global|| ||Zeile||mögliche Werte||Bedeutung|| ||``edge``||left, right, top oder bottom||An welchem Bildschirmrand das Panel erscheinen soll. Links, rechts, oben oder unten.|| ||``allign``||left, right oder center||Gibt die Ausrichtung des Panels auf dem Bildschirm an. Links, rechts oder zentriert.|| ||``margin``||Zahl von 0-...||Gibt die Dicke des Randes des Panels in Pixeln an. ``0`` bedeutet kein Rand.|| ||``widthtype``||request, pixel oder percent||Gibt 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. || ||``width``||Zahl|| 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. || ||``heighttype``||request, pixel oder percent|| Siehe unter ``widthtype``.|| ||``height``||Zahl||``height`` legt die Höhe des Panels fest. Für mehr Infos siehe unter ``width``. || ||``roundcorners``||yes oder no||Legt fest ob das Panel runde Ecken haben soll. Ja oder nein.|| ||``transparent``||yes oder no||Soll das Panel eine transparente Hintergrundfarbe bestitzen. Ja oder nein.|| ||``tintcolor``||Ein RGB-Farbwert wie zum Beispiel ``#000000`` oder ``#ffffff``||Legt die Hintergrundfarbe des Panels fest.|| ||``alpha``||Zahl||Legt 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. } } }}} === menu === 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: ||<-3 rowclass="titel"> strftime|| ||Schlüsselwort||Bedeutung|| || ``%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 [:man:Manpage] zu `strftime` und [https://www.foragoodstrftime.com/ For a Good Strftime] {en}. = Problembehebung = == Panel startet nicht == Es wird beim Start die Fehlermeldung `fbpanel: can't start plugin volume` ausgegeben. Hier genügt es, im [:Homeverzeichnis:] das [#Plugins Plugin] in der Datei '''.config/fbpanel''' zu deaktivieren. Hier die Zeilen {{{ plugin { type = volume } }}} ändern [3] zu: {{{ #plugin { # type = volume #} }}} = Links = * [https://aanatoly.github.io/fbpanel/ Projektseite] {en} * [https://aanatoly.github.io/fbpanel/docs.html Dokumentation] {en} * [github:aanatoly/fbpanel:Quellcode] {en} # tag: Desktop, Panel