Bir Terminal penceresiyle bir Terminal penceresi yeniden boyutlandırılabilir mi?


38

Böylece pencereyi Terminal içinden belirli bir boyuta yeniden boyutlandırabilirdim.

Yanıtlar:


58

Evet. Terminal, boyut ve konum, katman ve en aza indirme de dahil olmak üzere pencereleri değiştirmek için kaçış dizilerini destekler. Boyutlar piksel veya karakterlerle ifade edilebilir. Ayrıntılar için bkz. Xterm Kontrol Dizileri (“Pencere manipülasyonu” için arama yapın; gösterime aşina değilseniz, “CSI”, “Kontrol Dizisi Girişimi” anlamına gelir ESC [).

Örneğin, bu kabuk komutu pencereyi 100x50 karaktere ayarlar:

printf '\e[8;50;100t'

Pencereyi birkaç saniye küçültün, daha sonra tekrar yükleyin:

printf '\e[2t' && sleep 3 && printf '\e[1t'

Pencereyi ekranın üst / sol köşesine getirin:

printf '\e[3;0;0t'

Pencereyi yakınlaştır:

printf '\e[9;1t'

Pencereyi öne getirin (klavye odağını değiştirmeden):

printf '\e[5t'

Terminal Emülatörlerinde Kontrol Dizilerinin Etkinleştirilmesi

Bazı terminal emülatörleri bu kontrol dizilerini varsayılan olarak görmezden gelir ve bunları etkinleştirmek için konfigürasyon gerektirir.

Bunları XTerm'de etkinleştirmek için aşağıdaki kaynağı true olarak ayarlayın:

allowWindowOps

Bunları iTerm2'de etkinleştirmek için aşağıdaki tercihin seçimini kaldırın:

Tercihler> Profiller> [profil]> Terminal> Oturumla başlatılan pencereyi yeniden boyutlandırmayı devre dışı bırak


Bu sadece mükemmel!
LopSae

2
Bundan sonra sen benim tanrımsın!
d12,

2
Bu Yosemite üzerinde iterm2 ile çalışmıyor gibi görünüyor
Jistanidiot

Bu harika çalışıyor ancak Terminal'in pencereyi yalnızca ekranda kısmen görünür kılacak olan yeniden boyutlandırmaları kabul etmediği görülüyor. '' E [8; 100; 100t '' yi yazdırmayı denedim ve bu 79x100'e düştü, tam olarak ne uygun olabilirdi. Benim sorunum, sadece bu Terminali ekran sınırlarının ötesine genişletmek için fareyi
atlamam gerektiği

1
Bu aynı zamanda iTerm2 ile de çalışır.
TextGeek

10

Her zaman AppleScript kullanabilirsiniz:

setwidth() { osascript -e "tell app \"Terminal\" to tell window 1
set b to bounds
set item 3 of b to (item 1 of b) + $1
set bounds to b
end"; }

Bu sadece şu anda aktif olan terminal penceresi / sekmesi için işe yarar. Bunun güvenilir bir şekilde çalışması için, geçerli tty aygıtının yol adını alın ve eşleşen terminal sekmesini bulun.
Chris Sayfa

Ayrıca bakınız superuser.com/a/576357
lhf

10

Kullanın /usr/X11/bin/resize.

resize -s 30 80 size 30 satır ve 80 sütun verecek.

resize -s 30 0 size 30 satır ve tam sütun verecek.

resize -s 0 80 Size tam satır ve 80 sütun verecek.


1
Bu çözüm MacOS ile sınırlı değildir. Terminal tabanlıdır, bu yüzden tüm terminallerde çalışmalıdır. Bunu, TERM = xterm ile bash kabukları çalıştıran Windows üzerindeki PuTTY pencerelerini yeniden boyutlandırmak için kullanıyorum.
DrStrangepork

4
Bu iterm2'deki Yosemite'de işe yaramaz gibi görünüyor.
Jistanidiot

Bu benim için Apple Terminali ile çalışıyor ancak iTerm2 ile çalışmıyor. Bununla birlikte, kaçış dizisinin gönderilmesi \ e [8; 24; 80t her ikisi ile de çalışır.
TextGeek

1
@KrishenGreenwell iTerm2 belgelerine bakın. Varsayılan olarak bu kontrol dizilerini görmezden gelir. Onların göz ardı edilip edilmediğini kontrol etmek için bir tercih var.
Chris Sayfa

1
Bu çözüm işe yarardı, ama bence, X11 komutları kayboldu. Belki, X11'i yükleyerek kurulabilirler, ama ben sadece resize komutunu vermek için X11'i kurmak istemiyorum.
Gabriel

-2

Aslında, bir yeniden boyutlandırma penceresini bir fare ile hareket ettirmek korkunç derecede yavaştır.

SizeUpUpUp uzun bir süredir bu uygulamayı kullanıyorum . Temelde klavye komutunuzu kullanarak herhangi bir uygulama penceresini yeniden boyutlandırır.

Aşağıdakileri yapabilirsiniz (aşağıdaki özel klavye komutlarım):

  • pencereyi tam ekran yap ( control+ option+ command+ m)
  • Bir pencereyi 1/2 ekran boyutunda sola veya sağa doğru hareket ettir ( control+ option+ command+ / )
  • bir pencereyi 1/4 ekran boyutunda herhangi bir köşeye getirme ( control+ option+ shift+ / / / )
  • pencereleri ekranlar arasında hareket ettir
  • pencereleri boşluklar arasında hareket ettir

Bence bu işe yarayabilir ve ayrıca diğer pencere yönetimine de yardımcı olabilir.


Her ne kadar yararlı olsa da, bu sorgunun sorduğu soruyu ele almaz.
Andrew Ferrier
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.