niedziela, 20 grudnia 2009

Przeźroczysty pasek zadań na WinXP

Lubie jak chyba każdy upiększać swój system, a że jeszcze lubię programować to jak mogę coś zrobić sam to nie korzystam z programów innych. Gdy wpiszemy "przezroczysty pasek zadań" w google wyświetli się nam wiele stron opisujących jak to zrobić. By stworzyć sobie przeźroczysty pasek zadań możemy użyć wielu programów np. Style XP albo TranspApps, ja z nich nie korzystam bo nigdy nie wiem co one mi pakują do komputera czy jak je odinstaluje nie zostawia jakiś śmieci, albo czy nie będą zbytnio spowalniać mojego systemu. Sposób który ja opiszę polega na napisaniu programu który to za nas zrobi (jeśli cię to nie interesuje w paczce z kodem jest tez skompilowany programik). Materiał jaki powinniśmy znać by to wykonać to jakikolwiek język programowania np. C#, Assembler, Basic, Dephi, C albo C++ (ja będę posługiwał się C++) i podstawy WinApi.

Więc zabierajmy się do rzeczy, jak to zrobić? Z pomocą przychodzą nam 4 funkcje:
I co nam one dają? Wystarczy zauważyć, że pasek zadań to zwykłe okienko do którego mamy dostęp, znaleźć jego nazwę, zmienić atrybuty i ustawić przeźroczystość. Do znalezienia nazwy paska zadań posłużyłem się malutkim niewymagającym instalacji programikiem "Spy & Capture Utility" (raczej nie znajdziecie w google), ale ty możesz posłużyć się jakimś innym programikiem.
Nazwa okna paska zadań to "", a jego klasa to "Shell_TrayWnd" i to w zupełnosci wystarczy by uzyskać uchwyt paska zadań za pomocą funkcji FindWindow. Kolejnym krokiem jest dodanie do paska zadań atrybutu WS_EX_LAYERED do tego posłużymy się funkcjami SetWindowLong i GetWindowLong, najpierw pobieramy atrybuty paska, dodajemy do nich atrybut przeźroczystości i zapisujemy z powrotem do okna. Następnie za pomocą funkcji SetLayeredWindowAttributes ustawiamy poziom przeźroczystości i zadanie wykonane.

Za pomocą tych kilku kroków załóżmy, że mamy już napisany i skompilowany programik i teraz kolejna sprawa bo trzeba go zawsze uruchamiać bo po zresetowaniu komputera pasek nie pamięta swoich poprzednich ustawień, aby to zrobić po prostu najlepiej dodać skrót do niego do autostartu i gotowe.

Ja sobie napisałem taki programik można go pobrać tutaj tam jest też skompilowane i są wersje kodu programu dla kompilatora microsoft'u i gnu.

Programik ten możemy uruchomić na 2 sposoby:
  1. Po prostu klikamy na niego 2 razy wyświetla się informacja wpisujemy dane i program ustawia nam przeźroczystość.
  2. Uruchamiamy go z 1 parametrem: liczbą od 0-255 oznaczającą poziom przezroczystości.
Aby dodać programik do autostartu wklejamy go np. do Program Files, robimy sobie do niego skró,t który potem przenosimy do menu start i dalej autostart. Ten skrót powinien wyglądać tak:

gdzie to 200 to jest właśnie ten parametr po dodaniu tego skrótu do autostartu automatycznie za każdym uruchomieniem systemu będziemy mieli przeźroczysty pasek zadań.

Poniżej przykład w praktyce z parametrem przeźroczystości 150:


sobota, 19 grudnia 2009

Tworzenie bootowalnego pendrive w UNetbootin - Windows

W tym poście chciałbym pokazać, jak utworzyć bootowalnego pendrive'a z Linuksem w systemie Windows. Umiejętność ta przydatna jest, możemy dzięki temu zaoszczędzić płytki. Nie będziemy musieli wypalać płyt z nowymi wersjami Linuksów. Będziemy tworzyć bootowalne pendrive'y. Wskazówki testowałem na Windows XP i z tego systemu pochodzą screeny.

