Jak zmusić terminale do uzyskania co najmniej określonego rozmiaru?

8

Chciałbym zapobiec, aby którykolwiek z moich terminali Terminator był mniejszy niż 80x24. Oznacza to, że nie będę mógł zmienić rozmiaru terminala poniżej tego rozmiaru, a gdybym próbował podzielić terminal, który byłby zbyt mały, albo istniejące terminale zostałyby zmniejszone, aby pasowały, lub terminale nadrzędne i podrzędne zostałyby przeniesione do nowe okno.

W razie potrzeby jestem gotów zmienić programy terminalowe, chociaż lepsze jest kafelkowanie takie jak Terminator.

Mikołaj
źródło

Odpowiedzi:

4

Aby osiągnąć to, co chcesz, musisz edytować kod źródłowy gnome-terminali samodzielnie go odbudować, ponieważ minimalny rozmiar okna jest zakodowany na stałe w aplikacji terminala. Aby to zrobić, wykonaj następujące kroki.

Najpierw przejdź do https://launchpad.net/ubuntu/+source/gnome-terminal/3.6.1-0ubuntu4 i pobierz pliki źródłowe (plik to gnome-terminal_3.6.1.orig.tar.xz). Pobierz to do swojego ~/Downloadsfolderu.

Następnie otwórz terminal i wpisz następujące polecenia:

cd ~/Downloads

tar -xJf gnome-terminal_3.6.1.orig.tar.xz

Spowoduje to wyodrębnienie źródła. Teraz otwórz swój ulubiony edytor tekstu i edytuj plik ~/Downloads/gnome-terminal-3.6.1/src/terminal-window.c. Przejdź do linii 3107, gdzie znajdziesz zmienne MIN_WIDTH_CHARSi MIN_HEIGHT_CHARS. Edytuj je, są to minimalna wysokość i szerokość okna terminala wyrażona w znakach (tzn. Wartość MIN_WIDTH_CHARS20 oznacza, że ​​nie można już zmienić rozmiaru okna do szerokości poniżej 20 znaków)

