Gesty myszy w Operze
Uwaga: tekst ten dotyczy Opery w wersji 12 i starszych.
Jakie gesty można wykonywać w Operze, jak je konfigurować oraz przykładowa konfiguracja.
Gesty myszy, to bardzo użyteczna funkcja, która potrafi znacznie przyspieszyć działania wykonywane przez użytkownika komputera. Jak to działa? Przytrzymujesz prawy przycisk myszy (PPM) i przesuwasz mysz w określonym kierunku, aby wykonać określoną akcję. Puszczenie PPM kończy gest.
Zaletą używania gestów myszy jest przede wszystkim to, że gest wykonuje się w miejscu w którym mysz znajduje się w danej chwili. Nie trzeba przejeżdżać nią pół ekranu, ani celować w przyciski. – Można je wręcz pousuwać z pasków narzędzi.
Rodzaje gestów w Operze
Gesty podstawowe
Gesty są konfigurowalne w niemal identyczny sposób jak skróty klawiaturowe, z jedną różnicą – zamiast klawiszy mamy do dyspozycji następujące gesty podstawowe:
- w górę (GestureUp),
- w dół (GestureDown),
- w prawo (GestureRight),
- w lewo (GestureLeft),
- fikołek do tyłu (FlipBack) – stuknij LPM trzymając PPM,
- fikołek do przodu (FlipForward) – stuknij PPM trzymając LPM.
Kombinacje gestów
Gesty można ze sobą łączyć, np. "GestureUp, GestureRight" wymaga wykonania następujących czynności:
- wciśnięcia PPM,
- przesunięcia myszy w górę,
- przesunięcia myszy w prawo,
- puszczenia PPM.
Nie jest wymagane, aby taki gest był wykonywany pod kątem prostym, czy też kompletnie równolegle. Linie gestów nie muszą być też równej długości. Gest może być zatem wykonywany w prostokącie i po łuku.
Co zrobić, gdy chcemy anulować gest przed zakończeniem jego wykonywania? Najprościej jest po prostu narysować jakieś bazgroły, czyli przed puszczeniem PPM pomachać myszą w różnych kierunkach. Opera nie odnajdzie takiego gestu i w związku z tym nie wykona żadnej akcji (chyba, że skonfigurowałeś/aś jakiś naprawdę skomplikowany). W przypadku gestu już zakończonego, zwykle pomaga skrót klawiaturowy Ctrl+Z (Cofnij).
Gesty a fikołki...
Można się szybko zorientować, że liczba kombinacji jest nieograniczona, lecz wykonywanie gestów, które wymagają więcej niż jednej/dwóch zmian kierunku ruchu jest dość niewygodne. Mamy jednak nieco więcej możliwości. – Gesty, to nie tylko kierunki, ale także fikołki do tyłu i do przodu. Możemy zatem stworzyć taki gest "GestureDown, FlipBack" – zrób gest w dół, zakończony kliknięciem LPM. (A co z "GestureDown, FlipForward"? – Nie da się. Przecież puszczenie PPM kończy gest, podobnie zresztą jak wciśnięcie LPM.) FlipBack może występować tylko samodzielnie, albo na końcu gestu. W tym ostatnim przypadku może występować wielokrotnie (np. "GestureDown, FlipBack, FlipBack, FlipBack"), lecz nie ma to większego sensu, gdyż dany gest z jednym już FlipBack jest unikalny.
Przełączniki klawiszowe
Mamy już sporą liczbę możliwości, ale da się zrobić jeszcze ciekawsze gesty. Można do tego celu użyć klawiatury, jako przełącznika zachowania gestów. Przykład? Proszę bardzo: "GestureLeft Shift" – wykonaj gest w lewo podczas trzymania klawisza Shift.
Najlepiej do tego celu wykorzystać oczywiście klawisze sterujące, tj. Ctrl, Shift, Alt, bo choć "GestureLeft L" też działa, to jednak ma poważną wadę. Mianowicie, wprowadzanie tekstu w polach tekstowych ma pierwszeństwo. Użycie klawiszy sterujących pozwala też na użycie kilku z nich w jednym geście, jak np. "GestureLeft Ctrl Shift".
Warto także zauważyć, że użycie przełączników klawiaturowych nie wyklucza użycia innych kombinacji, np.: "GestureDown Ctrl Shift, GestureLeft Ctrl Shift, FlipBack Ctrl Shift". Opiszę ten gest krok po kroku, żeby wszystko było jasne:
- wciśnij i przytrzymaj klawisze Ctrl+Shift,
- wciśnij PPM,
- przeciągnij mysz w dół,
- przeciągnij mysz w lewo,
- wciśnij LPM,
- puść PPM i Ctrl+Shift (w dowolnej kolejności).
Czy ktoś zauważył, że w ostatnim przykładzie za każdym pojedynczym ruchem wypisane są przełączniki? To daje do myślenia… Co by było gdybym napisał "GestureDown Ctrl Shift, GestureLeft, FlipBack"? Czy taki gest można wykonać? Tak! (Każdy już powinien wiedzieć jak rozszyfrować taki zapis gestu.)
Gesty sekwencyjne
Jeśli ktoś kiedykolwiek używał edytora Vim (lub Vi, lub Emacs), to pamięta, że aby wykonać pewne akcje, trzeba było stuknąć klawisz lub kombinację klawiszy, a następnie stuknąć inny klawisz. Np. wciśnięcie "d" wejdzie w tryb usuwania, następnie "w" usunie słowo. Z kolei "d d" usunie całą linię. Dlaczego o tym piszę? Gesty w Operze mogą być używane w podobny sposób.
Przykład: wykonaj fikołka do tyłu (puszczając PPM na końcu), następnie wykonaj gest w dół. Jak to zapisać? Bardzo prosto: "FlipBack GestureDown". Zapis może wydawać się trochę mylący. Gdy gesty były wykonywane wspólnie, to stawialiśmy między nimi przecinek, natomiast tutaj stosujemy zapis podobny jak przy przełącznikach klawiszowych.
Musimy pamiętać, że każdy gest musi być unikalny (nie może zawierać całego, innego gestu jako własnego początku – to jeśli chodzi o sekwencje, bo tutaj kończymy fragment sekwencji tak samo jak kończymy gest, tj. puszczeniem PPM). Jeśli mamy gest "GestureDown", oraz "GestureDown GestureRight" (sekwencyjny! – brak przecinka), to ten drugi jest bezużyteczny. Opera wykona akcję powiązaną z GestureDown, a GestureRight będzie traktowało jako kolejny gest i o ile taki jest skonfigurowany, to wykona powiązaną z nim akcję. Dlatego, jeśli chcemy korzystać z gestów sekwencyjnych, musimy poświęcić jeden z nich, który będzie grał rolę „przełącznika myszowego”. Oczywiście może to być dowolny gest, nawet złożony.
Tu warto przypomnieć uwagę, która się już pojawiła. Jeżeli wykonaliśmy początek gestu sekwencyjnego, to możemy go „anulować” poprzez narysowanie dowolnego skomplikowanego gestu (tzw. bazgrołów), który możemy utożsamiać z wciśnięciem klawisza Esc.
Obrazek poniżej podsumowuje rodzaje gestów:
Konfiguracja
Aby edytować gesty myszy, wchodzimy kolejno w Menu O > Ustawienia > Preferencje > Zaawansowane > Mysz i klawiatura, a następnie w miejscu gdzie mamy Konfigurację myszy zaznaczamy "Opera Standard" i klikamy przycisk Utwórz kopię. Dobrym pomysłem jest też, aby od razu zmienić nazwę (przyciskiem Zmień nazwę ;-)).
Teraz możemy kliknąć Edytuj i modyfikować/usuwać dostępne skróty lub dodawać własne.
Osobom, które nie spotkały się jeszcze z konfiguracją skrótów w Operze trzeba wytłumaczyć jedną rzecz: czym jest kontekst? Zarówno gesty myszy jak i skróty klawiaturowe wykonywane są w pewnych kontekstach, co oznacza, że identyczny gest wykonany np. na stronie internetowej, w oknie wbudowanego klienta pocztowego, czy w panelu bocznym, może wykonywać różne polecenia. Niemal wszystkie domyślne gesty występują w kontekście Application, co oznacza, że jeżeli nie zostaną nadpisane w jakimś kontekście szczegółowym, to będą działały w całej aplikacji.
W polu skrótu wpisujemy gest. W polu Polecenie wpisujemy Akcje Opery lub ich kombinacje (to temat na inny, dłuższy tekst, ale na szczęście można znaleźć co nieco o tym w Internecie). Tutaj na przykład można poczytać co nieco o operatorach i łączeniu akcji: Operatory na Opera Wiki. Także na moim blogu można znaleźć krótkie wprowadzenie do poleceń Opery.
Przykładowa konfiguracja
Pliki konfiguracji myszy są przechowywane w podkatalogu "mouse" katalogu Profilu użytkownika (dokładną ścieżkę można odnaleźć na stronie opera:about). Każdy poprawny plik konfiguracji myszy znajdujący się w tym folderze będzie dostępny do wyboru w Preferencjach przeglądarki.
Plik konfiguracyjny, to zwykły plik ini zapisany z kodowaniem UTF‑8. Zawiera on dwie sekcje nagłówkowe: Version i Info oraz konfigurację gestów. Konteksty gestów są sekcjami pliku i są zapisywane w nawiasach kwadratowych. W każdej sekcji wypisane są skróty dostępne dla danego kontekstu, zapisane w formacie "gest=akcja".
Obiecałem, więc podaję przykładową konfigurację gestów. Powyżej ich kodów znajdują się moje komentarze poprzedzone średnikiem.
Opera Preferences version 2.1 ; Do not edit this file while Opera is running ; This file is stored in UTF-8 encoding [Version] File Version=1 [Info] Description=Przykładowy zestaw gestów myszy Author=Saskatchewan Version=1 NAME=Saskatchewan - przykład [Application] ;standardowe Wstecz i Przewiń wstecz FlipBack=Back GestureLeft=Back GestureLeft shift=Rewind, 0 ;standardowe Dalej i Przewiń dalej ;Przewiń dalej - przechodzi automatycznie do następnej strony (przydatne np. na forach i przy długich artykułach) ;lub loguje użytkownika jeżeli jest zapamiętane hasło FlipForward=Forward | Fast forward, 0 GestureRight=Forward | Fast forward, 0 GestureRight shift=Fast forward, 0 ;standardowe Zatrzymaj i Odśwież GestureUp=Stop GestureUp, GestureDown=Reload ;standardowe nowa karta i powielenie GestureDown=Open link in new page | New page ;wbrew pozorom, powielenie karty dość często się przydaje ;np. przejście wstecz w nowej karcie: duplikuj kartę i przejdź wstecz ;z wykorzystaniem gestów jest bardzo szybkie i wygodne GestureDown, GestureUp=Open link in background page | Duplicate page ;przejdź do początku albo końca strony; w zależności od upodobań, z fikołkiem lub bez GestureRight, GestureUp=Go to start GestureUp, FlipBack=Go to start GestureRight, GestureDown=Go to end GestureDown, FlipBack=Go to End ;poruszanie się między kartami ;polecam też PPM+kręcenie rolką GestureUp, GestureLeft=Switch to previous page GestureUp, GestureRight=Switch to next page ;zamykanie aktywnej karty z przejściem do następnej/poprzedniej GestureDown, GestureRight=Close page, 1 & Switch to next page GestureDown, GestureLeft=Close page, 1 & Switch to previous page ;otwarcie ostatnio zamkniętej karty jako odwrotność dół-prawo GestureLeft, GestureUp=Reopen page ;C jak Close - zamknij okno GestureLeft, GestureDown, GestureRight=Close window ;Pokazywanie/Ukrywanie pasków narzędzi z przełącznikiem Ctrl ;ustawienia zgodne z moim historycznym ustawieniem pasków ;- pasek kart po lewej, - panele po prawej, - ... ;paska adresu, ani stanu wtedy nie używałem ;Paski przewijania - przydatne przy pełnym ekranie GestureRight Ctrl, GestureLeft Ctrl=Enable scroll bars | Disable scroll bars ;pasek kart GestureLeft Ctrl=View page bar,6 | View page bar,0 GestureUp Ctrl=View address bar,6 | View address bar,0 GestureDown Ctrl=View status bar,6 | View status bar,0 ;panele GestureRight Ctrl=View hotlist,6 | View hotlist,0 ;Zmiana położenia paska kart (i jego zawijania): lewo albo góra ;Zamiast <<Set alignment,"pagebar",1>> równie dobrze mogłoby być ;<<View page bar,1>> ;Set alignment działa dla każdego paska - jego nazwę podajemy jako parametr GestureDown Ctrl, GestureLeft Ctrl=Set alignment,"pagebar",1 & Set wrapping,"pagebar",2 GestureRight Ctrl, GestureUp Ctrl=Set alignment,"pagebar",2 & Set wrapping,"pagebar",0 ;Drzewko (rozwijanie/zwijanie wszystkich elementów), np. w panelu Zakładek [Tree Widget] GestureLeft=Close all items GestureRight=Open all items FlipBack=Close all items FlipForward=Open all items ;Okno poczty (gesty należy wykonywać nad wiadomością lub w jej nagłówku) [Mail Window] ;poprzednia wiadomość (może być też poprzednia nieprzeczytana: "Select previous unread") GestureLeft=Previous item ;następna wiadomość (może być też następna nieprzeczytana: "Select next unread") GestureRight=Next item ;usuń GestureUp=Delete ;zaznacz jako przeczytaną i przejdź do następnej nieprzeczytanej GestureDown=Mark as read & Select next unread