Najpier formatujemy naszego pendrive'a. Wchodzimy w Mój Komputer i klikamy prawym przyciskiem na ikonę naszego napędu. Z menu kontekstowego wybieramy Formatuj...

W wyświetlonym oknie ustawiamy system plików FAT32, domyślny rozmiar alokacji i dowolną etykietę. Zaznaczamy też Szybkie formatowanie.

Klikamy na Rozpocznij. Potwierdzamy chęć sformatowania. Po chwili otrzymamy komunikat o zakończeniu formatowania. Możemy zamknąć okno i przejść dalej.

Później musimy ściągnąć ze strony http://unetbootin.sourceforge.net/ program do tworzenia bootowalnego nośnika. Dostępna jest także wersja na Linuksa, ale o tym nie teraz. Po pobraniu pliku klikamy na niego dwukrotnie, aby uruchomić porogram. Ukaże się nam takie oto okno:

Mamy do wyboru trzy opcje.

  • Dystrybucja - zaznaczamy, gdy nie mamy jeszcze obrazu płyty z dystrybucję. Z rozwijalnych list wybieramy dystrybucję oraz jej wersję. Program sam pobierze odpowieni plik.
  • Obraz dysku - zaznaczamy, kiedy mamy już na dysku pobrany plik ISO. Pominiemy tym samym cześć pobierania z internetu. W polu obok podajemy ścieżkę do obrazu płyty.
  • Custom - opcja, którą będziemy rzadko zaznaczać lub w ogóle. Pozwala połączyć pliki jądra z Inirtd.

Po wybraniu opcji, poniżej wybieramy rodzaj - Napęd USB i z listy napędów - literę odpowiadającą naszemu pendrive'owi. Po uzupełnieniu otrzymamy coś podobnego:

Po upewnieniu się, że wszystko jest w porządku, klikamy na OK. Rozpocznie się proces kopiowania plików i tworzenia bootloadera.

Po zakończeniu, możemy wybrać opcję Zakończ, wtedy możemy kontynuować pracę, a dopiero później uruchomić system z pendrive'a lub Uruchom teraz, dzięki czemu od razu będziemy mogli bawić się bootowalnym pendrive'm. Przypominam, że płyta główna musi obsługiwać bootowanie z dysków USB, a w BIOSie powinna być ustawiona opcja o pierwszym w kolejności wyszukiwaniu systemu na dysku USB (więcej w instrukcji do płyty głónej). Miłej zabawy!

Dobry tandem: FileZilla i gedit

Do obsługi serwera FTP używam FileZilli. Bardzo dobry program, jednak po wybraniu z menu kontekstowego opcji View/Edit na pliku HTML nie dostawałem tego, czego oczekiwałem. Chciałem poprostu, aby otworzył się edytor tekstowy, abym mógł edytować plik ze stroną internetową. W tym poście przedsawię, jak można uzyskać taki tandem. Wskazówkę można też użyć z innym edytorem tekstu. Metodę przedstawię na Ubuntu 9.04 PL, FileZilli oraz programie gedit.

Najpierw musimy mieć oczywiście zainstalowane programy. O ile gedit jest domyślnie w Ubuntu, o tyle FileZillę trzeba doinstalować. Nie jest to jednak trudne. Wystarczy w terminalu wpisać: 

 $ sudo apt-get install filezilla

Możemy już połączyć programy.

Uruchamiamy klienta FTP (Programy -> Internet -> FileZilla FTP client lub filezilla w terminalu). Z menu programu wybieramy Edytuj -> Ustawienia.



Przechodzimy do zakładki Edycja pliku. W sekcji Domyślny edytor dodajemy zaznaczenie przy opcji Use custom editor. Następnie w polu wpisujemy polecenie do programu lub ścieżkę do niego. Dla gedit jest to:

 /usr/bin/gedit

 Możemy też wybrać opcję Use system's default editor for text files, dzięki czemu do edycji plików tekstowych użyty zostanie domyślny edytor systemowy. Poniżej zaznaczamy opcję, aby zawsze używany był wybrany program lub aby wybór programu był kierowany przez skojarzenia systemowe. Poniżej screen mojej konfiguracji.



