W DE możemy zmienić rozmiar terminala (na przykład gnome-terminal) dla naszej wygody, jak mogę poznać rozmiar terminala pod względem pikseli lub liczby kolumn i wierszy?
13
Jeśli wydasz polecenie
stty size
zwraca rozmiar bieżącego terminala w wierszach i kolumnach. Przykład:
$ stty size
24 80
Możesz czytać wiersze i kolumny w takie zmienne (dzięki komentarzowi Janis ):
$ read myrows mycols < <(stty size)
Uzyskanie rozmiaru w pikselach wymaga znajomości rozdzielczości ekranu i nie sądzę, aby stty
miał bezpośredni dostęp do takich informacji.
bash
tymecho
polecenia w tej odpowiedzi nie będzie widać zmienne, ponieważread
w rurociągu zostanie wykonany w podpowłoce. (Działa toksh
jednak.)bash
Możesz użyć npread myrows mycols < <( stty size )
.W środowisku pulpitu używasz X, a
xwininfo
narzędzie może pokazywać rozmiar okna w pikselach. Ponadto, jeśli działasz na pulpicie (i nie jesteś na przykład podłączony zdalnie), emulator terminala udostępnia zmienną,$WINDOWID
której możesz użyć jako parametruxwininfo
, np.i uzyskaj listę:
W tym przykładzie, wiersze z
Width
iHeight
są wielkości w pikselach . Ostatni wiersz, z,-geometry
podaje rozmiar w znakach (a także pozycję lewego górnego rogu - w pikselach).Mówiąc o zmianie rozmiaru okna,
resize
program pokazuje liczbę linii i kolumn. W tym przykładzie pokazujePytanie nie wskazywało, w jaki sposób informacja może być wykorzystana, ale ponieważ dane wyjściowe są tekstem, w przewidywalnym formacie, można je łatwo wykonać w skrypcie. Oto prosty przykład użycia awk:
który drukuje
źródło