Przy okazji poprzedniego artykułu zacząłem bliżej się przyglądać także innym wtyczkom do Compiza i ... oprócz siatki można tam znaleźć jeszcze parę innych naprawdę poprawiających ergonomię pracy funkcji.
Wszystkie można uaktywnić i skonfigurować w menedżerze ustawień CompizConfig.
Jeszcze uwaga wstępna: wszelkie skróty klawiszowe i ustawienia przycisków myszy można zmieniać - i zawsze robimy to wchodząc do konfiguracji danej wtyczki.
Rysowanie (Annotate)
Jedyny bajer graficzny wśród rzeczy, o których dziś piszę. Może być przydatny: przy pokazywaniu innym czegoś na ekranie (lub rzutniku), nagrywaniu screencastów i podobnych operacjach.
Po włączeniu dodatku możemy malować po ekranie. Robimy to wciskając (i trzymając) Alt oraz Win (można to łatwo zrobić lewą ręką) a następnie ruszając myszą z wciśniętym lewym klawiszem. W dowolnym momencie możemy wszystko puścić, obrazki pozostają. Jest też gumka - przy wciśniętych Alt i Win ruszamy myszą z wciśniętym prawym klawiszem.
Obecność obrazka nijak nie wpływa na działające aplikacje (w szczególności można na chwilę przerwać rysowanie i klikać, pisać, przewijać...). Zachowuje się on jak gdyby był namalowany flamastrem na ekranie.
Cały rysunek można usunąć wciskając Alt-Win-k.
W menedżerze ustawień wtyczka jest w sekcji Dodatki (Extras), w swojej konfiguracji ma (oprócz skrótów) kolor i grubość pędzla.
Reguły okien (Window Rules)
W znacznej mierze alternatywa dla omawianego poprzednio Devil's Pie. Dla okien spełniających wybrane reguły (nazwa, klasa itd) można ustawiać rozmaite charakterystyki - rozmiar, wyświetlanie zawsze na wierzchu, pomijanie paska zadań, uniemożliwianie uzyskania focusu i wiele innych.
Testuje się łatwo, wystarczy konfigurowane okno zminimalizować do paska i z powrotem uaktywnić.
W porównaniu z Devil's Pie inna jest lista cech jakie można oknu narzucić (np. można ustawić, że okna nie da się poruszyć i/lub zminimalizować, za to nie da się rzucić go na ustalony wirtualny desktop), na słabszy wygląda też język selekcjonowania okien. Wyklikiwanie reguł jest zresztą strasznie żmudne, zdecydowanie wolę pisać pseudolispowy kod Devil's Pie.
Mniej logiczny jest też sam model opisu. Zamiast - jak było w Devil's Pie - ustalić sposób wykrywania okna i potem przypisać mu wszystkie potrzebne cechy, w Window Rules każdej charakterystyce przypisujemy wszystkie okna których ma ona dotyczyć. Przykładowo, weźmy taką regułę Devil's Pie (mniejsza o jej sensowność):
(if
(contains (application_name) "KeePassX")
(begin
(above)
(skip_tasklist)
(geometry "640x480+0-10")
)
)
W regułach okien musiałbym zupełnie niezależnie dodać
title=KeePassX
do pola Ponad (czyli listy okien wyświetlanych na
wierzchu), pola Pomiń pasek zadań (listy okien które nie trafiają na
pasek) oraz odstukać regułę przypisującą oknu z title=KeePassX
rozmiar. W razie potrzeby poprawienia sposobu wyszukiwania okna w każdym
z tych miejsc trzeba poprawiać z osobna.
No ale działa to domyślnie, dla prostych przypadków konfiguracja jest wykonalna a konfiguracja myszą może być dla niektórych osób zaletą.
Wtyczkę można znaleźć, podobnie jak kilka następnych, w sekcji Zarządzanie oknami (Window management).
Maximumize
Ciekawy pomysł: po wciśnięciu Win-M bieżące okno zostaje zmaksymalizowane w ramach otaczającej go wolnej przestrzeni. Przykładowo, jeśli naciśniemy Win-M nad tym terminalem:
wypełni on wolną przestrzeń
Jeśli wolnego miejsca nie ma, nic się nie dzieje.
Jest też przycisk odwrotny. Shift-Win-M drastycznie zmniejsza aktywne okienko
Do tej formy zmniejszania nie mam przekonania, niżej opisuję lepszą alternatywę.
Przesuń (Put)
Możliwość szybkiego przerzucenia aktywnego okna ... gdzieś.
Domyślnie włączone jest tylko Win-Z, z mało użyteczną funkcją przeniesienia okna w okolice kursora myszy. Dużo przydatniejsze są funkcje, dla których skrótów domyślnie nie ma: przerzucanie okna na inny wirtualny pulpit (a są tu i opcje przerzucania na sąsiedni i na konkretny zadany).
Na razie przypisałem sobie Win-strzałkaWPrawo do Prawy wirtualny pulpit (Viewport Right) a Win-strzałkaWLewo do Lewy wirtualny pulpit oraz włączyłem opcje Odznacz okno (unfocus window) i unikaj wyjścia poza ekran (avoid offscreen). W efekcie mogę łatwo wyrzucić niepotrzebne okienko na pomocniczy desktop - bez jego zamykania.
Shelf
Zmniejszenie okienka - ale z przeskalowaniem zawartości bez wiedzy zarządzającej oknem aplikacji. Ciekawy sposób na czasowe zmniejszenie powierzchni ekranu zajmowanej przez okno z zachowaniem podglądu na jego treść.
Powiedzmy, mam dwa okienka
Wciskam Win-L i przeglądarka zdecydowanie zmniejsza zajmowany obszar:
Tak zmniejszone okno można przesuwać (ciągnąć myszą), choć już używać się go nie da. Kolejne naciśnięcia Win-L zmniejszają je jeszcze bardziej aż w końcu przywracają oryginalny rozmiar.
Jest też klawisz Win-P, działający podobnie ale według innej reguły ustalający rozmiar podglądu (Win-L zmniejsza okno w proporcji do aktualnego jego rozmiaru, kilkakrotnie skalując w dół o zadany procent, Win-P zmniejsza do 1/2, 1/3 i 1/6 rozmiaru ekranu).
Warto dodać, że zminimalizowane okno jest żywe, jego zawartość jest aktualizowana, jeśli np. podglądam tam jakiś log, będą się pokazywać nowe wpisy. Bardzo wygodne np. do zerkania na jakiś monitoring (który zapali dużą czerwoną flarę gdy będzie coś źle).
Funkcja przywracania domyślnego rozmiaru standardowo swojego klawisza nie ma ale można go przypisać. Ja przypisałem do niej Win-r.
Zrzut ekranu (Screenshot)
Prosty i szybki zrzut ekranowy. Mam tu swoje ulubione narzędzia (Shutter jest świetny) ale do jednorazowego złapania fragmentu ekranu - poręczne.
Po włączeniu wtyczki zrzuty robimy kombinacją klawisza Win i myszy: - wciskamy klawisz Win i trzymamy go - klikamy w jeden z rogów obszaru jaki chcemy zdjąć - ciągniemy myszą do przeciwnego roku i puszczamy przycisk myszki.
Zaznaczony obszar zostaje zapisany w pliku o nazwie typu
screenshot1.png
, domyślnie w katalogu ~/Desktop
ale w konfiguracji
wtyczki można to zmienić. Tamże można nakazać by od razu po zrobieniu
zrzutu był on otwierany w jakimś programie.
Wtyczka dostępna w sekcji Ładowanie obrazków (Image loading).
Uwaga: na jednym z moich komputerów wtyczka działa błędnie, zapisuje dziwne śmieciowe obrazki. Shutter na tym samym komputerze działa dobrze.
Podgląd okien (Window Previews)
Wyświetlanie miniaturki okna z paska zadań.
Gdy wtyczka jest aktywna, po przesunięciu myszy nad ikonę programu na pasku pojawia się miniaturka danego okna, pozwalając się zorientować czy to to okno chcę przywrócić.
Przy używaniu większego ekranu domyślny rozmiar miniaturki jest trochę za mały, na LCD przestawiłem go sobie na 320. Na małym ekranie laptopowym domyślnie jest w sam raz.
Polecenia (Commands)
Najprostsza rzecz pod słońcem - możliwość podpinania dowolnych poleceń pod skróty klawiszowe.
Wtyczka w sekcji Ogólne (General).
Ekspozycja (Expo)
Szybka i czytelna prezentacja zawartości wszystkich wirtualnych desktopów. Wyświetla zmniejszone kopie zawartości ich wszystkich, nie tylko można wygodnie przejść na odpowiedni ale też np. przeciągać okienka.
Skrót: Win-E.
Nawigacja między desktopami: albo dwuklikam odpowiedni, albo przechodzę nań strzałkami i naciskam Enter (lub powtórnie Win-E).
Przenoszenie okien: zwykły drag&drop.
Wtyczka w sekcji Desktop.
Eksport/import konfiguracji
Nie wtyczka ale ... warte wspomnienia. Link Preferencje prowadzi na ekran, na którym - między innymi - jest możliwość eksportu i importu konfiguracji.
Pracowicie wyklikane skróty da się przenieść na inną maszynę.
Podsumowanie
O Compizie najwięcej się mówi przy okazji graficznego bajeru (te wszystkie efektowne tryby realizacji Alt-Tab, animowane zwijania i rozwijania, cieniowanie aktywności, gięcie przeciąganych okien...) - przydatnego przy prezentacjach i popularyzowaniu Linuksa ale w praktyce mało użytecznego. Obok niego, po cichu, żyje sobie wiele funkcji pozwalających znacznie poprawić ergonomię pracy z okienkami na desktopie.
W tej chwili zapamiętuję sobie:
- Win-KP1, Win-KP2, ... - rzucanie okienek po siatce,
- Win-m - maximumize czyli powiększenie w ramach wolnej przestrzeni,
- Win-l/Win-p/Win-r - skalowanie w dół,
- Win-strzałki - rzucanie na sąsiednie desktopy,
- Alt-Win-mysz i Alt-Win-K - rysunki,
- Win-mysz - zrzut ekranowy,
- Win-e - szybki wybór wirtualnego desktopu.
Pamiętam też o możliwości konfigurowania na poziomie Compiza charakterystyk okien, przynajmniej w prostych przypadkach, oraz o dostępności funkcji podpinania programów pod skróty klawiszowe i ruchy myszy.