Launch Services / App auf beliebiges File in Subdirectory

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Launch Services / App auf beliebiges File in Subdirectory

    ich knoble seit Tagen an einem sehr kniffligen Problem.

    Ich möchte erreichen dass openFile: (oder Doppelclick oder Open Recent... oder open auf der Kommandozeile) in einer Document-Based-Application
    einen eigenen Dokumenttyp öffnet, und zwar wenn das File irgendwo in einem Unterbaum eines Verzeichnisses liegt. Es soll auch jedes der Unterdokumente
    ein eigenes NSDocument öffnen so dass man nicht die Wurzel des Baums hernehmen kann...

    Konkret: es geht darum dass ich die .git/refs/heads bearbeiten möchte. Das sind Textdateien die den Branch-Namen enthalten...

    Also z.B. sollte

    Quellcode

    1. open /Users/irgendwer/repo.git/.git/refs/heads/master
    oder auch

    Quellcode

    1. open /Users/irgendwer/repo.git/.git/refs/heads/some/topic
    genau meine App öffnen und ein neues NSDocument anlegen. Und nicht TextEdit weil es eine Textdatei ist. Es soll aber auch nicht auf beliebige Textdateien
    anwendbar sein sondern nur welche unter .../.git/refs/heads.

    Läßt sich das überhaupt lösen?
  • Also ich habe jetzt ein halbwegs brauchbare Lösung (braucht nur 3 Zeilen Code):
    * nach jedem erfolgreichen Öffnen (oder Schreiben) der Datei mit NSFileManager changeFileAttribute: einen NSFileHFSTypeCode setzen
    * diesen NSFileHFSTypeCode in die Info.plist unter CFBundleTypeOSTypes eintragen - dann geht Doppelclick oder open auf der Kommandozeile und auch OpenRecent findet meine App wieder

    Das geht zwar nur auf HFS und so lange bis Apple HFS abschafft. Und es geht erst beim zweiten Aufruf.
    Mit beidem kann ich aber leben...

    Beim ersten Aufruf kann ich ja "open -a meineApp /Users/irgendwer/repo.git/.git/refs/heads/some/topic" machen.
    Und ich brauche eher HFS als Siri auf dem Desktop... Ich will ja arbeiten und nicht quatschen :)
  • hns schrieb:

    Das geht zwar nur auf HFS und so lange bis Apple HFS abschafft. Und es geht erst beim zweiten Aufruf.
    Mit beidem kann ich aber leben...
    hast du versucht obs mit dem neuen APFS nicht mehr funktioniert? Resource Forks und co funktionieren da ja auch weiterhin.


    hns schrieb:

    Beim ersten Aufruf kann ich ja "open -a meineApp /Users/irgendwer/repo.git/.git/refs/heads/some/topic" machen.
    schreib dir doch ein commandline-tool welches den type-code für all diese dateien nach einem pull automatisch setzt.
  • gritsch schrieb:

    hns schrieb:

    Das geht zwar nur auf HFS und so lange bis Apple HFS abschafft. Und es geht erst beim zweiten Aufruf.
    Mit beidem kann ich aber leben...
    hast du versucht obs mit dem neuen APFS nicht mehr funktioniert? Resource Forks und co funktionieren da ja auch weiterhin.
    Ah gut zu wissen. Dann müßte das Prinzip auch noch bei APFS gehen. Testen kann ich das aber nicht.
    Ich habe nämlich noch keinerlei Bedarf für Siri auf dem Desktop verspürt. Und auch alle anderen neuen Features haben mich nicht so begeistert, dass ich das überhaupt zu installieren versucht habe. Auf einigen Rechnern, die bei mir im täglichen Betrieb sind, läuft das dann sowieso nicht mehr. Für mich ist also El Capitan erst mal gut genug für alles...

    hns schrieb:

    Beim ersten Aufruf kann ich ja "open -a meineApp /Users/irgendwer/repo.git/.git/refs/heads/some/topic" machen.
    schreib dir doch ein commandline-tool welches den type-code für all diese dateien nach einem pull automatisch setzt.
    Gute Idee! Danke. Geht mit "/usr/bin/SetFile"