Situation: Ich habe ein Programm "Antony" (https://github.com/RausH/Antony) in Pyton/PyQt4 geschrieben. Das Programm speichert in einer sqlite Datei Metadaten für Bilder, die es in ein Verzeichnis kopiert, ab. Heute wollte ich dann aus Gewohnheit im Dateimanager (KDE bedingt: Dolphin) einen Rechtsklick auf eine solche Datenbank machen um dann im Kontextmenü "Öffnen mit" auszuwählen. Als Ziel habe ich dann Antony.desktop angegeben. Üblicherweise kann ich mit Antony.desktop das Programm einwandfrei starten, nur heute mit "Öffnen mit" ging nichts. Nicht weiter verwunderlich, habe ich doch in Antony keinen Code, der so etwas regeln könnte.
Versuch einer Lösung: Im ersten Ansatz ging ich davon aus, dass "Öffnen mit" das Programm startet und dann die Datei als Argument übergibt. Wenn ich den Dateinamen einmal habe, sollte alles weitere nicht so schwierig sein. Ich habe daher Antony etwas erweitert, nur um zu sehen, was da wie übergeben wird.
Code: Alles auswählen
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
for arg in sys.argv:
print(arg)
Frage: Habe ich "Öffnen mit" nicht verstanden? bzw. wie ist der Mechanismus von "Öffnen mit"? Kann es an meiner *.desktop Datei liegen? Was muss ich tun, damit "Öffnen mit" mit einem Python Programm funktioniert? Und weil ich will, dass das auch in Windows funktioniert, gibts da große Unterschiede aus der Sicht meines Programms?
Hier noch meine *.desktop Datei:
Code: Alles auswählen
[Desktop Entry]
Comment[de]=
Comment=
Exec=python2 /home/user/Antony_for_git/Antony.py
GenericName[de]=Datenbank zum Archivieren von Fotos
GenericName=Datenbank zum Archivieren von Fotos
Icon=/home/user/Antony_for_git/icon.png
MimeType=
Name[de]=Fotoarchiv - Antony Edge
Name=Fotoarchiv - Antony Edge
Path=/home/user/Antony_for_git
StartupNotify=true
Terminal=true
TerminalOptions=
Type=Application
Vielen Dank.
mit freundlichen Grüßen
Reinhard