Split-Views in Konsole

Windowsspezifische Probleme, WinAPI, conio.h
Antworten
Benutzeravatar
Architekt
Beiträge: 172
Registriert: Sa Mai 24, 2014 12:04 pm

Split-Views in Konsole

Beitrag von Architekt » So Jul 29, 2018 6:26 pm

Hallo zusammen!
Mein Kollege benutzt für einfach alles Neo-Vim und hat dort die Möglichkeit, Split-Views in der Konsole zu verwenden. Ich frage mich, wie man in der Konsole mehrere Terminals (bzw. Emulatoren) ermöglicht. Ich weiß, dass es dazu mehrere Multiplexer gibt, wie tmux oder screen, aber mich interessiert speziell der Fall in Vim, da ich so einen Terminal-Split-View aus Jux gerne mal für Windows für einen der Terminal-Emulatoren programmieren würde. Bislang verwende ich ConEmu bzw. cmder aber das sind ja - soweit ich weiß - Guis die in den Widgets Terminals einbetten.
Soweit ich weiß, sind es in Vim verschiedene Text-Buffer in denen geschrieben werden kann, aber wie werden die nebeneinander in der Konsole platziert?
Außerdem hat Vim ja auch die Möglichkeit, diese Terminal-Views als Shell zu benutzen und damit auch ganz normale Terminal-Kommandos auszuführen: wie werden die an das Terminal weiter delegiert?
Ich hoffe jmd. kann mir weiterhelfen.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8462
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Split-Views in Konsole

Beitrag von Xin » So Jul 29, 2018 11:03 pm

Moin,

Ich weiß nicht, wie vim das macht, aber das sollte alles mit NCurses gehen.
Allerdings weiß ich nicht, ob NCurses auf Windows funktionsfähig ist, aber prinzipiell müsste das gehen, schließlich läuft es mit CygWin ja auch.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Architekt
Beiträge: 172
Registriert: Sa Mai 24, 2014 12:04 pm

Re: Split-Views in Konsole

Beitrag von Architekt » Mo Jul 30, 2018 7:00 am

Danke, das wäre schonmal ein guter Startpunkt. Ich hatte aber gehofft, das Prinzip dahinter besser zu verstehen. :) Im Grunde will ich das nur für Windows, daher sollte es doch wesentlicher simpler sein als Plattformunabhängig. Aber ich weiß nicht, welche Funktionen mir die Terminal-Manipulation erlauben, schon gar nicht im Punkt Split-View. :/

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8462
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Split-Views in Konsole

Beitrag von Xin » Mo Jul 30, 2018 9:00 am

In NCurses schreibst Du nicht mehr auf die Konsole, sondern in Speicherbereiche. Dein print-Befehl schreibt also in ein NCurses-Fenster. Diese Fenster kannst Du in der Konsole anordnen. Übereinander, aufeinander, nebeneinander. Ordnest Du zwei Fenster nebeneinander an, hast Du ein Splitview.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Architekt
Beiträge: 172
Registriert: Sa Mai 24, 2014 12:04 pm

Re: Split-Views in Konsole

Beitrag von Architekt » Mo Jul 30, 2018 2:02 pm

Wäre sowas auch nativ möglich, ohne Bibliothek wenn es nur für ein OS ist?

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8462
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Split-Views in Konsole

Beitrag von Xin » Mo Jul 30, 2018 4:28 pm

Möglich ist das schon, aber dann schreibst Du Deinen eigene Library.
Also nicht nur, dass Du sie schreibst, Du musst ja auch erstmal selbst rausfinden, wie das im Detail alles funktioniert.
Das ist bis zu einer gewissen Problematik ja auch vertretbar, aber willst Du das?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Architekt
Beiträge: 172
Registriert: Sa Mai 24, 2014 12:04 pm

Re: Split-Views in Konsole

Beitrag von Architekt » Mo Jul 30, 2018 5:03 pm

Ich würde zumindest gerne das Konzept dahinter verstehen. Vim hat ja meines Wissens auch nun eine eigene Implementierung und verwendet NCurses nicht mehr. Davon abgesehen werde ich mal rausfinden, ob man ncurses auch auf Windows verwenden kann.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8462
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Split-Views in Konsole

Beitrag von Xin » Mo Jul 30, 2018 5:14 pm

Was möchtest Du denn verstehen? Du musst den Cursor positionieren können und dort ein Zeichen drucken können. Das kombinierst Du dann entsprechend, dass Du Fensterblöcke schreiben kannst, ohne andere Bereiche zu verändern.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Architekt
Beiträge: 172
Registriert: Sa Mai 24, 2014 12:04 pm

Re: Split-Views in Konsole

Beitrag von Architekt » Mo Jul 30, 2018 9:52 pm

Eine Anleitung, Tutorials oder Beispiele wie das geht wäre cool. Leider findet man recht wenig dazu. Wie teilt man z.B. das Terminal in einzelne Views auf?

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8462
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Split-Views in Konsole

Beitrag von Xin » Di Jul 31, 2018 6:34 am

Architekt hat geschrieben:
Mo Jul 30, 2018 9:52 pm
Eine Anleitung, Tutorials oder Beispiele wie das geht wäre cool. Leider findet man recht wenig dazu. Wie teilt man z.B. das Terminal in einzelne Views auf?
Wer in der Konsole mehrere Fenster braucht ist in der Regel kein Anfänger mehr, die Dokumentation lässt dann häufig zu wünschen übrig.

Ich habe mal sowas angefangen, aber das liegt schon länger brach.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten