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