Inhaltsverzeichnis
KDE Desktop
Thematisch zusammengefasst sind hier einige Artikel zu KDE-Applikationen, Dolphin's Servicemenüs und programmieren mit KDE Dialogboxen in Shellscripten.
KDE Applikationen
Servicemenüs
Was ist ein Servicemenü
Unter einem Servivemenü versteht man im KDE Dateimanger Dolphin, abhängig vom ausgewählten Dateityp, ein Kontextmenü das über die rechte Maustaste erreichbar ist. Die Einträge im Servicemenü kann man mit eigenen Aktionen recht einfach erweitern.
Eine Aktion für einen Servicemenüeintrag wird mit einer einfachen Textdatei mit der Endung .desktop angelegt (z.B. misc.desktop). In dieser .desktop Datei wird nun die Aktion hinterlegt, die im Kontextmenü für einen bestimmen Dateityp (z.B. JPG) angezeigt werden soll. Dies kann der Aufruf eines KDE Programms oder eines Shellscriptes sein das eine bestimmte Aktion mit der ausgewählten Datei abarbeitet. Mann kann auch mehrere Aktionen in einer .desktop zusammenfassen. Details bitte dazu unter nachfolgenden Kapitel mit den angegebenen Links nachlesen.
Ablageorte der Servicemenü-Dateien
Ab KF5 gelten folgende Ablageorte. Lokal nur für den jeweiligen User $HOME/.local/share/kservices5/ServiceMenus und global für alle Benutzer unter /usr/share/kservices5/ServiceMenus.
Meine Servicemenü-Dateien
Weitere Informationen zu Servicemenüs
KDE Dialog
Wer eigene Shellscripte programmiert hat mit KDialog die Möglichkeit grafische KDE Dialogboxen innerhalb von Shellscripten einzusetzen und somit optisch aufzuwerten. Einen ersten Einblick geben die beiden ersten Links, die restlichen Links detailreiche Informationen zur Programmierung mit KDialog.
Shell Scripting with KDE Dialogs (de)
KDialog - Dialogboxen für Shellscripte
Little Girl's Mostly Linux Blog - KDialog
Scott Ferguson - Using KDialog
How do i make the kdialog a certain width
Typen von KDE Dialogboxen
Die Dialogboxen gibt es in verschiedenen Ausprägungen als
- Infodialog
- Eingabedialog
- Passwortdialog
- Text- bzw. Dateiausgabedialoge
- Menüboxen
- Bildausgabedialoge
- Popup-Benachrichtigungen
- Schieberegler
- Fortschrittsanzeige
- Kalenderdialog
- Dateispeicherungsdialoge
…und weitere.
Damit lassen sich einfache oder auch umfrangreiche Shellscripte optisch ansprechend zu gestalten.
Eine Kurzhilfe zu kdialog lässt sich über die Option –help anzeigen.
$ kdialog --help Aufruf: kdialog [Optionen] [arg] KDialog kann für die Anzeige hübscher Dialoge aus Shell-Skripten heraus benutzt werden. Optionen: -h, --help Zeigt Hilfe zu den Kommandozeilenoptionen an. --help-all Zeigt Hilfe einschließlich Qt-spezifischer Optionen an. -v, --version Zeigt Versionsinformation an. --author Autor-Informationen anzeigen. --license Lizenz-Informationen anzeigen. --desktopfile <Dateiname> Der Basis-Dateiname des Desktop-Eintrags dieser Anwendung. --yesno <text> Rückfrage mit Knöpfen für Ja/Nein --yesnocancel <text> Rückfrage mit Knöpfen für Ja/Nein/Abbrechen --warningyesno <text> Warnung mit Knöpfen für Ja/Nein --warningcontinuecancel <text> Warnung mit Knöpfen für Fortfahren/Abbrechen --warningyesnocancel <text> Warnung mit Knöpfen für Ja/Nein/Abbrechen --ok-label <text> Text als Beschriftung des „OK“-Knopfes verwenden --yes-label <text> Text als Beschriftung des „Ja“-Knopfes verwenden --no-label <text> Text als Beschriftung des „Nein“-Knopfes verwenden --cancel-label <text> Text als Beschriftung des „Abbrechen“-Knopfes verwenden --continue-label <text> Text als Beschriftung des „Weiter“-Knopfes verwenden --sorry <text> „Bedaure“-Nachricht --detailedsorry <text> <details> „Bedaure“-Nachricht mit erweiterbaren Detailfeld --error <text> Fehlermeldung --detailederror <text> <details> Fehlermeldung mit erweiterbaren Detailfeld --msgbox <text> Benachrichtigung --inputbox <text> <init> Eingabefeld --imgbox <file> Bildfeld-Dialog --imginputbox <file> <text> Bildfeld-Eingabedialog --password <text> Passwort-Dialog --newpassword <text> Neuer Passwort-Dialog --textbox <file> Textfeld-Dialog --textinputbox <text> <init> Textfeld-Eingabedialog --combobox <text> Kombinationsfeld-Dialog --menu <text> Menü-Dialog --checklist <text> Ankreuzliste --radiolist <text> Auswahldialog --passivepopup <text> <timeout> Passives Aufklappfenster (Popup) --icon <icon> Symbol für Aufklappfenster (Popup) --getopenfilename Dialog zum Öffnen einer bestehenden Datei (Argumente [Start-Ordner] [Filter]) --getsavefilename Dialog zum Speichern einer Datei (Argumente [Start-Ordner] [Filter]) --getexistingdirectory Dialog zur Auswahl eines bestehenden Ordners (Argumente [Start-Ordner]) --getopenurl Dialog zum Öffnen einer bestehenden Adresse (Argumente [Start-Ordner] [Filter]) --getsaveurl Dialog zum Speichern einer Adresse (Argumente [Start-Ordner] [Filter]) --geticon Dialog für die Symbolauswahl (Argumente [Gruppe] [Kontext]) --progressbar <text> Dialog für Fortschrittsanzeige. Gibt für die Kommunikation eine D-Bus-Referenz aus. --getcolor Dialog zur Auswahl einer Farbe --format <text> Mit --getcolor kann das Ausgabeformat angegeben werden --title <text> Dialog-Titel --default <text> Voreingestellter Eintrag für Kombinationsfeld, Menü und Farbe --multiple Ermöglicht die Rückgabe mehrere Dateien bei Anwendung der Parameter --getopenurl und --getopenfilename --separate-output Listenelemente in separaten Zeilen ausgeben (für die Optionen checklist und Dateien öffnen mit --multiple) --print-winid Gibt die winId (Fenster-Kennung) für jeden Dialog aus --dontagain <file:entry> Einrichtungsdatei und Optionsname zum Speichern des Status „nicht noch einmal anzeigen/fragen“ --slider <text> Schieberegler-Dialog, gibt den ausgewählten Wert zurück --calendar <text> Kalender-Dialog, gibt ein Datum zurück --attach <winid> Macht den Dialog transient für X-Programme, die von winId vorgegeben werden --embed <winid> Ein Synonym für --attach --geometry <geometry> Dialog-Geometrie: [=][<width>{xX}<height>][{+-}<xoffset>{+-}<y offset>] Argumente: [arg] Argumente – abhängig von der Grundeinstellung
Yes-No Box
Yes-No-Cancel Box
$ kdialog --title "yesnocancel Textausgabebox" --yesnocancel "Textausgabe mit einem Ja-, Nein- und Abrechen-Button"
Warning-Yes-No Box
$ kdialog --title "yesno Warnungausgabebox" --warningyesno "Warnungausgabe mit einem Ja- und Nein-Button"
Warning-Continue-Cancel Box
kdialog --title "yesno Warnungsausgabebox" --warningcontinuecancel "Warnungsausgabe mit einem Fortsetzen- und Abbrechen-Button"
Warning-Yes-No-Cancel Box
$ kdialog --title "Warnungsausgabebox" --warningyesnocancel "Warnungsausgabe mit einem Ja-, Nein- und Abbrechen-Button"
Detailed-Sorry Box
$ kdialog --title "Warnungsausgabebox" --detailedsorry "Ein kurzer Warnungstext steht hier in der Box" "Details sind hier als zusätzlicher aufklappbarer Ausgabetext nachzulesen"
Error Box
Error-Detailed Box
$ kdialog --title "Fehlerausgabebox" --detailederror "Ein kurzer Fehlerstext steht hier in der Box" "Details sind hier als zusätzlicher aufklappbarer Ausgabetext nachzulesen"
Input Box
Image Box
Password Box
New Password Box
$ kdialog --title "Neues Passwort setzen" --newpassword "Bitte das neu zu vergebende Passwort zweimal eingeben"
Text Box
Textinput Box
$ kdialog --title "Textbox zur Eingabe" --textinputbox "Bitte den Text eingeben:" "Für eine größere Menge Text steht hier viel Platz zur Verfügung"
Combo Box
$ kdialog --title "Combobox zur Auswahl" --combobox "Bitte einen Option auswählen:" "Erste Option" "Zweite Option"
Menu Box
kdialog --title "Menübox zur Auswahl" --menu Menüauswahl "1" "Menüpunkt 1" "2" "Menüpunkt 2" "3" "Menüpunkt 3"
Checklist Box
$ kdialog --title "Checkliste mit Vorbelegung" --checklist "Bitte auswählen oder Standardauswahl bestätigen" 1 "1. Auswahlpunkt" off 2 "2. Auswahlpunkt" on 3 "3. Auswahlpunkt" off
Radiolist Box
$ kdialog --title "Checkliste mit Einfachauswahl" --radiolist "Bitte auswählen oder Standardauswahl bestätigen" 1 "1. Auswahlpunkt" off 2 "2. Auswahlpunkt" on 3 "3. Auswahlpunkt" off
Passive Popup Box
$ kdialog --passivepopup "Hier ist eine Popup-Benachrichtigung mit Timer die sich selbstständig schließt" 15
Slider Box
Progressbar Box
progress=$(kdialog --title "Fortschrittsanzeige" --progressbar "Fortschrittsanzeige von 1-5 Werten" 5) qdbus $progress showCancelButton true sleep 3 qdbus $progress Set "" value 1 > /dev/null qdbus $progress setLabelText "Wert entspricht 1: Ausgabetext " > /dev/null sleep 1 qdbus $progress Set "" value 2 > /dev/null qdbus $progress setLabelText "Wert entspricht 2: Ausgabetext " > /dev/null sleep 1 qdbus $progress Set "" value 3 > /dev/null qdbus $progress setLabelText "Wert entspricht 3: Ausgabetext " > /dev/null sleep 1 qdbus $progress Set "" value 4 > /dev/null qdbus $progress setLabelText "Wert entspricht 4: Ausgabetext " > /dev/null sleep 1 qdbus $progress Set "" value 5 > /dev/null qdbus $progress setLabelText "Wert entspricht 5: Ausgabetext " > /dev/null sleep 1 qdbus $progress close > /dev/null
Calendar Box
Getcolor Box
MsgBox mit HTML
kdialog --title "Diverse Ausgabemöglichkeiten mit HTML-Elementen innerhalb einer MsgBox" --msgbox " Eine Grafik lässt in sich gut darstellen mit einem HTML-Befehl<hr> <br> <img src='laptop_30.png'></img><br><br> weitere Textformatierungen, hier eine Liste..... <ul> <li><b>fett</b></li> <li><i>kursiv</i></li> <li><u>unterstrichen</u></li> </ul> oder auch Überschriften..... <h2>Große Überschrift in h2</h2> <pre>für Codelistung unformartierter Text</pre> "