Position des Textcursors ermitteln
-
Ist es irgendwie möglich die Position des Textcursors des aktuellen Fensters zu bestimmen - so wie man es unter Windows kann?
Ich habe zwar schon über Google gesucht aber nichts Passendes gefunden.Viele Grüße,
Tsunami
-
Hallo,
schau dir doch einmal die ncurses Library an.
http://www.gnu.org/software/ncurses/ncurses.html
-
Vielen Dank für den Tip, werde es mir mal anschauen
-
Wenn du plants, dein Programm auch nur irgendwann auf Windoof zu portieren, kannst du ncurses leider nicht benutzen.
mfg, Hans
-
Am zügigsten geht das mit den ANSI Escape Sequenzen
Golem86 schrieb:
Wenn du plants, dein Programm auch nur irgendwann auf Windoof zu portieren, kannst du ncurses leider nicht benutzen.
Curses gibt es natürlich auch für Windows. Daher ist das gar kein Problem.
-
Wirklich? Hast du nen Link? Ich hab nämlich zu meinen MinGW-Windoof-Zeiten ewig versucht, ncurses zu kompilieren (ist aber an termios.h gescheitert, vielleicht eine andere curses-Version)?
Danke, Hans
-
Mit Cygwin laufen wohl die ncurses. Ansonsten gibt es noch andere Curses Implementierungen (zB PDCurses), die unter Win32 funktionieren.
Im Zweifelsfall gibt es auch noch andere Ansätze, wie SLang.
-
PDCurses hab ich gesucht (Cygwin emuliert mir eben zu viel)!
Vielen Dank!mfg, Hans
-
Hallöchen, sorry das ich mich erst jetzt noch mal zurück melde. Bin vorher nicht dazu gekommen mir ncurses richtig anzugucken. Der Anleitung nach ist ncurses leider scheinbar nicht für mich geeignet.
Ich suche nach einer Möglichkeit die Textcursor-Position in fremden Anwendungen zu ermitteln, also z.B. in gedit oder OpenOffice. Nahe dieser Position möchte ich einen Dialog setzen, der ähnlich wie LetMeType beim Tippen Autovervollständigungsvorschläge unterbreitet. Gibt es eine Möglichkeit via X11 an die Koordinaten zu gelangen? Ich habe leider nichts Konkretes dazu finden können.
-
Suchst Du nicht eher nach der Cursorposition? Also im Sinne von "Mauscursor", nicht "Textcursor". XLib wäre dann das Mittel Deiner Wahl. (Oder eventuell auch XCB, habe ich allerdings selbst noch nicht verwendet.)
-
Ich wollte das in meinem Programm so realisieren, wie es bei LetMeType auch ist. Hier mal ein Screenshot. Ich möchte, dass während des Tippens an der Position der Schreibmarke/Textcursor oder wie man das Dingen auch immer nennt
- ein Dialog aufpoppt, wo der Benutzer Vorschläge bekommt. Mit dem Mauscursor ist das leider nicht gut machbar, da der meistens beim Tippen irgendwo in der Landschaft steht
Aus diesem Grund habe ich es in meinem Programm so gemacht, dass der Dialog mittig des Bildschirms erscheint. Aber das finde ich recht unpraktisch und würde es lieber so machen wie dieses Windowsprogramm LetMeType, sofern das unter Linux realisierbar ist. Ich habe bei meiner Suche bisher nur Funktionen gefunden um den Mauscursor zu bestimmen/verändern, nichts aber zur Schreibmarke.
-
D'oh, sorry, Denkfehler.
Naja, der Schreibcursor wird ja auch vom jeweiligen Framework gezeichnet, nicht direkt von X, dh. das könnte ein bisschen mühsam werden.
Schau vielleicht eher in diese Richtung, als eine ganz low-levelige Lösung zu suchen: http://doc.trolltech.com/4.2/qt4-2-intro.html#text-completion-framework