DC++ és a felhasználói profilok
A DC++ fejlesztői is belátták korábban, hogy jó dolog ha egy alkalmazást több mentett beállítással lehet használni, attól függően, hogy ki, mikor, hogyan akarja használni. Sok programban profilnak nevezik ezt a lehetőséget.
Látható, hogy a fejlesztők már tettek is a profilozás létrehozása érdekében bizonyos dolgokat. (Pl.: dcppboot.xml - ebben a fájlban tárolja a DC++, hogy melyik könyvtárba mentse a settings fájlokat)
Mivel én otthon aktivként, a munkahelyen router miatt pedig passzivként használom a programot, ezért jól jönne ha lehetne két külön profilom a DC++-hoz. Motivált továbbá Fleet cikke is, miszerint hamarosan a kedvenc hubok automatikus csatlakozása kikerül a programból.
Nos nézzük, hogyan lehet több beállítással (profillal) használni a DC++-t.
- Ha letöltjük a tömörített DC++ binárist, akkor két különböző könyvtárba ki tudjuk csomagolni, és nincs más dolgunk, mint a két programot külön-külön beállítani a két profilunknak megfelelően. Ügyeljünk arra, hogy egyszerre csak egy kliensünk futhat.
- A második lehetőség, hogy egy alkalommal telepítjük a programot, és használjuk a DC++ kezdetleges profil kezelését. Vagyis a kedvünk szerint alakítjuk a dcppboot.xml fájlt.
Az első dolog magáért beszél, azonban nekem nem túl szimpatikus, ezért a második lehetőséget vázolnám.
Először is nézzük meg, mi is van abban a dcppboot.xml-ben
<Boot> <!-- LocalMode runs DC++ in local mode, where all defaults are relative to the ConfigPath set below. This is useful when running DC++ off a USB stick or if you want to keep all in a single folder. The default is to run in LocalMode, but the installer installs a dcppboot.xml file that overrides the default. When LocalMode is disabled, ConfigPath is ignored. Set to 1 to enable, 0 to disable <LocalMode>1</LocalMode> --> <!-- ConfigPath specifies where settings, queue and other runtime data should be saved. Relative paths are relative to the DC++ executable. You may use the following variables, which are interpreted on a per-user basis: %[APPDATA] - Application data, typically c:\documents and settings\\Application Data\ %[PERSONAL] - My documents All % variables from strftime with the current time: http://msdn.microsoft.com/library/en-us/vclib/html/_crt_strftime.2c_.wcsftime.asp <ConfigPath>.\</ConfigPath> --> </Boot>
Ebből látható, hogy két érdekes dolog van az xml-ben. Az első a LocalMode, ami azt határozza meg, hogy használja-e a DC++ a ConfigPath-ot vagy sem. A ConfigPath-ban pedig a beállítások mentésének könyvtára található.
Sajnos a DC++ nem rendelkezik parancssori kapcsolóval (mint a Firefox), így nem tudjuk parancssorban megadni, hogy melyik dcppboot.xml-t használjuk, vagy ami még jobb lenne, ha meg tudnánk adni, melyik könyvtárból szedje a program a beállításokat.
Szóval készítettem két közel azonos tartalmú cmd fájlt a DC++-om könyvtárába, ami átírja a dcppboot.xml-t úgy, hogy mindig a kívánt profillal induljon el a program.
set LOCAL=1 set PROFILE=%%[PERSONAL]\BCDC++\Chat-only\ @echo off rem Delete dcppboot.xml del dcppboot.xml rem Create dcppboot.xml with selected "profile" echo ^<Boot^> >> dcppboot.xml echo ^<LocalMode^>%LOCAL%^</LocalMode^> >> dcppboot.xml echo ^<ConfigPath^>%PROFILE%^</ConfigPath^> >> dcppboot.xml echo ^</Boot^> >> dcppboot.xml rem Start DC++ start DCPlusPlus.exe
A cmd fájl elején található két változó. Pontosan ez a kettő változó van a dcppboot.xml-ben is. Tetszés szerint módosítható a PROFILE változó értéke. A LOCAL-t ne változtassuk, mert ha 0-t adunk neki, nem fogja a DC++ figyelembe venni a PROFILE beállítását.
Ha elkészültünk a fájlokkal, akkor a cmd-k inditásával tudjuk inditani a DC++-t. Parancsikont hozhatunk létre a fájlokhoz, ikont rakhatunk hozzájuk stb.
- CyB's blog
- Log in or register to post comments
- 1268 reads

Comments
Eredetileg a dcppboot.xml azzal a céllal született, hogy egy gépen több felhasználó is tudja használni ugyanazt a telepített dc-t (pl úgy, hogy az xml fájlok bekerülnek a profilkönyvtárba). Továbbá az is a cél volt, hogy Windows Vista alatt ne legyen probléma a virtualizált program files könyvtár miatt.
Amúgy érdekes, így, ahogy te mondod, valóban több "profil" kialakítható, jó ötlet lehet :)
Elvileg működik (vagyis gyakorlatilag is) mert én már igy használom :)