gnome i HOME_ETC
Tomasz Kłoczko
kloczek w rudy.mif.pg.gda.pl
Śro, 8 Maj 2002, 12:15:11 CEST
Właśnia przejrzałem libgnome pod kontrem dostosowania aplikacji GNOME do
HOME_ETC. Zmiana jest w gnome-libs-HOME_ETC.patch i wydaje dość prosta:
-#define gnome_util_home_file(afile) (g_strconcat(gnome_util_user_home(), "/.gnome/", (afile), NULL))
+#define gnome_util_home_file(afile) (g_strconcat(gnome_util_user_home(), getenv("CONFIG_DIR") ? g_strconcat( "/", getenv("CONFIG_DIR"), "/" ): "/.gnome/", (afile), NULL))
choć pomyliłem się co do tego że jest już zmienna środowiska która zawiera
ów prefix na takie pliki (czyli w tym wypadku "/.gnome/").
Przeglądajac kiedyś źródła libgnome nadziałem się na informacje o takiej
zmiennej ale jest omna uzywana jako nazwa bazowa katalogu w zasobach
systemowych i chodziło tu o zmienną $GNOMEDIR .. mniejsza o to
(wiedziałem że coś dzwoni tylko to nie był ten dzwonek :).
Może możnaby to jeszcze niegco uprościć żeby nie było w razie czego
podwujnego wołania getenv() (za ciepło jest dzisiaj i jakos nie chce mi
się dzisja mysłeć :).
Wydaje mi się niemniej że specyfikacja dla HOME_ETC powionna być nieco
zmieniona. Zmienna powinna zawierać raczje także dopełniajace z obu stron
znaki "/" co ułatwiłoby chyba nieco dostosowywanie apliakcji. Przykładowo
powyższa zmiana mogłaby wtedy wyglądać tak:
-#define gnome_util_home_file(afile) (g_strconcat(gnome_util_user_home(), "/.gnome/", (afile), NULL))
+#define gnome_util_home_file(afile) (g_strconcat(gnome_util_user_home(), getenv("CONFIG_DIR") ?: "/.gnome/", (afile), NULL))
Jeżli już to taka zmiana podejścia powinna mieć miejsce raczje teraz niż
później.
koments ?
Patcha jeszcze nie testowałem (zmodyfikowane gnome-libs włąsnie mi się
buduje) ale jak go potestuję to co najwyżej będzie trzeba dbać w reszcie
aplikacji GNOME żeby konsekwentnie było używane gnome_util_home_file()
przy sięganiu po pliki w katalogu domowym.
Przypuszczam że w aplikacjach KDE zapewne też istnieje taki pojedynczy
punkt w którym można będzie wykonać analogiczną zmianę.
W ten sposób dwoma drobnymi zmianami będzie można wykonać dostosowanie
sporej ilosci aplikacji.
Jeżeli to zadziała to będzie można spróbować przerobic domyślny plik
konfiguracyjny dla pam_env żeby znalazło się tam ustawienie zmiennej
CONFIG_DIR.
kloczek
--
-----------------------------------------------------------
*Ludzie nie mają problemów, tylko sobie sami je stwarzają*
-----------------------------------------------------------
Tomasz Kłoczko, sys adm @zie.pg.gda.pl|*e-mail: kloczek w rudy.mif.pg.gda.pl*
Więcej informacji o liście dyskusyjnej pld-devel-pl