Mam na myśli, że okno powinno się poruszać za każdym razem, gdy próbuję przesunąć na nim wskaźnik. Mam „ekran zegara analogowego” i „okno dialogowe postępu pliku”, które poprawiłem, aby pozostały „Zawsze na wierzchu” innych okien z CCSM, ale czasami przeszkadzają w działaniu.
Jeśli nie jest to możliwe, czy istnieje jakaś metoda, która ukryłaby się, gdy przesunę na nich wskaźnik, aby móc kliknąć aplikację bezpośrednio poniżej?
Co więcej, jeśli nie jest to możliwe, czy możemy sprawić, że okna będą zachowywać się tak, jakby ich nie było? Mam na myśli, że zobaczę okno, ale wskaźnik nie powinien go rozpoznać i powinien normalnie działać w aplikacji poniżej. Zmienię przezroczystość aplikacji i sprawię, że będzie działać, jeśli to możliwe?
Odpowiedzi:
Skrypt Bash i xdotool == cursophobia.sh
Przegląd
Myślę, że mam rozwiązanie, które będzie dla ciebie odpowiednie. Jest to skrypt bash, który pozwala wybrać okno. Po wybraniu okna skrypt
nieprzerwaniesprawdza pozycje okna i kursora w określonych odstępach czasu. Jeśli kursor zbliży się zbyt blisko, okno odsunie się na bok.Zależność
Ten skrypt zależy od
xdotool
. Aby zainstalować, uruchomsudo apt-get install xdotool
Skrypt: cursophobia.sh
Utwórz nowy skrypt bash z następującą zawartością i uczyń go wykonywalnym.
Nie zapomnij edytować czterech zmiennych według własnych upodobań. Jeśli skrypt wykonuje zadanie na twoim CPU, spróbuj zwiększyć
poll
zmienną do większej wartości.cursophobia.sh w akcji
Po utworzeniu skryptu i uruchomieniu go, uruchom go. Poprosi Cię o wybranie okna. Kliknij okno, w którym chcesz być kursofobiczny i poczekaj, aż odliczanie dobiegnie końca. Po zakończeniu odliczania okno, które wybierzesz, będzie kursofobiczne. Gdy jesteś gotowy, aby pomóc temu okno przestraszyć się kursorami, zamknij okno terminalu lub zabij skrypt z okna terminalu za pomocą Ctrl+c
Wiele ekranów
Należy pamiętać, że ogranicza to okno cursophobic do jednego ekranu. Jestem otwarty na zmiany, które sprawiłyby, że działałby na wielu ekranach.
źródło