Linux / C-Programm: Mit welchem Programm einen bestimmten Dateityp öffnen?
-
Hallo zusammen,
ich baue mir gerade einen File-Explorer, so in der Art des Nautilus.
Mit der Funktion stat( <dateiname> ) habe ich die Struktur stat gefüllt und weiß durch Auswertung des Felds st_mode, dass es sich bei <dateiname> um eine reguläre Datei handelt.
Nun soll sich nach Doppelclick auf diesen Dateinamen die richtige Anwendung öffnen, also z.B. soll sich GEDIT öffnen, wenn es sich um eine .txt-Datei handelt. Wenn es eine .xcf-Datei ist, soll GIMP aufgehen, u.s.w.
Meine Frage: muss ich die Verbindung von Datei-Endung und Default-Anwendung im Programm fest verdrahten, oder kann ich diese Verknüpfung "irgendwie" systemseitig abgreifen? Wenn ja: wo und wie?Vielen Dank für eure Hilfe
testalucida
-
was hat das denn mit ANSI C zu tun?
Es gibt keine globale Standarddatenbank mit der Zuordnung "Mime-Type <-> Anwendung", da musst du dir selber basteln. Du könntest aber gconf verwenden, was aber ein minimales gnome voraussetzen würde.
-
oooh, unverzeihlich, falsches Forum.
Danke jedenfalls für deine Antwort, ich werd mal in die Richtung gconf weiterforschen.
-
gconf braucht man nicht. Der Programmaufruf muss nur vom Benutzer einstellbar sein. Zur Not einfach mit einer Umgebungsvariable.
-
für sowas kann man sich auch die ersten 2-x byte der datei anschauen, da finden sich auch gelegentlich infos, die sind auch sicherer als der datei name...
lg lolo
-
Einfach xdg-open aufrufen.
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.