Używam dwóch ustawień ekranu w pracy i chociaż zwykle pomaga to bardziej niż boli, mam z tym pewne problemy.
Jednym z nich jest problem z końcowym ustawianiem ostrości - czasami popełniam błąd, pisząc na niewłaściwym ekranie (fokus przesuwa się po moim kursorze, ale nie zawsze łatwo zauważyć, że kursor znajduje się na innym ekranie, gdy robisz coś w pośpiechu). Jest to bardzo denerwujące, gdy zamiast pisania powoduję mnóstwo różnych działań (skróty jednym klawiszem w thunderbirdzie).
Czy istnieje sposób na lepsze podkreślenie aktywnego ekranu lub okna (na przykład za pomocą dobrze widocznej ramki - nawet w przypadku zmaksymalizowanych okien)?
EDYTOWAĆ:
Myślę, że fajnym rozwiązaniem będzie krótka animacja, gdy okno zostanie zogniskowane.
Odpowiedzi:
Podświetl zogniskowany ekran (lub przyciemnij przy zmianie ostrości, patrz EDYCJA dalej poniżej)
W konfiguracji dwóch monitorów side-by-side (lewy-prawy) poniższy skrypt ustawi jasność monitora z zogniskowanym oknem na „normalny” (100%), podczas gdy drugi jest przyciemniony do 60%.
Jeśli ostrość zmieni się, jasność podąży za nią:
skup się na (oknie) na prawym ekranie
skup się na (oknie) na lewym ekranie
Scenariusz
Jak używać
Skrypt potrzebuje
wmctrl
:Skopiuj skrypt do pustego pliku i zapisz go jako
highlight_focus.py
Przetestuj - uruchom komendę:
Po podłączeniu drugiego monitora sprawdź , czy skrypt działa zgodnie z oczekiwaniami.
Jeśli wszystko działa poprawnie, dodaj go do aplikacji startowych: Dash> Aplikacje startowe> Dodaj polecenie:
Notatki
Skrypt ma bardzo mało zasobów. Aby „oszczędzać paliwo”, ustawienia ekranu; rozdzielczości, rozpiętość zakresu itp. są odczytywane tylko raz, podczas uruchamiania skryptu (nie wchodzi w skład pętli). Oznacza to, że musisz ponownie uruchomić skrypt, jeśli podłączysz / odłączysz drugi monitor.
Jeśli dodałeś go do aplikacji startowych, oznacza to, że musisz się wylogować / zalogować po zmianach w konfiguracji monitora.
Jeśli wolisz inny procent jasności dla przyciemnionego ekranu, zmień wartość w wierszu:
Wartość może zawierać się pomiędzy
0,0
(czarny ekran) a1.0
(100%).Wyjaśnienie
Po uruchomieniu skryptu określa:
Następnie w pętli (raz na sekundę):
sprawdza pozycję aktywnego okna za pomocą poleceń:
wmctrl -lG
(aby uzyskać listę okien i ich pozycji)xprop -root _NET_ACTIVE_WINDOW
(aby uzyskać identyfikator okna z przodu)Jeśli pozycja okna (x-) jest większa niż rozdzielczość x lewego ekranu, okno najwyraźniej znajduje się na prawym ekranie, chyba że jest ono większe niż rozpiętość dwóch ekranów (wtedy byłby w obszarze roboczym na prawo). w związku z tym:
określa, czy okno znajduje się na prawym ekranie (gdzie
limit
jest x-res lewego ekranu,pos
jest pozycją x okna ispan
jest połączoną x-res obu ekranów).Jeśli nastąpi zmiana położenia okna z przodu (na lewym lub prawym ekranie), skrypt ustawia jasność obu ekranów za pomocą
xrandr
polecenia:EDYTOWAĆ
Przyciemnij zogniskowany ekran zamiast stałego przyciemnionego „nieostrego” ekranu
Zgodnie z prośbą w komentarzu i na czacie, poniżej wersji skryptu, która zamiast tego krótko przyciemnia błysk na nowo ustawionym ekranie:
źródło
limit < pos < span
żebylimit <= pos < span
to działało. W każdym razie jest to naprawdę miłe. Nie jestem jednak pewien, czy chcę, aby działał w ten sposób (ściemnianie drugiego ekranu). Spróbuję go zmodyfikować, aby tworzył pojedynczy jasny „puls”, gdy zmienia się aktywny ekran.Znalazłem też inne rozwiązanie, które nieco różni się od tego, czego chciałem, ale działa również dobrze.
compizconfig-settings-manager compiz-plugins
Effects
sekcji włączAnimations
wtyczkęFocus Animation
edycji i wybierz żądaną animację.Działał tylko efekt fali ... Więc jeśli ci się nie spodoba, będziesz miał twarz tak smutną jak moja.
źródło