Klikamy teraz na przycisk OK. Możemy teraz już edytować pliki w swoim ulubionym edytorze od razu z serwera FTP.



piątek, 18 grudnia 2009

Vim - edytor z piekła rodem

Spróbuję przedstawić edytor Vim który wielu ludzi przeraża aczkolwiek według mnie jest on świetnym narzędziem. Strona domowa vim'a to http://www.vim.org/ skąd też możemy go pobrać. Jest dostępnych jego wiele wersji na różne systemy operacyjne. Ogólnie rzecz biorąc są dostępne jego dwie wersje GUI Vim (GVim) i Vim, Gvim to po prostu okienkowa wersja vim'a ja będę używał do prezentacji systemu Ubuntu 9.10, tildy, zsh i vim'a.

By zainstalować vim'a w Ubuntu wystarczy wpisać w konsoli:
 $ sudo apt-get install vim

Lub posłużyć się np. menadżerem pakietów Synaptic.
By urychomić vim'a wystarczy wpisać:
 $ vim

I ukazuje się nam w konsoli dziwnie wyglądający edytor powinien on wyglądać tak jak u mnie:

Jak widać autorzy postarali się byśmy nie musieli klikać CTR+C nie wiedząc jak wyłączyć vim'a i dali nam wiadomości że wystarczy wpisać
 :q!
co tłumacząc na język normalny oznacza wyjście (q pochodzi od quit) bez zapisu (za "bez zapisu" odpowiedzialny jest wykrzyknik) wychodzimy w ten sposób gdy nie chcemy zapisać edytowanych plików, bo zwykłe :q wyświetli błąd. Kolejna informacja jaką dają nam autorzy vim'a jest włączanie pomocy przez wpisanie podanej przez nich komendy.

Edycja plików w vim'ie jest dość ciekawa, w vim'ie wyróżniamy wiele trybów ja skupię się na trzech:
  • NORMAL - tryb normalny zawsze możemy do niego przejść wciskając klawisz ESC, z niego też przechodzimy do innych trybów.
  • EX - tryb który ukazuje nam się po wpisaniu w trybie NORMAL dwukropka czyli w poleceniu wyjścia najpierw przechodzimy do tryby EX, a potem dopiero potem wpisujemy komendę którą w przypadku wyjścia z programu jest "q".
  • INSERT - jest to tryb wpisywania przechodzimy do niego wciskając klawisz "i" w trybie normal, jest to po prostu tryb edycji w którym wpisujemy tekst.
Znając już tryby możemy przejść do przykładowych komend:
KomendaOpis
:qWyjście z programu.
:save [parametr]Zapis edytowanego tekstu do pliku podanego jako parametr.
:wJeśli tekst który edytujemy jest tekstem z otworzonego pliku to komenda ta zapisuje tekst do pliku z którego został otwarty.
:makeJeśli edytujemy kod programu to umieszczamy w folderze edytowanego pliku plik makefile i ta komenda odpalamy polecenie make.
150GSkok do 150 wiersza tekstu.
150goSkok do 150 bajtu pliku.
(Wszystkie komendy wpisujemy w trybie NORMAL)

Komend jest naprawdę bardzo wiele tysięcy, poznanie ich wszystkich zajmuje naprawdę wiele czasu, ale dzięki nim edycja jest bardzo prosta i szybka, są dostępne makra, wyrażenia regularne, po prostu najlepszy dostępny edytor z dostępnych konsolowych, a według niektórych i w ogóle.

Edytora tego używam by edytować jakieś małe proste pliki i programiki naprawdę jest świetny umiem go tylko podstawowo, ale jeśli poznamy go lepiej np. usuwanie tagów HTML jest przyjemnością. W tym tekście pokazałem tylko co to jest, jak wygląda. Zachęcam do lepszego poznania programu (poniżej video przykładowej edycji plików).