Da es sich bei Inkscape um eine FOSS- Software handelt, können wir dem Programm einfach eine Option hinzufügen, mit der Sie den Namen einer anderen Konfigurationsdatei wie folgt übergeben können:
=== geänderte Datei 'src / inkscape.cpp'
--- src / inkscape.cpp 28.09.2013 19:20:27 +0000
+++ src / inkscape.cpp 2013-11-02 04:07:45 +0000
@@ -1443,6 +1443,12 @@
prefdir = g_strdup (val);
}}
+ // Akzeptiere auch eine Überschreibung über die Kommandozeile
+ extern gchar * sp_preferences;
+ if (sp_preferences) {
+ prefdir = sp_preferences;
+}
+
#ifdef HAS_SHGetSpecialFolderLocation
// bevorzuge c: \ Dokumente und Einstellungen \ Benutzername \ Anwendungsdaten \ gegenüber
// c: \ Dokumente und Einstellungen \ Benutzername \;
=== geänderte Datei 'src / main.cpp'
--- src / main.cpp 24.09.2013 18:31:44 +0000
+++ src / main.cpp 2013-11-02 04:05:30 +0000
@ -179,6 +179,7 @@
SP_ARG_VERB_LIST,
SP_ARG_VERB,
SP_ARG_SELECT,
+ SP_ARG_PREFERENCES,
SP_ARG_LAST
};
@@ -228,6 +229,7 @@
statisch gboolean sp_query_all = FALSE;
statisch gchar * sp_query_id = NULL;
statisch gboolean sp_shell = FALSE;
+ gchar * sp_preferences = NULL;
statisch gboolean sp_vacuum_defs = FALSE;
#ifdef WITH_DBUS
statisch gboolean sp_dbus_listen = FALSE;
-520,6 +522,11 @@
N _ ("Startet Inkscape im interaktiven Shell-Modus."),
NULL},
+ {"Einstellungen", 0,
+ POPT_ARG_STRING, & sp_preferences, SP_ARG_PREFERENCES,
+ N _ ("Geben Sie eine andere Datei" settings.xml "an."),
+ NULL},
+
POPT_AUTOHELP POPT_TABLEEND
};
Ich würde aus zwei Gründen nicht erwarten, dass die Inkscape-Entwickler diesen Patch akzeptieren. Erstens haben sie bereits eine alternative Funktion mit dem gleichen Effekt. Aber zweitens würde ich nicht erwarten, dass ihnen die Art und Weise gefällt, wie ich sp_preferences
programmglobal statt modulglobal gemacht habe. Diese Art von Code eignet sich für eine persönliche Funktion, die Sie jedoch nicht als Teil der Hauptsoftware verwenden möchten.
Der obige Patch mag für einen Nicht-Programmierer oder einen, der nicht mit C ++ und Patch-Dateien vertraut ist, ziemlich hässlich aussehen , aber glauben Sie mir, dies ist ungefähr so einfach wie Änderungen an der Software. Es sind nur 10 Zeilen neuen Codes.
(Wenn Sie selbst zählen und 13 neue Zeilen erstellen, sind drei davon leer oder haben nur eine geschweifte Klammer, sodass Sie diese nicht in die SLOC- Zählung einbeziehen .)