[geschlossen] Der YAD-Praxis-Thread

Support-Forum für deutschsprachige Benutzer

Moderator: karlchen

Forum rules
Topics in this forum are automatically closed 6 months after creation.
User avatar
secureIT
Level 4
Level 4
Posts: 471
Joined: Wed Dec 05, 2018 1:26 pm

Re: Der YAD-Praxis-Thread

Post by secureIT »

Die Einstellungsoption Editor verstehe ich nicht ganz, weil die gespeicherten Texte unter home/.trans_tray/savedtexts/ bei Doppelklick ohnehin mit dem Systemeditor geöffnet werden (bei mir ist das xed) - oder ist da noch was vorgesehen, diese auch innerhalb des Scripts öffnen zu können ?
Entschuldigung den Menupunkt :"gespeicherte Übersetzungen anzeigen hatte ich nicht gesehen........
von daher könnte es ggf. doch Sinn machen ........muss man ausprobieren mit abweichenden Einstellungen .......

Jedenfalls werden bei mir die gespeicherten Texte bei Klick darauf angezeigt. (die Einstellung steht bei mir auf "defaulttexteditor")

Aber was ist denn das ?

Unter gespeicherte Texte
"Doppelclick ruft Menue auf ?"

Bei Doppelklick wird kein Menue angezeigt ....... vielmehr werden die gespeicherten Texte dann einer nach dem Anderen gelöscht ....... ?

Das Verhalten kann ich momentan aus unten stehendem Snippet nicht ganz nachvollziehen ......

Code: Select all

yad --plug=$$ --tabnum=1 --list --text="Doppelklick ruft Menue auf" --item-separator=" " --listen --column="Trans gespeichert" \
    $(for f in $HOME/.trans_tray/savedtexts/*; do [[ -f "${f}" ]] && echo "${f##*/}"; done) \
   --dclick-action="bash -c \"menu "%s"\"" \
    --select-action="bash -c \"echo -e '\f' >/tmp/trans_tray/TP ; cd "$HOME/.trans_tray/savedtexts" ; echo "%s" >/tmp/trans_tray/sel-file; cat  "%s" >/tmp/trans_tray/TP ; echo -e '\n' >/tmp/trans_tray/TP \"" <&6  &

yad --plug=$$ --tabnum=2 --editable --text-info --fontname="$FONT" --wrap --listen <&4 &
edit: Das Script ist sehr komplex
ich werde versuchen, wenn es meine Zeit erlaubt, mich morgen "tiefer" damit zu beschäftigen ........ das heisst aber noch lange nicht, dass ich für Alles eine Lösung finden kann ......
ist nicht so einfach, bei einem so komplexen Script, das man nicht selbst entwickelt hat .... da muss man sich erst mal "reindenken" und das ist Zeit-intensiv ...... aber ich denke es lohnt sich, weil es ist vom Ansatz her ein "Klasse-Teil"
.
achim

Re: Der YAD-Praxis-Thread

Post by achim »

Hallo Johann,
secureIT wrote: Sat Nov 23, 2019 4:08 pm
edit: Das Script ist sehr komplex
ich werde versuchen, wenn es meine Zeit erlaubt, mich morgen "tiefer" damit zu beschäftigen ........ das heisst aber noch lange nicht, dass ich für Alles eine Lösung finden kann ......
das erwarte ich auch nicht. Meine Idee war eigentlich, frei nach dem Motto vier Augen sehen mehr als zwei, dass du dir erst einmal einen groben Überblick verschaffst und dabei gegebenfalls vorhandene Fehler findest. So bin ich zum Beispiel auch schon die Idee gekommen, die Option "Beim Start ausführen" zu entfernen.
secureIT wrote: Sat Nov 23, 2019 4:08 pm
ist nicht so einfach, bei einem so komplexen Script, das man nicht selbst entwickelt hat .... da muss man sich erst mal "reindenken" und das ist Zeit-intensiv ...... aber ich denke es lohnt sich, weil es ist vom Ansatz her ein "Klasse-Teil"
Genau das wollte ich lesen, denn ich finde, dass es sich um den besten Translator unter YAD handelt, den ich je auf dem Rechner hatte. Das Tool beinhaltet des Weiteren Optionen, die du in den letzten Tagen schon mal angesprochen hast.
Was hälst du denn von dem Vorschlag, dass wir beide zunächst mal mit dem Teil einfach nur arbeiten, ich versuche in der Zwischenzeit die bereits gefundenen Fehler zu beseiten und wenn dir noch was auffällt, teile es mir einfach mit. Wenn ein Lösungsansatz gleich dabei ist, freue ich mich umso mehr. Andernfalls habe ich aber auch kein Problem damit, mich noch mal intensiver mit Einzelheiten auseinander zu setzen.

