ThunderWarn

Zainspirowany wpisem Gethioxa pomyślałem o napisaniu monitora nastroju Zeusa pod Windows. Założenia są podobne – pobieranie mapki z burzami oraz jej wyświetlenie na pulpicie. I tutaj jest pierwszy poważny problem – Gethiox rysuje mapę na wyświetlanej tapecie. Chciałem osiągnąć podobny efekt ale bez bazgrania po tapecie – póki co nie mażę po niej ale podobnego efektu nie uzyskałem –  wszystko jest wyświetlane w okienku.

Integracją z pulpitem bym tego nie nazwał…

Myślałem o użyciu ActiveDesktop ale to jest już od dawna niewspierane. Gadżety pulpitu też nie wyglądają na technologię której użycie nie jest równoważne nekromancji. Póki co jest to okienko WPF. Właśnie WPF – nie wiem co mam myśleć o tym wynalazku – niby już dobry czas temu czytałem że jest to zalecana technologia tworzenia UI, w przeciwieństwie do niezalecanego WindowsForms – ale nie mogę oprzeć się wrażeniu że sam MS nie jest za bardzo tym zainteresowany i nie bardzo wiadomo co tym wynalazkiem zrobić (przenieść do Silverlight który miał być rewolucją a potem go zabić, a XAML przepchać dalej do Metro (czy tam Modern UI jak to się teraz nazywa)). Co do samego WPF – większość czasu który spędziłem do tej pory polegało na rozgryzaniu o co w tym bałaganie chodzi. W moim odczuciu jest to dość dziwna technologia, gdzie zrobienie prostych rzeczy jest zdecydowanie zbyt skomplikowane, całość jest przekombinowana a wczytanie obrazka do pamięci (do pamięci, nie trzymając blokady na pliku) jest co najmniej nietrywialne. O banalnym przeniesieniu danych z System.Drawing.Bitmap z GDI+ do tego cuda nie wspominając.

W porównaniu do oryginalnego skryptu  kod jest wykładniczo bardziej skomplikowany. Jest to spowodowane po pierwsze technologią a pod drugie docelową większą funkcjonalnością. W założeniu będą dostępne dodatkowe źródła danych poprzez wtyczki, ostrzeganie przez zbliżająca się burzą i automatyczną ustalanie lokalizacji. Przydało by się trochę piorunów do testów. W chwili obecnej odpowiada w zasadzie inspiracji (mając ~10 razy większą objętość, pomijając kod wygenerowany przez VS). Jest to fajna okazja żeby pobawić się odważniej gałęziami Gita oraz innymi rzeczami. Bardzo chciałem wykorzystać async/await ale na moim Win8 RP, Visual w wersji RTM nie ma zamiaru działać – zamiast tego wykorzystałem więc TPL do obsługi asynchroniczności (nie bez problemów). Bajerami z nowego dotnetu pobawię się kiedy w końcu nowy system będzie miał premierę.

Caly kod dostępny jest na GitHub – https://github.com/Xevaquor/ThunderWarn

Reklamy

One comment

  1. Koncepcja z powiadamianiem jest interesująca. Czasem zdarzy się, że i ja na tych swoich wirtualnych pulpitach rzadko oglądam tapetę (w zasadzie to po to one są, to takie niezależne „szablony” rozkładu okien). Pomysł z automatyczną detekcją geolokalizacji też jest ciekawy oraz możliwy, na pewno taka funkcjonalność przyda się w rozpropagowaniu samego programu i będzie miłym dodatkiem dla użytkowników urządzeń mobilnych.
    Sam bym natomiast wolał, by mapka nie była spajana z tapetą, gdyż pozwoliłoby to zaoszczędzić na czasie procesora, ale po prostu obecnie również nie potrafię tego zrealizować.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Zdjęcie na Google+

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s