Tìm kiếm thiết bị đầu cuối X với xử lý thay đổi kích thước cửa sổ chính xác


8

Có chương trình thiết bị đầu cuối X nào, phản chiếu nội dung khi tôi thay đổi kích thước cửa sổ không? Gnome-terminal và Sakura thực hiện tốt nửa chừng : khi tôi thu nhỏ cửa sổ và mở rộng lại, công cụ sẽ quay trở lại phía bên phải màn hình như tôi muốn:

Mở một cửa sổ lớn:

line 1 abcdefghijklmnopqrstuvwxyz       | right margin
line 2 abcdefghijklmnopqrstuvwxyz       | 

Thu nhỏ nó:

line 1 abcdefghijklm | right margin
line 2 abcdefghijklm |

Thay đổi kích thước về bản gốc (gnome-terminal, sakura), đó là những gì tôi muốn thấy:

line 1 abcdefghijklmnopqrstuvwxyz       | right margin
line 2 abcdefghijklmnopqrstuvwxyz       |

Thay đổi kích thước thành bản gốc (xterm, lxterm, PuTTY / win32), tôi không thích điều này:

line 1 abcdefghijklm                    | right margin
line 2 abcdefghijklm                    | 

Không sao, một số thiết bị đầu cuối hoạt động tốt, một số khác thì không. Nhưng khi tôi mở một cửa sổ nhỏ và mở rộng nó, tất cả các thiết bị đầu cuối hoạt động theo cùng một cách: các dòng vẫn được bọc ở phía bên trái, thay vì chảy lại và bọc lại:

Cửa sổ nhỏ (dòng 1 và 2 vừa hết cửa sổ):

line 3 abcdefghijklm | right margin
nopqrstuvwxyz        |
line 4 abcdefghijklm |
nopqrstuvwxyz        |

Thay đổi kích thước để lớn hơn:

line 3 abcdefghijklm                    | right margin
nopqrstuvwxyz                           |
line 4 abcdefghijklm                    |
nopqrstuvwxyz                           |

Thay vào đó, những gì tôi muốn thấy:

line 1 abcdefghijklmnopqrstuvwxyz       | right margin
line 2 abcdefghijklmnopqrstuvwxyz       |
line 3 abcdefghijklmnopqrstuvwxyz       |
line 4 abcdefghijklmnopqrstuvwxyz       |

Có một cơ hội để có được kết quả này? (Tôi đang sử dụng Ubuntu với LXDE, nếu có vấn đề).


Argh, tính năng này đã bị xóa khỏi terminator: "Chúng tôi đã thử cả hai dòng văn bản này và giống như Apple khi bạn thay đổi kích thước cửa sổ và chúng tôi quyết định chúng tôi thích điều này. Đáng buồn thay, chúng tôi không có tài nguyên để hỗ trợ hai triển khai, do đó, việc chỉnh lại không còn là một lựa chọn nữa, nó đã đi ra khỏi mã. " software.jessies.org/terminator
ern0

Câu trả lời:


7

Màn hình làm những gì bạn muốn. Nó kết thúc các dòng trong khi thay đổi kích thước cửa sổ.

sudo apt-get install screen
screen

HTH


và nó duyên dáng xử lý tách ra từ một thiết bị đầu cuối có một kích thước (80x24, giả sử) và gắn lại từ một thiết bị đầu cuối có kích thước khác (giả sử, 132x50).
Tim Kennedy

2

Chỉ cần kiểm tra konsole từ KDE. Nó hoạt động như bạn muốn.


Có vẻ không phải là trường hợp (Konsole 2.8.5)
Romuald Brunet

Nó hoạt động với tôi: Phiên bản 15.08.0
xliiv

2

Trình giả lập thiết bị đầu cuối beta mới có tên FinalTerm đã hỗ trợ cho việc này.

Đây là một trong những tính năng được quảng cáo chính trên trang web của họ .

Xin lưu ý rằng thiết bị đầu cuối này vẫn đang trong quá trình phát triển nặng nề và có lẽ không phù hợp để sử dụng hàng ngày.


1

Đây phần lớn là một chức năng của ứng dụng cơ bản chứ không phải là chương trình đầu cuối. Một số ứng dụng sẽ truyền lại văn bản một cách chính xác, những ứng dụng khác sẽ không được xây dựng.

Thông thường, một ứng dụng (hoặc chương trình đầu cuối như xterm) sẽ bẫy SIGWINCH và thực hiện thay đổi kích thước cho phù hợp. Nếu chương trình thiết bị đầu cuối của bạn đã thêm ngắt dòng vào văn bản khi văn bản kết thúc, nó có thể không giữ lại đủ thông tin để biết dòng nào sẽ mở ra.

