PuTTY + Aero

Jak wiadomo Vista i jej pochodne mają syf zwany Aero Glass. Jest tak nieużyteczny, że postanowiłem opublikować poprawkę, która zamieni cały terminal PuTTY w Aero (widoczne na poniższym screenshocie, także o tym pisał Coffeeredev)

PuTTY z Aero
Taki efekt można otrzymać poprzez modyfikację źródeł PuTTy'iego.

  1. Otwieramy plik WINDOWS\window.c
  2. Odnajdujemy poniższy fragment:
     
    #include <mmsystem.h>
     
    Pod nim piszemy:
    #include <dwmapi.h>
    static void extend_glass_frame(HWND);
  3. Odnajdujemy:
    case WM_CREATE:
    I zamieniamy na:
          case WM_CREATE:
          case WM_DWMCOMPOSITIONCHANGED:
            extend_glass_frame(hwnd);
  4. Następnie na samym końcu pliku deklarujemy funkcję extend_glass_frame:
    static void extend_glass_frame(HWND hwnd)
    {
        BOOL bEnabled = FALSE;
        HRESULT (WINAPI *pDwmIsCompositionEnabled)(BOOL*) = NULL;
        HRESULT (WINAPI *pDwmExtendFrameIntoClientArea)(HWND, MARGINS*) = NULL;
        HMODULE hmDwmapi = LoadLibrary("dwmapi.dll");
        if (hmDwmapi) {
    	pDwmIsCompositionEnabled =
    	    GetProcAddress(hmDwmapi, "DwmIsCompositionEnabled");
    	pDwmExtendFrameIntoClientArea =
    	    GetProcAddress(hmDwmapi, "DwmExtendFrameIntoClientArea");
        }
        if (pDwmIsCompositionEnabled) {
    	pDwmIsCompositionEnabled(&bEnabled);
        }
        if (bEnabled && pDwmExtendFrameIntoClientArea) {
    	MARGINS margins = {-1, 0, 0, 0};
    	pDwmExtendFrameIntoClientArea(hwnd, &margins);
        }
        FreeLibrary(hmDwmapi);
    }

Viola! Teraz kompilujemy i cieszymy się z naszego PuTTY z obsługą Aero Glass ;)
Dla leniwych: skompilowana wersja PuTTY+ z poprawką dla Aero


Komentarze do notki “PuTTY + Aero”

  1. pecet 

    diff where?

  2. kubz 

    Z jakiejś japońskiej strony ;p

  3. pecet 

    also
    http://www.google.pl/search?q=extend_glass_frame&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:unofficial&client=firefox-a
    lolwut

  4. Refresh 

    Crashuje się pod Win7 podczas próby przewijania suwakiem zawartości okna.

  5. kubz 

    Hm... skompilowałem "czyste" PuTTY i podczas przewijania się nic nie wywaliło. Tak więc to wina patcha.

  6. kubz 

    Wstawiłem trochę inną wersję - tzn. czyste PuTTY + poprawka dla Aero + podkreślanie linków (bez minimalizowania do tray'a) - ta wersja się już nie wywala podczas przesuwania suwaka

  7. Ktos 

    Przy jasnym stylu Aero nic nie widać. Albo ja nie umiem skonfigurować sobie kolorów i ciemnego dla tekstu ustawić. Bo czarny się robi przezroczysty.

    Efekt zwłaszcza na niektórych matrycach LCD o słabych kątach jest jeszcze bardziej widoczny.

  8. kubz 

    Niestety, taka jest wada tego rozwiązania.

    PS. Ktos, coś ten obrazek nie chce się załadować (ping powiada "Limit czasu wygaśnięcia (TTL) upłynął podczas tranzytu." - z shella tak samo)

  9. Ktos 

    Ten link zadziała raczej :-)

    Ale w zasadzie to dziwne, bo wszystko powinno działać już teraz. Używasz może TPNET? Bo właśnie doszedłem, że z ich sieci jeszcze nie są widoczne zmiany moich DNS-ów (w tym nie ma jednej zmiany dokonanej jakieś pół roku temu).

  10. kubz 

    Nie, mój ISP to Multimedia, a serwer ma łącze z TASK-u. Także z shella na Węgrzech się nie mogę połączyć ;o
    (wszędzie wskazuje na ip 86.63.128.138, choć jak spinguję sam ip to odpowiada na pingi)

  11. Ktos 

    DNS-y się nie rozeszły. Ale i tak jest coś dziwnego, bo 86.63.128.138 należy do mojego ISP, ale nie ma związku z domeną tcp80.info (która kiedyś wskazywała na 89.167.69.85, a teraz na 91.203.135.153), leży za to po drodze do serwera. Ruch się gdzieś tam pewnie zatrzymuje :-)

  12. wojcieh 

    Jak wiadomo Vista i jej pochodne mają syf zwany Aero Glass. Jest tak nieużyteczny,

    Ja przepraszam bardzo ale nazywanie aero syfem jest troche niefajne. Jak ci sie tak nie podoba zmien thema na classic, jak ci sie Windows nie podoba zainstaluj sobie Linuxa.

  13. kubz 

    Oj tam, to tylko moja opinia ;)

  14. AtoMan 

    fajnie wygląda zmaksymalizowane.

    natomiast na fullscreenie (alt+enter) przezroczystość jest stuprocentowa, zabawny efekt ;-)

  15. IC0ffeeCup 

    static.int.pl/~malphas/puttyaero/ tu mozesz sciagnac moje. Nie ma tego juz na tamtym serwerze bo home zniknal ;-) nie chce mi sie jakos specjalnie diffa robic bo juz nie korzystam z win. Pozdrawiam. ps. Co do tego putty z aero to najlepiej wylaczyc scrollbar, lepiej wyglada.

Zostaw odpowiedź