Viele Grüße

Achim
User avatar
secureIT
Level 4
Level 4
Posts: 471
Joined: Wed Dec 05, 2018 1:26 pm

Re: Der YAD-Praxis-Thread

Post by secureIT »

zur Autostartfunktion :

bei mir in XFCE liegen die über die Einstellungsverwaltung erstellten Autostart-Anweisungen als *.desktop Datei im Verzeichnis :

~/.config/autostart/

Inhalt von multitranslator1.desktop :

[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=multitranslator1
Comment=Multitranslator
Exec=/home/DEINNAME/bin/multitranslator1.sh
OnlyShowIn=XFCE;
StartupNotify=false
Terminal=false
Hidden=false

Ich weiss nicht, ob das unter Cinammon oder einem anderen Desktop auch so ist.
Falls ja könnte man eine Funktion schaffen nach dem Schema :

echo >${directory}/multitranslator1.desktop
entry="[Desktop Entry]"
Type=Application

u.s.w.

und zum rausnehmen aus dem Autostart > prüfe ob die Datei multitranslator1.desktop vorhanden ist > falls ja lösche diese

........... das ist nur ein Denkansatz, weil ich nicht weiß, ob das bei allen Desktops funktionieren würde
.
achim

Re: Der YAD-Praxis-Thread

Post by achim »

Unter Mint 18.3 Cinnamon liegen die Desktop-Dateien auch im Verzeichnis ~/.config/autostart/. Ich habe die Option zunächst mal aus dem Menue entfernt weil ich dachte, erst einmal ein "einfachere" Dingen heran zu gehen. Einige Kleinigkeiten habe ich auch schon erledigt. Allerdings hänge ich schon viel zu lange an der Drucklösung gespeicherte Übersetzungen anzeigen -> Doppelklicken auf die ausgewählte Datei (hier konnte ich bereits einiges korrigieren) -> Drucken. Bis jetzt ohne Erfolg.
Das Script besteht aus vielen Funktionen die oft miteinander verschachtelt sind. Da verliert man schnell die Übersicht. Aber es lohnt sicht...

PS. Vielleicht steh ich ja momentan auf der Leitung, denn es geht einfach nicht weiter. Da habe ich mir gerade gedacht, eventuell hast du ja eine Idee.

Hier mal ein Code-Schnipsel:

Code: Select all

function menu () {
   yad  --list --width=250 --height=150 $ONTOP --mouse \
        --column action --no-headers " " "Aktualisierung" "Drucken" "Löschen" "Bearbeiten" "Umbenennen" "Editor auswählen" \
        --close-on-unfocus --no-buttons --undecorated \
        --select-action="bash -c \"menu_action "$1" "%s"\"" &
druckfilepdf=$(echo $1)
basename=$HOME/.trans_tray/savedtexts/$druckfilepdf
 echo $! > /tmp/trans_tray/sttmenu_pid
}; export -f menu

function druckfile () {
#yad --text "\n          Druckauftrag in PDF \n\n          wird gestartet..\n" --mouse $ONTOP
yad --center --width=350 --title="PDF-Drucker wurde aktiviert" --text=" \n             funktioniert nur mit \n\n             installiertem Cups-PDF \n      " \
--window-icon=$ICON --button "gtk-cancel":1 --button "gtk-print":0 --mouse $ONTOP
#soffice --headless --norestore --convert-to pdf $druckfile --outdir $HOME/PDF
	cba=$(echo $?)										# Exit-Code auswerten
	if [[ $cba == 1 ]] || [[ $cba == 70 ]] || [[ $cba == 252 ]]; then	# Taste Abbrechen gedrückt || Skript-Ende mit [X] || Skript-Ende mit [Esc]
	exit	
	fi
cd $HOME/.trans_tray/savedtexts
lp -d Generic-CUPS-PDF-Printer $basename
cd bin
exit
}; export -f druckfile
Die Function druckfile habe ich neu hinzugefügt um aus dem weiter oben beschriebenen Untermneue drucken zu können. Mein bisher angewandter Befehl "soffice..." klappt leider nicht so 100%-ig. Mit dem Kommando "druckfilepdf=$(echo $1)" produziert das Script eine Variable für die Textdatei, basename enthält den kompletten Pfad. Und jetzt mein Problem: mir ist es bis jetzt noch nicht gelungen diese Variable(n) an den Drucker zu übergeben. Wobei der Befehl so gestaltet werden sollte, dass der User möglichst den Code nicht verändern muss. Also entweder Cups-PDF oder der Standard-Drucker. Ein Variante, wo zunächst eine Druckerverwaltung aufgerufen wird, könnte man auch einbauen. Ich steh schon seit Stunden auf dem Schlauch - hast du noch einen Vorschlag? Sonst werde ich erst einmal den Rechner ausschalten und eine Nacht darüber schlafen.
User avatar
secureIT
Level 4
Level 4
Posts: 471
Joined: Wed Dec 05, 2018 1:26 pm

Re: Der YAD-Praxis-Thread

Post by secureIT »

Leider bisher nein.

Habe schon verschiedene Optionen aus der Manpage im Terminal mit einem Testfile ausprobiert

https://linux.die.net/man/1/lp

lp -d testfile : Datei oder Verzeichnis nicht gefunden
lp -c testfile : Error -No default destination
lp file testfile : Fehler - Zugriff auf »file« nicht möglich - Datei oder Verzeichnis nicht gefunden

Eventuell muss man vorher die "default-destination" (Drucker) auslesen (momentan keine Ahnung wo die abgelegt ist ...

und via lp -d dest übergeben

edit: Drucker findet man mit : lpstat -p -d

edit2
habe eben mal lp ohne Optionen ausprobiert - und siehe da :

Code: Select all

lp test-1234
request id is ML-1640-Series-490 (1 file(s)
Der Drucker war ausgeschaltet - und es ist nur ein Drucker an diesem PC angeschlossen.

Meint :

Code: Select all

cd $HOME/.trans_tray/savedtexts
lp $basename
-------sollte funktionieren

Der Test funktioniert bei mir :

Code: Select all

basename=test-1234
 $ lp $basename
request id is ML-1640-Series-491 (1 file(s))
Morgen versuche ich mal, wie es sich bei einem System verhält, bei dem mehrere Drucker installiert sind .........
.
achim

Re: Der YAD-Praxis-Thread

Post by achim »

Ich habe eine Lösung gefunden. Bei installiertem Cups-PDF druckt "lpr -P PDF $druckfilepdf" zunächst eine PDF-Datei, die anschließend mit jedem PDF-Viewer angeschaut und auch ausgedruckt werden kann.
Wenn du möchtest, kann ich dir ja schon einmal eine korrigierte Version schicken (ist aber noch einiges dran zu arbeiten).

Schöne Grüße
achim

Re: Der YAD-Praxis-Thread

Post by achim »

Hallo Johann,

hier mal eine aktualisierte Version (ist noch nicht komplett überarbeitet). Das chin. Übersetzungsproblem dürfte nicht mehr existieren, genau wie der Fehler "Doppelklick auf Datei". Eine Druckfunktion (über cups-pdf) wird ab sofort dort zur Verfügung gestellt und das Einrichten einer Autostartfunktion aus dem Menue entfernt (den Code habe ich erst einmal so gelassen). Es gibt noch einiges zu tun.
Insgesamt sind wenig Möglichkeiten geschaffen worden, Fehler aufzufangen. Soll heißen, durch nicht gewollte Eingaben kommt es manchmal zu unerwünschten Ergebnissen.
Die Datei übrigens wie beim letzen Mal behandeln.

Einen schönen Tag noch...

PS. Sind dir noch andere Fehler, als die bereits erwähnten, aufgefallen?
Last edited by achim on Fri Nov 29, 2019 9:28 pm, edited 1 time in total.
User avatar
secureIT
Level 4
Level 4
Posts: 471
Joined: Wed Dec 05, 2018 1:26 pm

Re: Der YAD-Praxis-Thread

Post by secureIT »

Hallo Achim,

Ich teste grade multitranslator2 .

Du hast eine Menge Zeit und Arbeit in die Anpassung des Tools investiert -
und dafür zunächst mal an dieser Stelle ein großes Dankeschön.

Sorry ich hatte gestern in Deinem Codeschnipsel nicht erkannt, dass der Ausdruck in eine pdf-Datei erfolgen soll.
(Da stand wohl meine Aufnahmefähigkeit der Aufmerksamkeit im Wege) :x

Aber davon ab, schön wäre es natürlich, wenn es im Menue eine Auswahl gäbe zwischen:
„Druck erstellen als pdf“
und normalem Ausdruck per Drucker
„Drucken“
Über den Editor, der im Ansichtsfenster der gespeicherten Übersetzungen eingebunden ist diese Option ja nicht auswählbar.

Ich werde mich in den nächsten Tagen damit befassen, und schaun, was ich als Code-Schnipsel beitragen kann.

Der Ausdruck in eine pdf-Datei jedenfalls funktioniert und diese wird im Ordner ~/PDF abgelegt.

Es wäre schön, wenn eine Rückmeldung über die Generierung und Speicherung der .pdf erfolgen würde – ähnlich der, die beim Speichern der Übersetzung angezeigt wird.

Die Chinesische Übersetzung bringt nach wie vor leider nur Hieroglyphen…….

Versuche mal eine Übersetzung von diversen Inhalten dieser Seiten :

http://www.vuong.ch/wenblog/chinesische ... eschichten

https://www.xuexizhongwen.de/ch21_film_sehen.htm

http://www.new-chinese.org/chinesische- ... e-men.html

http://www.100jia.net/texte/anddaojia/c_wenzi.htm

Wie gesagt : das alte zenity-yad-Tool zeigt eine einwandfreie Übersetzung an, multitranslator leider nicht.

Ich habe in dieser Hinsicht schon einige Versuche mit geänderten Sprachkürzeln im Code durchgeführt …… leider bisher ohne Erfolg.

Aber ich gehe da auch noch mal ran, und werde berichten …...


Ich teste weiter, und melde mich, falls mir noch etwas auffällt ........
.
User avatar
secureIT
Level 4
Level 4
Posts: 471
Joined: Wed Dec 05, 2018 1:26 pm

Re: Der YAD-Praxis-Thread

Post by secureIT »

secureIT wrote: Mon Nov 25, 2019 11:22 am Hallo Achim,

Ich teste grade multitranslator2 .

Du hast eine Menge Zeit und Arbeit in die Anpassung des Tools investiert -
und dafür zunächst mal an dieser Stelle ein großes Dankeschön.

Sorry ich hatte gestern in Deinem Codeschnipsel nicht erkannt, dass der Ausdruck in eine pdf-Datei erfolgen soll.
(Da stand wohl meine Aufnahmefähigkeit der Aufmerksamkeit im Wege) :x

Aber davon ab, schön wäre es natürlich, wenn es im Menue eine Auswahl gäbe zwischen:
„Druck erstellen als pdf“
und normalem Ausdruck per Drucker
„Drucken“
Über den Editor, der im Ansichtsfenster der gespeicherten Übersetzungen eingebunden ist diese Option ja nicht auswählbar.

Ich werde mich in den nächsten Tagen damit befassen, und schaun, was ich als Code-Schnipsel beitragen kann.

Der Ausdruck in eine pdf-Datei jedenfalls funktioniert und diese wird im Ordner ~/PDF abgelegt.

Es wäre schön, wenn eine Rückmeldung über die Generierung und Speicherung der .pdf erfolgen würde – ähnlich der, die beim Speichern der Übersetzung angezeigt wird.

Die Chinesische Übersetzung bringt nach wie vor leider nur Hieroglyphen…….

Versuche mal eine Übersetzung von diversen Inhalten dieser Seiten :

http://www.vuong.ch/wenblog/chinesische ... eschichten

https://www.xuexizhongwen.de/ch21_film_sehen.htm

http://www.new-chinese.org/chinesische- ... e-men.html

http://www.100jia.net/texte/anddaojia/c_wenzi.htm

Wie gesagt : das alte zenity-yad-Tool zeigt eine einwandfreie Übersetzung an, multitranslator leider nicht.

Ich habe in dieser Hinsicht schon einige Versuche mit geänderten Sprachkürzeln im Code durchgeführt …… leider bisher ohne Erfolg.

Aber ich gehe da auch noch mal ran, und werde berichten …...


Ich teste weiter, und melde mich, falls mir noch etwas auffällt ........
edit: eben habe ich die Übersetzung aus chinesisch mit Yandex ausprobiert : ....... einwandfrei
Eigenartig :shock:
Momentan habe ich keinen Plan, warum der "Gockel" die Anfrage mittels multitranslator nicht übersetzt, während er die Anfrage mit dem Code aus dem zenity-yad-tool offensichtlich "versteht" :roll:
.
achim

Re: Der YAD-Praxis-Thread

Post by achim »

Hallo Johann,

schön von dir zu lesen und gleichzeitig zu erfahren, was noch so möglich sein könnte.
secureIT wrote: Mon Nov 25, 2019 11:22 am ...

Aber davon ab, schön wäre es natürlich, wenn es im Menue eine Auswahl gäbe zwischen:
„Druck erstellen als pdf“
und normalem Ausdruck per Drucker
„Drucken“

Das dürfte kein große Hürde darstellen. Man könnte z. B. das Fenster "PDF-Datei wird generiert..." entsprechend ändern und einen zweiten Button integrieren. Für das zweite Exec-Kommando könnte man deinen Druckbefehl von gestern nehmen. Ich denke, der funktioniert auf jedem Linux-Rechner.

secureIT wrote: Mon Nov 25, 2019 11:22 am
Es wäre schön, wenn eine Rückmeldung über die Generierung und Speicherung der .pdf erfolgen würde – ähnlich der, die beim Speichern der Übersetzung angezeigt wird.

Das könnte man in Verbindung mit einem befehl ähnlich

zenity --progress \
--title="Process Status" \
--text="$f4 wird optimiert..." \
--pulsate \
--auto-close &>/dev/null
done 2>/dev/null

erreichen. Anschließend ein yad-Medefenster mit dem Inhalt "Fertig". Mit Zenity deshalb, weil ich der Meinung bin, dass es sauberer aussieht als unter yad. Aber das ist auch Ansichtssache.

secureIT wrote: Mon Nov 25, 2019 11:22 am
Die Chinesische Übersetzung bringt nach wie vor leider nur Hieroglyphen…….

Versuche mal eine Übersetzung von diversen Inhalten dieser Seiten :

http://www.vuong.ch/wenblog/chinesische ... eschichten

https://www.xuexizhongwen.de/ch21_film_sehen.htm

http://www.new-chinese.org/chinesische- ... e-men.html

http://www.100jia.net/texte/anddaojia/c_wenzi.htm

Wie gesagt : das alte zenity-yad-Tool zeigt eine einwandfreie Übersetzung an, multitranslator leider nicht.

Ich habe in dieser Hinsicht schon einige Versuche mit geänderten Sprachkürzeln im Code durchgeführt …… leider bisher ohne Erfolg.

Aber ich gehe da auch noch mal ran, und werde berichten …...

Meiner Meinung nach ist das nicht der Fehler vom multitranslator, sonder eher ein Problem des Übersetzers. Vom Ergebnis her betrachtet gibt es ohnehin Unterschiede. In verschiedenen Tests soll das google-Engine am besten und yandex am schlechtesten abgeschnitten haben.

Wenn du schreibst, das alte zenity-yad-Tool... - welches genau meinst? Und falls ich es noch nicht kennen sollte, kannst du mir den Code mal zukommen lassen?

Zum Schluss noch ein persönliches Anliegen. Hast du etwas dagegen, wenn wir etwas mehr von einander erfahren und uns diesbezüglich per pm, e-mail oder whatsapp austauschen? Ich hätte kein Problem damit, wenn du das nicht möchtest. Andererseits, lass es mich wissen.


Achim
User avatar
secureIT
Level 4
Level 4
Posts: 471
Joined: Wed Dec 05, 2018 1:26 pm

Re: Der YAD-Praxis-Thread

Post by secureIT »

pm gerne - und ggf daraus resultierend andere Möglichkeiten .......
...... whatsapp benutze ich nicht, weil ich allergrössten Wert auf Privacy lege ....
Meine Daten bleiben bei mir !!! - und deshalb läuft auch auf meinem Android-Handy Debian in einer chroot-Umgebung ........

Ich meine, ich hätte das uralt zenity-yad-tool schon mal gepostet ?

hier der Code :

Code: Select all

#!/bin/bash
# Uebersetzung von markierten Texten ueber Zwischenablage via google-api
# funktioniert mit allen Programmen
# Sprachwahl mit yad und Ausgabe der Uebersetzung mit zenity
#
# zu installieren: yad zenity xsel
#
# Dateiname : translator9.sh
# Befehl fuer einen Starter : bash -c translator10.sh
#
# Handhabung : Text in Anwendung markieren - Script aufrufen
# Ausgangssprache waehlen - Zielsprache waehlen
#
#
# Script-Start
# markierten Text an xsel uebergeben
text="$(xsel -o)"
# Sprachauswahl treffen
Sprachen="Afrikaans:af,Albanisch:sq,Arabisch:ar,Bulgarisch:bg,Chinesisch:zh,Daenisch:da,Deutsch:de,Englisch:en,Finnisch:fi,Franzoesisch:fr,Griechisch:el,Hebraeisch:he,Japanisch:ja,Hollaendisch:nl,Italienisch:it,Indonesisch:id,Koreanisch:ko ,Kroatisch:hr,Litauisch:lt,Norwegisch:nn,Polnisch:pl,Portuguiesisch:pt,Rumaenisch:ro,Russisch:ru,Slovakisch:sk,Spanisch:es,Syrisch:ar-SY,Tuerkisch:tr,Ungarisch:hu,Vietnamesisch:vi,Wallisisch:cy"
yad --title="Sprachauswahl" --form --separator="," --item-separator="," --field="Ausgangssprache:CBE" --field="Zielsprache:CBE" "$Sprachen" "$Sprachen" \
"$Ausgangssprache" "$Zielsprache" > /tmp/config
ret=$?
if [[ $ret -eq 1 ]]; then
rm /tmp/config; exit 0
fi
ausgang=`cat /tmp/config | awk -F',' '{print $1}'`
ziel=`cat /tmp/config | awk -F',' '{print $2}'`
echo $ausgang $ziel
# Umschluesselung auf das Sprachkuerzel
ausgangssprache=$(echo ${ausgang} | awk -F: '{print substr($2,0)}')
echo $ausgangssprache
zielsprache=$(echo ${ziel} | awk -F: '{print substr($2,0)}')
echo $zielsprache
# Text an google-api uebergeben
translate="$(wget -U "Mozilla/5.0" -qO - "http://translate.googleapis.com/translate_a/single?client=gtx&sl=$ausgangssprache&tl=$zielsprache&dt=t&q=$(echo $text | sed "s/[\"'<>]//g")" | sed "s/,,,0]],,.*//g" | awk -F'"' '{print $2, $6}')"
# Uebergabe des uebersetzten Textes an Zenity
echo -e "Original text:" "$text"'\n' > /tmp/transnote
echo "Translation:" "$translate" >> /tmp/transnote
zenity --text-info --title="Translation" --filename=/tmp/transnote
# loeschen der temporaeren Dateien
rm /tmp/config
rm /tmp/transnote
exit
edit: soweit ich das errinnere, habe ich das seiner Zeit mal von einem User auf linuxmintusers kopiert ...... und hernach die api-Anfrage im Code (für mich) auf ein danach akzeptiertes Anfrage-Schema aktualisiert..... aber das ist schon ein paar Jahre her ...... deshalb meine Bezeichnung "uralt" ............
.
achim

Re: Der YAD-Praxis-Thread

Post by achim »

Richtig, den Code hast du ganz am Anfang schon mal gepostet. Da wird aber nicht mit dem Google-Engine gearbeitet, sondern mit Translate. Oder sehe ich das falsch? Keine Ahnung warum das mit google nicht klappt. Vielleicht hat das am Ende ja sogar politische Gründe :( Benötigst du denn die chinesische Übersetzung? Dann müsste man sich eventuell noch einmal intensiver damit auseinander setzen.

Bis dahin
User avatar
secureIT
Level 4
Level 4
Posts: 471
Joined: Wed Dec 05, 2018 1:26 pm

Re: Der YAD-Praxis-Thread

Post by secureIT »

Da wird aber nicht mit dem Google-Engine gearbeitet, sondern mit Translate.
Der Aufruf aus dem Code :

http://translate.g**gleapis.com/translate ......
richtet sich an die Subdomain "translate" von g**gleapis.com , auf der die Übersetzungs-api untergebracht ist
Benötigst du denn die chinesische Übersetzung?
Eigentlich geht es dabei doch nicht um meine "Wenigkeit", sondern um ein Tool, das den Anspruch hat, ein vollwertiger Übersetzer zu sein.

Und wenn dann eine (nicht nur im Handel durchaus wichtige) Übersetzung damit nicht möglich wäre, wäre es eben nicht "vollwertig".
.
achim

Re: Der YAD-Praxis-Thread

Post by achim »

die Korrektur der Function druckfile () ist für mich jetzt doch etwas komplizierter als erwartet. Bei der Verwendung von mehreren Druckern muss vor dem Druckbefehl der z. Zt. eingestellte Standard-Drucker abgefragt und ggf. geändert werden. Bisher ist es mir nicht gelungen, korrekte Befehle in die Function einzubauen. Hast du eventuell noch eine Idee, wie die Zeilen formuliert werden müssen?
User avatar
secureIT
Level 4
Level 4
Posts: 471
Joined: Wed Dec 05, 2018 1:26 pm

Re: Der YAD-Praxis-Thread

Post by secureIT »

Wenn ich das richtig verstehe, versuchst Du grade die Funktion druckfile sowohl für *.pdf, als auch für "normal"-Druck anzupassen.
Wäre es nicht einfacher eine weitere Funktion zu bauen, die sich nur um den "normal"-Druck kümmert ? - und diese gesondert über das Menu der gespeicherten Texte aufzurufen ?

edit: im Übrigen ist mir aufgefallen, dass nach der Installation von cups-pdf der PDF-Drucker als Standarddrucker markiert ist - das habe ich natürlich geändert.

Vielleicht ist das bei Dir auch so, und der Grund für die Probleme ...........
.
achim

Re: Der YAD-Praxis-Thread

Post by achim »

Wie zuletzt geplant, habe ich bereits zusätzlich folgendes Kriterium eingerichtet: rechte Maustaste → Menue aufrufen → gespeicherte Übersetzungen anzeigen → Doppelklick auf ein gespeichertes Dokument → „PDF erzeugen“. Die dazu benötigte Function PDF_erzeugen () ist ebenfalls bereits integriert.
Jetzt möchte ich die vorhandene Function druckfile () so umschreiben, dass der „normale“ Drucker angesprochen wird.
Wenn z. B. der letzte Druckvorgang über „PDF“ erfolgte, muss der Treiber umgestellt werden auf „ML-1640-Series-490“. So lautet, glaube ich, die Bezeichnung für deinen „normalen“ Drucker. Hier trete ich momentan auf der Stelle und benötige Hilfe. Die vorhanden Drucker müssten ausgelesen und für jeden eine Variable angelegt werden. Den weiteren Ablauf stelle ich mir so vor, dass der Anwender über ein weiteres Auswahlfenster dann den gewünschten Drucker festlegt. In einem anderen Script habe ich das mit „lpoptions -d "EPSON_WF-3520_Series" gelöst. In diesem Fall war mir der Druckername allerdings bekannt.
Übrigens vermute ich mal, dass diese Druckerumstellung auch im umgekehrten Fall geschehen muss. Das kann ich erst prüfen, werden mir die Umstellung von PDF auf Normal per Script gelungen ist.

PS. Als ich dieses Posting schrieb, war mir deine "Edit" noch nicht bekannt. :)
Unter "system-config-printer" kann man den Standard-Drucker festlegen. Diesen Vorgang möchte nach Möglichkeit via Script realisieren.

Edit: Als wirklich letzte Lösung würde ich über den Code "system-config-printer" aufrufen. Eine eigene Idee wäre mir persönlich schon lieber.
User avatar
secureIT
Level 4
Level 4
Posts: 471
Joined: Wed Dec 05, 2018 1:26 pm

Re: Der YAD-Praxis-Thread

Post by secureIT »

Ausgabe von :

Code: Select all

lpstat -p -d

Code: Select all

lpstat -p -d
Drucker PDF ist im Leerlauf.  Aktiviert seit Di 26 Nov 2019 14:19:53 CET
Drucker Roger-Router-Fax ist im Leerlauf.  Aktiviert seit Mi 04 Sep 2019 14:20:07 CEST
Drucker Samsung_ML_1640_Series_M58p ist im Leerlauf.  Aktiviert seit Di 26 Nov 2019 13:56:00 CET
systemvoreingestelltes Ziel: Samsung_ML_1640_Series_M58p
Der ML-1640 wurde von mir als Standarddrucker ausgewählt, nachdem cups-pdf installiert war.

An dieser Einstellung ändert sich auch nichts, wenn ich aus dem Script in pdf drucke.

Wenn man zuvor mit cd in den Ordner ~/.trans_tray/savedtexts/ gewechselt hat .....
braucht man doch eigentlich nur den lp -Befehl (ohne weitere Optionen) gefolgt vom Dateinamen (aus einer Variablen)

- oder sehe ich das falsch ?

edit:

Egal, Du fragtest nach, wie man den Ausdruck dirigiert :

Hier als Beispiel der Ausdruck eines Manuals für den Befehl: ls

Das druckt in pdf :

Code: Select all

man -t 1 ls | lpr -P PDF
Das druckt auf einen bestimmten Drucker :

Code: Select all

man -t 1 ls | lpr -P Roger-Router-Fax
Das druckt auf den systemvoreingestellten Drucker :

Code: Select all

man -t 1 ls | lpr
Probiere es aus : (das im obigen Beispiel zu druckende Manual, welches sich eigentlich auf Deinem System befinden sollte) kannst Du mit der Variablen des Dateinamens ersetzen

edit2

Das liest z.B. den Namen des default-Druckers aus :

Code: Select all

lpstat -p -d | sed -n 's/.*systemvoreingestelltes Ziel://p'
gibt auch noch Andere Varianten mit grep oder awk .........



edit3

Aua , das war jetzt zu kurz gedacht von mir, weil liefe ja nur auf deutschsprachigen Systemen.
Wollte man also mit lpstat -p -d den default-Drucker auslesen müsste man das ausgeben, was in der letzten Zeile der Ausgabe hinter dem Doppelpunkt steht ......
Dazu fällt mir aus dem Stand nichts ein ...... ich melde mich, wenn ich es rausgefunden habe.
.
achim

Re: Der YAD-Praxis-Thread

Post by achim »

secureIT wrote: Tue Nov 26, 2019 10:40 am
Der ML-1640 wurde von mir als Standarddrucker ausgewählt, nachdem cups-pdf installiert war.

An dieser Einstellung ändert sich auch nichts, wenn ich aus dem Script in pdf drucke.

Wenn man zuvor mit cd in den Ordner ~/.trans_tray/savedtexts/ gewechselt hat .....
braucht man doch eigentlich nur den lp -Befehl (ohne weitere Optionen) gefolgt vom Dateinamen (aus einer Variablen)

- oder sehe ich das falsch ?
Der nächste Ausdruck mit dem Befehl lp $variable läuft wieder über Cups-PDF (getestet!) Vorher muss umgestellt werden.

Den Rest prüfe ich später.
achim

Re: Der YAD-Praxis-Thread

Post by achim »

Hier mal ein Code-Schnipsel. Prüf den doch mal bei dir.
Last edited by achim on Fri Nov 29, 2019 9:29 pm, edited 1 time in total.
User avatar
secureIT
Level 4
Level 4
Posts: 471
Joined: Wed Dec 05, 2018 1:26 pm

Re: Der YAD-Praxis-Thread

Post by secureIT »

Das funktioniert bei mir, und druckt auf den Standarddrucker :

Code: Select all

function druckfile () {
yad --center --width=350 --title="Standard-Drucker..." --text=" \n             Text muss ich  \n\n             noch ändern\n      " \
--window-icon=$ICON --button "gtk-cancel":1 --button "gtk-print":0 --mouse $ONTOP

	cba=$(echo $?)										# Exit-Code auswerten
	if [[ $cba == 1 ]] || [[ $cba == 70 ]] || [[ $cba == 252 ]]; then	# Taste Abbrechen gedrückt || Skript-Ende mit [X] || Skript-Ende mit [Esc]
	exit	
	else
filename=$(cat /tmp/trans_tray/sel-file)
cd $HOME/.trans_tray/savedtexts
lpr $filename 
sleep 1.0
rm -f /tmp/trans_tray/sel-file
cd $HOME/bin
	fi
exit
}; export -f druckfile
edit ich hab jetzt mal hintendran das yad -Fenster weggelassen und

Code: Select all

lpr $filename
eingesetzt
Der Ausdruck läuft sowohl als pdf, als auch im Normaldruck vice-versa und ohne Umstellung .........

edit 2 Der Fehler im Script liegt an der Pipe auf das Yad-Fenster .... das funktioniert zwar, wenn Du in eine Datei druckst, aber nicht, wenn Du Daten an den Drucker senden willst (anderer Ablauf des Datenstromes)
Also wäre das yad-Erledigungsfenster dann nach dem Druckbefehl in einer neuen Scriptzeile einzufügen...........
.
Locked

Return to “Deutsch - German”