Następnie, aby zbudować, w typie terminala cd ~/Downloads/gnome-terminal-3.6.1. Następnie uruchom, ./configureaby wygenerować plik makefile (jeśli narzeka na brakujące pakiety, zainstaluj je za pomocą apt-get(np. Jeśli mówi „pakiet foonie został znaleziony” lub podobny, użyj sudo apt-get install foo). Możesz także spróbować zainstalować auto-apti używać sudo auto-apt run ./configure(spowoduje to próbę zainstalowania wszystkich zależności ), ale kiedy wypróbowałem to, nie do końca wszystko wyłapało ( ./configurepotem uruchom standard ). Może to wymagać kilku prób, w zależności od liczby brakujących pakietów.

Po wygenerowaniu plików makefile po prostu wpisz make, a następnie sudo make install. To powinno odbudować program terminalowy. Zamknij wszystkie okna terminala, a następnie następne, które uruchomisz, będzie przestrzegało minimalnego rozmiaru ustawionego w źródle (tj. Nie zmieni rozmiaru poniżej zdefiniowanych tam wartości).

Jez W
źródło
Jeszcze bardziej kompletną metodą byłoby zrobienie dokładnie tego, co powiedziałeś, ale przejdź do dodatkowego etapu tworzenia własnego pliku PPA przez użytkownika, aby zbudować plik .deb, który może on utrzymywać i / lub blokować, aby nie powodować problemów podczas aktualizacji reszty systemu. W ten sposób menedżer pakietów nadal zarządza pakietami, ale użytkownik zachowuje kontrolę tylko nad tym w swoim PPA, bez uszczerbku dla zamierzonej funkcjonalności menedżera pakietów. Wzmianka o tyle, która (myślę) umocniłaby twoją, jak odpowiedź „idź do”.
darthlukan
@darthlukan Interesujący punkt. Tak naprawdę nie myślałem o tym (być może powinienem to zrobić, zanim sam to przejdę, aby to przetestować) i tak naprawdę nie jestem pewien, jak można to zrobić / zastosować jakieś aktualizacje pakietu, zachowując ich zmiany w nienaruszonym stanie ... właśnie zauważyłem, że pytanie dotyczy konkretnie Terminatora, podczas gdy to rozwiązanie dotyczy gnome-terminalu, więc ...
Jez W
Niezależnie od tego, czy jest to gnome-terminal czy Terminator (w rzeczywistości Terminator wyświetla wiele terminali gnome, a terminal gnome jest zależnością terminatora), twoje rozwiązanie jest nadal właściwe. Użytkownik może zrobić to samo w Terminatorze, będzie musiał tylko zwrócić uwagę na nazwy zmiennych, które mogą być różnymi i różnymi nazwami plików, ale wszystkie kroki są takie same (główna treść). Po utworzeniu niestandardowego pakietu .deb i dołączeniu PPA do Apt, pakiet będzie nadpisywany, dopóki zablokujesz wersję.
darthlukan
4
  1. Naciśnij klawisz super, aby otworzyć obiektyw wyszukiwania i poszukaj: menu głównego
  2. Po uruchomieniu aplikacji „ Menu główne ” wybierz „ Akcesoria ” w lewym menu, a następnie „ Terminal ” w drugim menu.
  3. Po wybraniu opcji „ Terminal ” naciśnij przycisk „ Właściwości ” po prawej stronie. Otworzy się nowe okno z właściwościami programu uruchamiającego terminal.
  4. Przejdź do wpisu „ Command ” i dodaj go na końcu wpisu:

    --geometry=132x24
    

    Gotowy wpis powinien być:

    gnome-terminal --geometry=132x24
    

Otóż ​​to. Zamknij okna, a przy następnym uruchomieniu terminalu zmieni się rozmiar okna. Może być konieczne wylogowanie i ponowne zalogowanie, aby działać poprawnie.

(132x24 to tylko przykład, możesz użyć dowolnej rozdzielczości)

chrześcijanin
źródło
2
Wpływa to tylko na początkową geometrię, nie zapobiega zmianie rozmiaru terminala poniżej podanego rozmiaru.
Nicholas
2

O ile wiem, nie możesz, rozdzielczość okna terminala zależy od proporcji znaków ... Więc jeśli zmienisz rozmiar czcionki, okno terminalu zmieni rozmiar, aby dopasować proporcję ta czcionka ...

Na początku brzmi to trochę głupio, ale biorąc pod uwagę, że terminal po prostu wyświetla tylko znaki tekstowe, ma sens, że jeśli okno ma rozmiar w pikselach, często kończy się to marnotrawstwem miejsca, gdy rozmiar okna nie jest dokładnie dopasuj granicę znaków ...

chrześcijanin
źródło
jest całkowicie gorszy niż głupi i nie zastanawiałem się, dlaczego programista to zrobił. zwinięty wrak głowy
Carni
1

Jeśli korzystasz ze starszej wersji Ubuntu, w oknie prawym przyciskiem myszy -> okno właściwości, pierwsza karta ma dwa pola, w których możesz edytować wiersze i kolumny terminala.

W przeciwnym razie możesz użyć polecenia wejściowego, o którym mowa w odpowiedzi 1.

--geometry=132x24
Kozak
źródło
Wpływa to również tylko na początkową geometrię.
Nicholas
1

Mała sztuczka dotycząca domyślnego rozmiaru była tutaj tematem . Tam użytkownik wicehrabia rozwiązał go, tworząc skrypt i umieszczając go w / usr / bin / gnome-terminal w ten sposób (zakładam, że używasz gnome jako menedżera okien):

#!/bin/sh
gnome-terminal --geometry=132x24

Możesz także kliknąć prawym przyciskiem myszy ikonę terminalu gnome na pasku zadań, wybrać właściwości, a następnie zmienić tam polecenie na inne polecenie, takie jak:

gnome-terminal --working-directory=%f --geometry=132x24

W ten sposób masz swój własny domyślny rozmiar.

dschinn1001
źródło