Chciałbym wyświetlić 3 listy słów w oddzielnych liniach poziomo wzdłuż dolnej krawędzi (chociaż górna też by działała) każdej otwartej ramki emacsa. Pomyślałem o 6 sposobach na zrobienie tego i wszystkie mają problemy:
Moją pierwszą myślą było dodanie linii do mojej linii trybu, ale AFAICT nie można użyć znaku nowej linii w linii trybu, po prostu zostaje przekonwertowany na „^ J”.
Druga myśl polegała na tym, aby mieć linię na górze ekranu i użyć linii nagłówka, ale nie obsługuje ona także znaku nowej linii.
Mógłbym wyświetlić nakładkę na ostatnie 3 linie okna, ale sprawienie, by ta solidność wydawała się trudna - przewijanie musiałoby zostać uruchomione, gdy punkt osiągnie nakładkę, a nie rzeczywisty koniec okna, i musiałbym ciągle zmieniać położenie nakładka, ponieważ nakładki znajdują się w przestrzeni tekstowej, a nie w przestrzeni okna.
Mógłbym spróbować stworzyć dedykowane okna u dołu ramki. Próbowałem to zakodować, ale to też nie jest zbyt solidne, wydaje się, że nie działa poprawnie, gdy ramka zawiera już podzielone okna i musiałem ponownie powiązać Cx, 1 z niestandardową wersją delete-other-windows, która ignoruje moje specjalne okna i jestem pewien, że istnieją inne narożne skrzynki. Również kiedy okno pomocy otwiera się teraz, otwiera się pionowo, ponieważ wydaje się, że jest już podział poziomy (co technicznie istnieje, ale służy tylko do wyświetlania okna z jedną linią).
Mógłbym mieć dedykowaną ramkę do tego, ale wtedy moja konfiguracja nie będzie działać w trybie terminalowym, i musiałbym napisać skrypt do mojego menedżera okien, aby poradził sobie z utrzymywaniem go na dole ekranu, dzięki czemu nie można go wybrać, nie wpływa na układ, itd itd.
Mógłbym wstawić tekst 3 linii bezpośrednio do minibufora. Mam częściowo działający, mogę wyhodować minibufor, aby pomieścić 3 linie i mogę je wyświetlić. Jednak za każdym razem, gdy jakakolwiek wiadomość jest wyświetlana, wiersze znikają, dopóki nie wydam innego polecenia, w którym miejscu ponownie się pojawiają. Idealnie 3 linie i obszar echa nie zachodzą na siebie, więc mogłem zobaczyć oba. Byłoby to mniej denerwujące, gdybym mógł niezawodnie filtrować, które wiadomości trafiają do obszaru echa - znalazłem rozwiązanie na EmacsWiki, ale wydaje się, że nie działa dla wiadomości, które pochodzą ze źródła emacs C (konkretnie chciałbym uzyskać pozbyć się wiadomości zapisywania plików, ponieważ często zapisuję automatycznie na zegarze).
W kontekście, moim celem jest ciągłe wyświetlanie najczęściej używanych słów w bieżącym buforze, słów najbliższego punktu w bieżącym buforze oraz słów ostatnio używanych w bieżącym buforze. Zamierzam móc je wstawić do bufora za pomocą poleceń głosowych. Więc mógłbym powiedzieć „najbliższe 2” i pozwolić mu wybrać drugi element z listy słów najbliższego punktu i wstawić go. Dbam tylko o to, by listy słów były widoczne dla każdego bufora, który aktualnie edytuję. Nie chcę używać okien wyskakujących używanych przez różne tryby uzupełniania kodu, ponieważ listy muszą być zawsze widoczne.