Điều này hoàn toàn có khả năng trong trường hợp của một chương trình đầu cuối vì đây sẽ là hành vi mặc định hợp lý. Một chương trình đầu cuối có thể chấp nhận các lệnh di chuyển con trỏ, do đó, một chuỗi các ký tự có thể không trực tiếp dịch thành các dòng với các ký tự ngắt dòng được hiểu rõ. Có lẽ không khả thi đối với một chương trình thiết bị đầu cuối để gọi lại ngắt dòng trong trường hợp chung.

Có thể có những lý do khác là tốt. Tôi hy vọng rằng hầu hết nếu không phải tất cả các chương trình thiết bị đầu cuối sẽ có hành vi này. Theo phỏng đoán, việc sửa lỗi này sẽ yêu cầu chương trình đầu cuối đệm luồng đầu vào và kết xuất lại toàn bộ bộ đệm cuộn của nó trong một sự kiện thay đổi kích thước. Gói đường hậu hoc là một vấn đề đơn giản hơn nhiều.

Các chương trình khác (ví dụ như các trình soạn thảo dựa trên lời nguyền) thường sẽ có cấu trúc tài liệu nội bộ độc lập với gói hiển thị, vì vậy chúng giữ lại đủ thông tin để chỉnh lại văn bản một cách chính xác.


1
Vấn đề là rõ ràng, nhưng nó cần được giải quyết bằng cách nào đó. Nói rằng, nên có một màn hình ảo và một màn hình hiển thị. Trên màn hình ảo, các dòng dài không giới hạn và cũng có lịch sử dòng lớn. Khi thay đổi kích thước xảy ra, màn hình ảo này sẽ được hiển thị lại trên màn hình hiển thị. Chuyển động con trỏ (và tất cả nội dung VT100) nên được thực hiện một cách thông minh: nó có thể ảnh hưởng đến màn hình ảo, nhưng nó sẽ "chăm sóc" kích thước của màn hình hiển thị thực tế. Không dễ, nhưng không phải là không thể.
ern0

Tính toán khó khăn để khó có thể, tôi nghĩ. Một thiết bị đầu cuối có thể định địa chỉ con trỏ, do đó, mối quan hệ giữa các dòng trên màn hình và đầu ra ký tự đến thiết bị đầu cuối không đơn giản như chỉ các dòng ký tự. xterm đã gần 30 tuổi - bây giờ ai đó đã sửa nó nếu nó (a) có thể sửa được và (b) có vấn đề.
Mối quan tâmOfTunbridgeWells

Anh chàng này nói rằng nó hoạt động trên Mac Askubfox.com/questions/66315/ cấp
ern0

Vâng, điều này liên quan đến chương trình thiết bị đầu cuối. Nếu ứng dụng của bạn chỉ in một số văn bản (ví dụ grep foo bar.txt:), chỉ có thiết bị đầu cuối biết phải làm gì với đầu ra khi nó thoát
Romuald Brunet

1

Tôi cũng đã tìm kiếm một cái gì đó như thế này; Tôi ban đầu làm cho tất cả các thiết bị đầu cuối của tôi bắt đầu với màn hình, mà trên tất cả là những gì tôi đã sau.

Tuy nhiên, đôi khi có một lớp vỏ được lồng bên trong màn hình không phải là điều bạn muốn, nhưng bạn vẫn cần gói dòng thích hợp - cuối cùng tôi đã chán ngấy với điều này và càng nhiều thiết bị đầu cuối trong kho lưu trữ của Ubuntu càng tốt và chỉ có một Tôi đã thấy rằng gói hàng phù hợp là rxvt-unicode- nó không phải là thiết bị đầu cuối hấp dẫn nhất trên thế giới nhưng nó cực kỳ nhanh, và nó hoạt động và cuối cùng có gói phù hợp để thay đổi kích thước :)

Ngoài ra, với số lượng khá lớn khi sử dụng .Xdefaults, bạn có thể làm cho nó trông ít nhất là xấu xí hơn!

Chỉnh sửa: trên thực tế, bài đăng này: http://crunchbanglinux.org/wiki/urxvt có một số hướng dẫn đơn giản để làm cho rxvt trông gần giống như một thiết bị đầu cuối gần đây. Vấn đề đã được giải quyết :)


0

VTE hỗ trợ điều này bắt đầu từ phiên bản 0.35 (đây là công cụ đầu cuối thực tế đằng sau Gnome-Terminal và Sakura).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.