Ist natürlich alles sehr schwammig. Hätte gerne ne Extension, die es mir erlaubt eigene Buttons in die Leiste zu zerren - z.B. meine Batch.
Externe Anwendungen einbinden
-
- Erledigt
-
Fantin -
11. Oktober 2006 um 22:47 -
Geschlossen -
Erledigt
-
-
prinzipiell kannst du das ja auch. Weil der Code aber nirgens so richtig in Klartext steht muss man sich halt über die Krücke mit dem Kopieren über 2 Prefs.js behelfen. Dann hast du deinen Button und kannst den in die Leiste ziehen...
Externer Inhalt img178.imageshack.usInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Ich könnte für die Batch mal den Code vorbereiten, dann müsste aber die Batch immer an einem vorher definierten Ort liegen... z.B. in C:\TBBatch\deinebatch.cmd . Außerdem klappt das dann nur, solange alles in den Standardpfaden liegt... Unter Windows2000 heist in vielen Fällen der Windows-Ordner "WINNT" und ich hab bisher noch keine Variablen in den Codes gesehen. Wenn vielen schon das umkopieren zuviel ist, wird das ändern auf die für den jeweiligen Rechner erforderlichen Pfade eine umso größere Herausforderung sein.
Derzeitig ist das ganze wohl nur etwas für Bastler. Es sei denn jemand schafft es die Erweiterung etwas anwenderfreundlicher zu machen.
schöne Grüße
Toolman
-
Hi;
Hab dem ganzen ein wenig gelauscht und frage mich warum es über die Prefs.js gemacht werden muss?
Ich kann doch den Initialisierungs Code aus dem FF in den TB rüberkopieren und die „wichtigen“ Zeilen anpassen (welches Prog aufrufen, welches Icon nutzen, wie soll der Button heißen, etc.)Hier mal ein Beispiel wie ich es meine:
Externer Inhalt s3.bilder-hosting.deInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
(Sorry, für das unscharfe Bild, auf die schnelle war es nicht besser zu machen.)
Anmerkung: im unteren roten Bereich steht das "Textdatei" für den Namen der im Pulldown Menu des Buttons auftaucht (habe den Knopf mit mehreren Optionen genommen).Hilft Euch das beim weitermachen?
Hierfür könnte man im Zweifel auch eine kleine Anleitung „für Jederman“ schreiben, damit jeder sein „individuelles“ Prog einbinden kann. Wenn ich Zeit und noch ein wenig mehr Ahnung hätte würde ich mich ransetzen – aber beides fehlt mir im Moment. :?Gruß
-
Hallo DerCrabbe,
das muss ich übersehen haben, dass man das über bereitstellungscode bearbeiten kann... Hilfe ich bin blind... :roll: :roll: :roll: !
Das ist natürlich sicherer, wenn man es über den Bereitstellungscode ändert.
Als ich das hier nach geschaut habe war der Bereich immer leer... jetzt hab ich das mal nachvollziehen wollen und nun wird auch bei mir Code angezeigt.na ja, umso besser. Ich habe mitlerweile für mein Tool ein fertiges Code-Fragment bereitgestellt.. das werd ich gleich noch mal anpassen.
schöne Grüße
Toolman
-
Also, meine Vorgehensweise:
1. Installation von https://addons.update.mozilla.org/thunderbird/2707/ in Thunderbird und FF
2. Klick auf "External Application - Single" auf dieser Seite http://custombuttons.phpbbnow.com/viewtopic.php?t=207
3. Einfügen des geladenen Buttons in FF
4. Erstellen eines neutralen Buttons in TB
5. Rechtsklick auf den in FF erstellten Button und kopieren des Eintrags bei Bereitstellungscode
6. Einfügen des Codes an selber Stelle in TB
Dann sieht es bei mir so aus:
Externer Inhalt img245.imageshack.usInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Ich habe nun auch noch in der ersten Zeile Backup! als Button-Beschriftung eingegeben und statt dem Systemsteuerungsbild habe ich den Pfad, von dem bei Bild schon angegeben Pfad, ersetzt.
Soweit so gut (wobei das bei Crabbe anders aussieht, da steht mehr in dem Fenster).
Problem: Wo gebe ich den Pfad zur Batchdatei an? Bei 1 oder bei 2? Was ist der Unterschied. Ich glaube Toolman meinte das, als er schriebZitatfür die Batch müsstest du als "var path" den Pfad zur cmd.exe angeben der "nvar path" ist dann der Pfad zur Batch.
Nur
1. var path gibt es 2 und
2. nvar path keinsAußerdem: was ist der Unterschied von "Pfad zur cmd.exe" und "Pfad zur Batch"?
Wenn ich einfach noch den Pfad zur Batch an der richtigen Stelle richtig angeben könnte, dann hätte ich im Prinzip das, was ich wollte: Einen Button, der mir die Batch started.
Bleibt nur noch die Frage zu klären, die noch immer offensteht: Macht es dem Backup nichts aus, dass TB gerade läuft?Schöne Grüße
Joni
-
Also bei 1 müsste der Pfad und die Datei deiner Batch rein. Und bei 2 müsste der Pfad und die Datei zur cmd.exe rein... cmd.exe liegt normalerweise in
%windir%\system32\cmd.exe
Die Variable solltest du besser ausschreiben.schöne Grüße
Toolman
-
Ok, getan. Erstmal Danke. Allerdings wird die Batch nicht korrekt ausgeführt, sondern es ist nur ein kurzes Aufflackern des Fensters zu sehen, sonst passiert nichts weiter. Woran könnte das liegen?
-
Zitat
Allerdings wird die Batch nicht korrekt ausgeführt, sondern es ist nur ein kurzes Aufflackern des Fensters zu sehen, sonst passiert nichts weiter. Woran könnte das liegen?
Kann ich bestätigen! Ich hab mal versucht, zum richtigen Zeitpunkt die Duck-Taste zu drücken und konnte folgendes einfangen:
Externer Inhalt mitglied.lycos.deInhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.Ich muss dazusagen, dass ich Thunderbird for U3 nutze, daher der Pfad. Aber ich verstehe trotzdem nicht, warum die Batch-Datei, die 7z.exe jetzt plötzlich im Ordner Anwendungsdaten sucht, die Datei liegt doch mit der Batch im selben Ordner!
Wenn ich die Batch direkt aufrufe funktioniert sie übrigens einwandfrei.
Jetzt wirds echt knifflig, vielleicht kann caschy was dazu sagen!
Wie muss man die batch-Datei editieren, dass sich das Konsolenfenster nicht sofort wieder schließt? dann könnte man das mal genauer analysieren.Bringt das hier jemanden weiter?
-
Hallo!
Also, hab jetzt mal einen ganz einfachen Test gemacht: Thunderbird läuft. Ich kopiere den Ordner Thunderbird samt Profil, was passiert? Das was ich die ganze Zeit befürchtet habe: Der Ordner lässt sich nicht kopieren. Folglich kann die Batch auch den Ordner während geöffnetem TB nicht ausführen. (Liegt bisher ein Denkfehler vor?). D.h. TB muss zuerst geschlossen werden und erst danach kann die Batch ausgeführt werden.Fantin: Hab mir das mal kurz angesehen, nur werde ich nicht schlau daraus, da der Link auf die uns schon bekannte Seite führt. Und die Beschreibung, wonach es funktionieren soll, kann ich nicht ganz nachvollziehen. Falls du aber weitergekommen bist, dann lass es bitte wissen. Such mal weiter, wenn ich auf eine Lösung komme, meld ich mich.
Schöne Grüße
Joni
edit: Habe mal die Zeile
eingefügt und was passiert? Witzig: Tb startet und wird automatisch wieder geschlossen. Ich glaube, wenn dieser Befehl an richtiger Stelle eingetragen wird, könnte es klappen. Wer kann helfen? Ach noch was: Hab das über die prefs wieder repariert
-
Also mein Backup-Tool funktioniert damit... allerdings, beende ich TB vorher, mache dann das Backup und, wenn es in der ini-Datei so eingestellt wird, starte ich den TB danach wieder. Evtl. muss im Skript einfach nur eine Anweisung zum Schließen von TB eingebaut werden. Ich beende den TB mit tskill Thunde* /a - das läuft aber erst ab Windows XP - bei 2000 müsste man pskill(sysinternals) oder etwas anderes nehmen.
schöne Grüße
Toolman
-
@Toolam: Ich möchte "nur" (hätte nicht gedacht, das es so kompliziert werden würde :)) caschys Batch per Klick in TB integrieren. Kann dir mein Edit noch weiterhelfen? Damit könnte TB zur rechten Zeit ausgeschaltet werden und die Batch gestartet werden. Das würde mir schon reichen, wer natürlich noch möchte, kann sich dann einen Befehl zum Komprimieren aller Ordner in TB einfügen sowie einen zum Wiederstart von TB, wobei mir ersteres auch sehr gefallen würde
Prinzip: Ich schalte TB (bei Bedarf) über diesen Button aus -> Ordner werden komprimiert TB geschlossen und Backup durchgeführt. (Alles duch einen Klick aus TB heraus).Schöne Grüße
Joni
-
Hallo Joni,
Zitatcaschys Batch per Klick in TB integrieren. Kann dir mein Edit noch weiterhelfen?
Da ich cashys Batch nicht zum Backup des TB verwende, und das auch in Zukunft nicht vorhabe, weiß ich nicht genau ob ich die richtige Adresse für das Problem bin. Ich werde jetzt bestimmt nicht hergehen und die Batch von cashy verändern. Da cashy eh schon mitliest, ist das wohl die beste Adresse.
Mein Tool funktioniert eigentlich perfekt mit dem Button und mir persönlich reicht das vollkommen (also schließen - Backup-Neustart; Komprimieren mache ich lieber selbst).schöne Grüße
Toolman
-
Laut dieses Beitrags müsste durch das Einfügen des Befehls
goQuitApplication();
in den Code von External Application - Single an letzter Stelle, TB zuerst geschlossen werden und anschließend die Batch ausgeführt werden. Bei mir sieht es dann folgender Maßen aus:
Code
Alles anzeigenvar label='Backup'; var img='data:image/.........'; var path='C:/Ziel der Batch //var path='c:/windows/system32/cmd.exe'; var args=''; this.label=label; this.setAttribute('oncommand','this.startProcess("'+path+'","'+args+'")'); this.image=img; this.tooltipText = label; this.startProcess=function(path,args){ var file = Components.classes['@mozilla.org/file/local;1'] .createInstance(Components.interfaces.nsILocalFile); var process = Components.classes['@mozilla.org/process/util;1'] .getService(Components.interfaces.nsIProcess); file.initWithPath(path.replace(/\//g,'\\\\')); // file.launch(); process.init(file); process.run(false,[args],1); goQuitApplication(); }
Allerdings geschieht dadurch nach wie vor genau dasselbe wie schon vorher beschrieben:
TB wird geschlossen, wobei diesmal wie gewünscht, die Batch gestartet wird, allerdings nicht korrekt ausgeführt. Wer weiß, an welcher Stelle was eingefügt werden muss, dass die Batch zufriedenstellend gestartet wird?Schöne Grüße
Joni
Edit: Am besten folgt man nun cachys neu erschienen Beschreibung für Thunderbird
-
Hi Joni;
Deinem Post entnehme ich das sich Cashy nicht gemeldet hat....
Ich gehe mal davon aus, das dieses Quit Application dafür sorgt das Tb beendet wird, was das ausführen von weiterem Code verhindert (wie soll Tb etwas ausführen, wenn es beendet ist?).
In sofern schlage ich vor Du bastelst Dir eine Batch-Datei mit zwei Zeilen:
die eine enthält, das schließen des TB und
die zweite das ausführen von Cashy´s Batch.
Diese Batch läßt Du dann über Deinen `Knopf´ starten.Lieben Gruß
-
DerCrabbe: Also caschy konnte auch nicht weiterhelfen. Habe im Custom Buttons Forum mal mein Problem beschrieben, nur hat der mich falsch verstanden, oder ich versteh nicht, was er meint. In diesem Thema geht es genau darum, TB zu schließen und anschließend die Batch auszuführen.
Zu deinem Vorschlag: Kannst du mir sagen, wie die Befehlszeilen lauten müssten? Laut antwort von Custom Buttons müsste es so funktionieren, d.h. der Befehl müsste an die letzte Stelle, oder könnte es mit der Positionierung an einer anderen klappen?
Vielen Dank für dein Helfen
Schöne Grüße
Joni
edit: Es wird immerhin ein Ordner im gewählten Zielverzeichnis mit den beiden Dateien Installationsverzeichnis.txt und Profilpfad.txt erstellt. Warum fährt die Batch nicht fort, den Vorgang auszuführen (Immerhin wurde sie "angstoßen")? Und es muss auch möglich sein, Befehle mit geschlossenem TB auszuführen, denn z.B. Update Notifier oder auch Mr. Tech Local Install starten TB neu, obwohl es gechlossen ist. (Oder ist der Befehl zum Neustart schon vorher gegeben worden, als TB noch lief?)
-
Hallo Joni;
wie gesagt ich würde eine Batchdatei schreiben mit diesen beiden Zeilen:
tskill Thunderbird.exe /a
%Pfadzucashysdatei%Zu Custom Button:
Die Jungs im Forum wissen besser was wohin muss, denn ich bin kein Programmierer! und schon gar nicht bei Custom Button. Mein Wissen beruht auf Try-and-Error. :roll:Und noch was, ich würde die Datei von Toolman nehmen, da sind Close und Restart vom TB enthalten. (Damit will ich Cashys Datei keineswegs verurteilen.)
Gruß
-
Hallo Joni,
ich wollte mich zwar nicht einmischen, aber um die Sache mal zu einem hoffentlich gutem Ende zu führen, probiere mal folgendes...
- entweder den Pfad in dem die Batch liegt in die %Path% umgebungsvariable aufnehmen (über eigenschaften System Erweitert >Umgebungsvariablen >Path
- oder, wenn das schon ausreicht ein
set path=%path%;deinBatchverzeichnis;
als ersten Befehl in deine Batch - bei mir trägt er da den Pfad zwar ein aber ein Test zeigte keine Änderung. Evtl. steht dir setx zur Verfügung - damit soll es ohne Neustart gehen.
Da die Batch über den Button gestartet, nicht eine Referenz zum Batchverzeichnis besitzt, wird die 7zip.exe zum Komprimieren nicht gefunden. Ich denke mal, dass das der Grund ist.schöne Grüße
Toolman
-
Sorry, wenn ich jetzt erst antworte. Habe mich für eine (für mich zufriedenstellende) Lösung entschieden.
Man lade sich dieses Tool herunter: http://www.commandline.co.uk/cmdow/
Nun schreibt man eine Batch, welche im selben Verzeichnis wie eben erwähntes Programm liegt mit folgendem Inhalt:
CMDOW @ /HID
start /wait pfad/zu/thunderbird.exe
Hier den Pfad zur BatchMit dieser Batch startet man Thunderbird - und bei beenden des Vogels wird die Sicherungsbatch ausgeführt.
-
Ich habe nun alles oben beschriebene durchgeführt und komm trotzdem nicht weiter.
caschy: Ich wollte nur einen Button, mit dem ich bei Bedarf TB schließe und zusätzlich ein Backup anlege. Wenn ich das Tool richtig verstehe, dann muss TB auch zuerst damit geöffnet werden. Da ist mir dann das doppelt anklicken deiner Batch schon bequemer...:)ZitatDa die Batch über den Button gestartet, nicht eine Referenz zum Batchverzeichnis besitzt, wird die 7zip.exe zum Komprimieren nicht gefunden. Ich denke mal, dass das der Grund ist.
Daran könnte es liegen, auch wenn ich nicht verstehe, weshalb nicht. Was könnte man dagegen tun? Mit der Umgebungsvariablen find ich mich nicht zurecht, ist aber auch nicht schlimm. Man muss sich das Leben nicht zu bequem machen, also bleib ich beim manuellen Ausführen von der Batch.
Schöne Grüße
Joni
Die Hoffnung auf eine Lösung geb ich niemals auf!
-
Hallo Joni,
ZitatMit der Umgebungsvariablen find ich mich nicht zurecht,
du kannst ja mal auf meiner Webseite unter
http://www.agsm.de/thunderbird/tbbackup2.htm
gucken, das Bild zeigt zwar nicht die Path-Umgebungsvariable aber im zweiten Bild muss man nur etwas weiter runter scrollen um dahin zu kommen. Und: man muss Windows nach einer Änderung neu starten, damit das dann wirksam wird.schöne Grüße
Toolman
-