[ Miért nem témázhatók a konzolablakok? ]

Miért nem témázhatók a konzolablakok?

  • 2008-01-19 15:44
Ha Windows XP operációs rendszert használunk, felt?nhet, hogy a parancssori ablakok nem követik a felhasználói felület grafikus témáját, ehelyett a klasszikus "kocka" kezel?szervek jelennek meg.

A parancssor - csakúgy, mint minden konzolablak - a Client/Server Runtime System (CSRSS) folyamatban fut, mely a Windows ablakaiban kiadott utasításokat a megfelel? API-khoz irányítja, továbbá ez a folyamat felel?s a programszálak létrehozásáért és törléséért. De pontosan miért nem témázható a csrss.exe?

A CSRSS tulajdonképpen a Win32 alrendszer felhasználó módú komponense, tehát kritikus rendszerszolgáltatás, így a legapróbb hiba - például egy grafikus témában - a Windows összeomlásához vezethetne. A CSRSS-t fejleszt? mérnökök ezért úgy döntöttek, hogy a folyamat gyárilag olyan kompatibilitási beállításokkal fut, mely letiltja a grafikus témák használatát - ezt a beállítást egyébként bármelyik egyéb alkalmazásra érvényesíthetjük a programfájl tulajdonságlapján kereszül.


[ Kép ]


A szemfülesek most rögtön rávághatnák, hogy a Vistában miért is van üveges Aero-kerete a parancssornak? A válasz egyszer?: a Vista felhasználói felületének megjelenítését egy újratervezett ablakkezel? m?ködteti, mely lényegében csak az asztal egy renderelt mását mutatja a felhasználónak, mindezt 3D gyorsítással (Direct3D) megspékelve.

Az új grafikus alrendszerben az alkalmazások nem közvetlenül a képerny?pufferbe küldik az adatokat, hanem a videomemória egy elszeparált területére, ahonnan a Direct3D motor összeállít egy képet, és végül ez jelenik meg a monitoron. Mindez lehet?vé teszi az olyan grafikus effektusok alkalmazását a Windows asztalon, mint a Flip 3D ablakváltó, a tálca-miniat?rök, vagy ablakok áttetsz?sége és egyéb animációk. Ezzel együtt azonban lehet?ség nyílik a konzolablakok témázására is, bár ez csak az ablak keretére terjed ki. Ha megfigyeljük az üvegkereten belül megjelen? (valódi) parancssor Vista alatt is a klasszikus témát használja, elég csak rápillantanunk a gördít?sávra. Továbbmenve, ha leállítjuk a Desktop Window Manager szolgáltatást, még az ablak kerete is visszavált a régi klasszikus megjelenésre, ahogy a Windows XP-ben megszokhattuk.


[ Kép ]


Az új ablakkezel? beépítése azonban - minden el?nye mellett - eddig nem létez? problémákat is felvetett, például megsz?nt a parancssor azon kényelmes szolgáltatása, hogy az Intéz?b?l fájlokat lehetett belehúzni. Ez a jelenség a különböz? folyamatok közti kommunikációs csatornák biztonsági szigorításainak tudható be. Mivel a CSRSS továbbra is rendszerfolyamatként fut, az alacsonyabb integritási szinten m?köd? Explorer képtelen bármiféle kommunikációra (beleértve az OLE drag&drop m?veletet is) a parancssorral, egész egyszer?en nincs jogosultsága hozzá. Ezzel egyébként bármilyen rendszergazdaként indított alkalmazásnál találkozhatunk, ha például emelt jogosultsági szinten futtatunk egy Jegyzettömböt, az asztalról vagy az Intéz?b?l nem tudunk fájlt húzni az ablakba.
Én sokáig kerestem olyan cmd féleség után, ami úgy néz ki, mint egy quake konzol :D
tilde-re lenyílik fentr?l, animálva, kicsit átlátszó, stb-stb.
Találtam is, XP-n futik, csak az exe-je eszik vagy 4mega ramot (sztem sok). Linux alá (illetve MacOS alá) többet is találtam, de win alá...
Kéne írni egy sajátot :]

2008-01-20 19:34
Trb: viszont a copy-paste m?ködik, mivel a paste parancsot már az emelt szint? Commander-ben adod ki.
ááá.. eddig nem realizáltam, miért is nem tudok a total commanderbe dropolni filet... de így már világos..
Nekem 1 kérdésem lenne van é StyleVista nevü progi mint StyleXP és nem Stardock-os azt utálom

Mert nagyon idegesit hogy az aero-t nemtudom a fehér háterér?l átállitani

2008-01-19 20:53
Ez már csak ilyen szavam járása marad. Javítottam. :-)
Tokjo kis iras (mint ahogy az elozo is!), de az ismeros bug aze megmaradt:

"...adminisztrátori jogkörben..."

:D
A WindowBlinds más technológiát használ, mint az XP témázó megoldása. Sajnos teljes verziót én sem láttam m?ködés közben. A Microsoft, mivel a témák nagyban felel?sek a rendszer stabilitásáért csak a maga által digitális aláírással ellátott témákat engedi használni. Az a bizonyos dll felel?s a témák m?ködtetéséért és ellen?rzi azok digitális aláírását. A StyleXP szabványos Windows-os témákat használ csak egy csellel a memóriában módosít a dll fizikai módosítása helyett. Így le tudja cserélni az eredeti témákat küls? a Microsoft által alá nem írt témákra.
http://www.stardock.com/products/windowblinds/wb4/new-1.jpg
Érdekes, hogy itt is hasonló megoldást használhattak mint a MS programozók a Vistánál, nézd meg a ScrollBart.

2008-01-19 16:31
Én csak az ingyenes próbaverziót tudtam kipróbálni, az nem témázza a parancssort, de ha valakinek megvan a teljes változat, tolhatna egy képet. A leírásában van egy olyan, hogy "skin non theme-aware applications", bár kétlem, hogy ez a parancssorra is (legalábbis XP-n) vonatkozna.
Nagyon helyes, aki konzolt használ azt nem fogja zavarni a klasszikus téma. A stabilitás ennyit szvsz megér.
Viszont hogy van az, hogy a WindowBlinds elvileg témázhatja a konzol ablakot xp alatt? Állítólag nem írnak felül fileokat (volt egy .dll amit ha lecseréltünk StyleXP skinek natívan futottak) és a Microsofttal is van szerz?désük(ha jól tudom).