PyWO jest organizatorem okien który pozwala na wygodne zarządzanie otwartymi oknami. Pozwala na zmianę rozmiarów oraz przesuwanie okien za pomocą skrótów klawiszowych, przez co robi się to bardzo szybko. Można go porównać do tiling window manager takiego jak dwm. Autorem PyWO jest KosciaK.
Możliwości
Głównym założeniem jest umożliwienie łatwej zmiany położenia i rozmiaru okien okien z użyciem skrótów klawiaturowych (domyślnie sterowanie odbywa się z użyciem klawiatury numerycznej). Do dyspozycji mamy:
Możemy przesuwać okno w dowolnym kierunku, przyklejając je do krawędzi sąsiadujących okien.
Expand i Shrink – zmiana rozmiaru okna
Możemy powiększać lub pomniejszać rozmiar okna w dowolnym kierunku, by maksymalnie wykorzystać dostępne miejsce.
Put – rzucanie oknem
Możemy rzucić okno (bez zmiany rozmiaru) w jedną z wcześniej zdefiniowanych pozycji na ekranie.
Grid – siatka
Rzucamy oknem w wybraną pozycję na ekranie jednocześnie zmieniając rozmiar okna, w efekcie uzyskując siatkę, równomiernie rozłożonych okien. Można wybrać siatkę 2×2, 3×2 (domyślna), 3×3 lub łatwo zdefiniować własne ułożenie okien. Starałem się by ta funkcja działała bardziej przewidywalne niż odpowiedniki w Compiz Grid i Quicktile – zawsze najpierw wybierany jest największy możliwy rozmiar.
Switch i Cycle
Funkcje te pozwalają na zamianę okien miejscami. Po naciśnięciu skrótu klawiaturowego (domyślnie Alt-KP_Divide i Alt-Shift-KP_Divide) wybieramy okno do zamiany. Możemy wybrać za pomocą Alt-Tab lub za pomocą myszy (aplikacja czeka na zmianę aktywnego okna). Jeśli chcemy anulować zamianę wystarczy jeszcze raz nacisnąć skrót odpowiedzialny za zamianę okien.
Switch
Następuje zamiana okien miejscami, przy czym dotychczasowe okno pozostaje aktywne.
Cycle
Następuje zamiana zawartości okien (po zamianie okien miejscami aktywne jest nowe okno, które teraz znajduje się na miejscu dotychczasowego).
Wymagania
Potrzebny nam będzie Python w wersji 2.5 lub wyższej (nie testowałem z 3.0) i zainstalowana biblioteka Xlib.
W Ubuntu wystarczy instalacja pakietu python-xlib sudo apt-get install python-xlib
No i oczywiście menadżer okien poprawnie implementujący EWMH. Z pobieżnych testów wynika, że Python Window Organizer powinien działać z większością popularnych menadżerów okien. Testowałem w Compizie, Metacity, KDE (KWin), XFCE (Xfwin), Openbox, Enlightment (e16) oraz FVWM i wydaje się działać jak należy.
Jak na razie pod Blackbox, Fluxbox, IceWM, WindowMaker, AfterStep i pekwm pojawiają się dziwne błędy wynikające z niepełnego wsparcia dla EWMH przez te menadżery okien. Jest szansa, że część z tych problemów uda się obejść, jednak niczego obiecać na razie nie mogę.
Instalacja i użytkowanie
Wystarczy pobrać archiwum ze strony projektu PyWO, rozpakować i wykonać:
./pywo.py
Ot i cała filozofia. Skonfigurować do swoich potrzeb (zmiana klawiszy, siatki) można tworząc plik ~/.pyworc – opis jego składni i dostępnych opcji znajdziecie przeglądając dołączony plik pyworc, zawierający domyślne ustawienia.
Błędy, problemy i propozycje
Autor informuje, że nie wszystko zostało dostatecznie przetestowane oraz zoptymalizowane. Jednakże sam używam PyWO i spisuje się on bardzo dobrze, jestem zadowolonym użytkownikiem.
Jeśli zauważycie dziwne zachowanie proszę, o poinformowanie o tym autora. Oprócz opisu niepożądanego zachowania należy przesłać również plik /tmp/PyWO.log w którym to zapisywane są informacje o działaniu programu.
Blog autora PyWO kosciak.blox.pl – znajdziesz tam najświeższe informacje odnośnie PyWO, ale również wiele innych ciekawych informacji dotyczących komputerów, oprogramowania i Internetu.