Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[FLNews] Cursornavigation.

1 view
Skip to first unread message

Michael Uplawski

unread,
Sep 7, 2023, 2:08:01 AM9/7/23
to
Moin.

Jetzt weiß ich wieder nicht, welche Komponenten der Cursornavigation
Desktop-abhängig sind.

Die Navigation mit den Cursortasten sollte besser funktionieren.

Wenn ich richtig sehe,

*) kann ich in der Artikelliste navigieren, aber nur mit Ctrl+N einen
ungelesenen Artikel auswählen. Da ist in Ordnung, wenn man sich einen Überblick
über die weiter unten befindlichen Artikel verschaffen will, hat aber sonst
keine Funktion.

-) kann ich in der Gruppenliste gleich nach dem Programmstart ein bisschen rauf
und runter navigieren, aber nicht lange.

Vielleicht ist schon eine Änderung angedacht, anderenfalls schlage ich vor, die
Cursornavigation auf die Gruppenliste zu beschränken, entweder immer, oder
wenigstens bis eine Gruppe „ausgewählt“ wurde .., keine Ahnung wodurch. Die
Leertaste wäre schön. Wenn dann noch Zeit und Energie übrig sind, sollte die
Selektion per Leertaste auch in der Artikellliste wirken.

Wenn ich bis jetzt noch nicht darauf gestoßen bin, heißt das sicher, dass
das alles nicht so wichtig ist.

Cheerio
--
Es ist an der Zeit

Michael Bäuerle

unread,
Sep 8, 2023, 5:08:05 AM9/8/23
to
Michael Uplawski wrote:
>
> [...]
Prinzipiell soll das für Artikelbaum/-liste so funktionieren:
- Cursortasten Links/Rechts öffnen oder schließen einen Teilbaum
(In der Baumansicht, in der Listenansicht haben sie keine Funktion)
- Cursortasten Oben/Unten setzen die Markierung auf den nächsten bzw.
vorherigen sichtbaren Artikel
(in der Baumansicht werden geschlossene Teilbäume übersprungen)
- Eingabetaste lädt den Artikel, auf dem die Markierung steht
(FLTK-Ereignis "FL_Enter", das ist aber nicht die Entertaste
des Nummernblocks)

- Mit Tab setzt man den Fokus auf den nächsten Bereich
Gruppenliste -> Artikelbaum/-liste -> Artikel
Mit Shift-Tab in die andere Richtung.

In der Gruppenliste
- Cursortasten Oben/Unten wählt die jeweils nächste Gruppe
Der Fokus geht damit automtisch zurück zum Artikelbaum/-liste
(nicht optimal, wenn man Gruppen überspringen will)

Im Artikel:
- Cursortasten Oben/Unten scrollen vertikal

Mit FLTK 1.4.x sollte sich das wie vorgesehen verhalten.

Mit FLTK 1.3.0 konnte ich dieses Verhalten nicht umsetzen. Dass es
damit nicht richtig funktioniert ist also weder Absicht noch ein
Bug.
Damit man mit der Eingabetaste einen Artikel auswählen kann wird das
ABI 1.3.1, und für die Oben/Unten-Navigation das ABI 1.3.3 benötigt.
Wenn du eine FLTK 1.3 shared library verwendest, dann bietet diese
aus Kompatibilitätsgründen nur das ABI 1.3.0.
Man kann aber auch FLTK 1.3 so compilieren, dass es ein neueres ABI
verwendet:
<https://www.fltk.org/doc-1.3/Enumerations_8H.html#a619cd27e13a15a7b1b5ead0932dd3912>
Damit geht die Kompatibilität verloren und man sollte eine static
library verwenden, die dann Teil des Programms wird -- also nicht erst
beim Start geladen wird (sollte die Standardeinstellung sein, wenn die
Option "--enable-shared" nicht angegeben wird).

Michael Uplawski

unread,
Sep 8, 2023, 6:06:24 AM9/8/23
to
Mahlzeit.

Michael Bäuerle hat geschrieben:
> Prinzipiell soll das für Artikelbaum/-liste so funktionieren:
> - Cursortasten Links/Rechts öffnen oder schließen einen Teilbaum
> (In der Baumansicht, in der Listenansicht haben sie keine Funktion)

funktioniert auch so

> - Cursortasten Oben/Unten setzen die Markierung auf den nächsten bzw.
> vorherigen sichtbaren Artikel
> (in der Baumansicht werden geschlossene Teilbäume übersprungen)

funktioniert.

> - Eingabetaste lädt den Artikel, auf dem die Markierung steht
> (FLTK-Ereignis "FL_Enter", das ist aber nicht die Entertaste
> des Nummernblocks)

Ich habe leider nur eine einzige Entertaste, die öffnet aber keinen Artikel.
Sie tut effektiv gar nichts.

> - Mit Tab setzt man den Fokus auf den nächsten Bereich
> Gruppenliste -> Artikelbaum/-liste -> Artikel
> Mit Shift-Tab in die andere Richtung.

Funktioniert Gott sei Dank.

> In der Gruppenliste
> - Cursortasten Oben/Unten wählt die jeweils nächste Gruppe
> Der Fokus geht damit automtisch zurück zum Artikelbaum/-liste
> (nicht optimal, wenn man Gruppen überspringen will)

So ist das. Ich muss mit Shift-Tab jedesmal wieder zurück, oder die Maus
bemühen.

> Mit FLTK 1.4.x sollte sich das wie vorgesehen verhalten.
> Mit FLTK 1.3.0 konnte ich dieses Verhalten nicht umsetzen. Dass es
> damit nicht richtig funktioniert ist also weder Absicht noch ein
> Bug.

Hier liegt der Elch begraben.

> Damit man mit der Eingabetaste einen Artikel auswählen kann wird das
> ABI 1.3.1, und für die Oben/Unten-Navigation das ABI 1.3.3 benötigt.
> Wenn du eine FLTK 1.3 shared library verwendest, dann bietet diese
> aus Kompatibilitätsgründen nur das ABI 1.3.0.
> Man kann aber auch FLTK 1.3 so compilieren, dass es ein neueres ABI
> verwendet:
> <https://www.fltk.org/doc-1.3/Enumerations_8H.html#a619cd27e13a15a7b1b5ead0932dd3912>
> Damit geht die Kompatibilität verloren und man sollte eine static
> library verwenden, die dann Teil des Programms wird -- also nicht erst
> beim Start geladen wird (sollte die Standardeinstellung sein, wenn die
> Option "--enable-shared" nicht angegeben wird).

Ich werde versuchen, eine neuere Bibliothek und FLNews dagegen zu kompilieren.

Danke einstweilen

Michael Uplawski

unread,
Sep 8, 2023, 9:39:31 AM9/8/23
to
Nur eine Frage zum Verständnis :

Michael Bäuerle hat geschrieben:

> Damit man mit der Eingabetaste einen Artikel auswählen kann wird das
> ABI 1.3.1, und für die Oben/Unten-Navigation das ABI 1.3.3 benötigt.
> Wenn du eine FLTK 1.3 shared library verwendest, dann bietet diese
> aus Kompatibilitätsgründen nur das ABI 1.3.0.

Wo du schreibst „FLTK 1.3 shared library“, meinst du vielleicht 1.3.x ?

1.3.8 habe ich kompiliert (enable-shared auf “no” belassen) und nachher wurde
auch FLNews gegen 1.3.8 neu gebaut. Ich bemerke keinerlei Veränderung. Darum
die Frage.

Cheerio.

Michael

Michael Bäuerle

unread,
Sep 8, 2023, 10:57:39 AM9/8/23
to
Michael Uplawski wrote:
> Michael Bäuerle hat geschrieben:
> >
> > Damit man mit der Eingabetaste einen Artikel auswählen kann wird das
> > ABI 1.3.1, und für die Oben/Unten-Navigation das ABI 1.3.3 benötigt.
> > Wenn du eine FLTK 1.3 shared library verwendest, dann bietet diese
> > aus Kompatibilitätsgründen nur das ABI 1.3.0.
>
> Wo du schreibst „FLTK 1.3 shared library“, meinst du vielleicht 1.3.x ?
>
> 1.3.8 habe ich kompiliert (enable-shared auf “no” belassen) und nachher wurde
> auch FLNews gegen 1.3.8 neu gebaut. Ich bemerke keinerlei Veränderung. Darum
> die Frage.

Das reicht nicht, da FLTK 1.3.x wegen der Kompatibilität zu 1.3.0 die
neuen Features (die das ABI ändern) nicht automatisch aktiviert.

Zitat aus der Datei "README.abi-version.txt" im Sourcetree:
|
| make clean
| ./configure --with-abiversion=10304
| make

In deinem Fall kannst du auch 10308 angeben (also alle neuen Features
deiner Version aktivieren).

Eine so gebaute FLTK-Bibliothek ist nicht binärkompatibel zu 1.3.0 bzw.
der Standardkonfiguration (man sollte deswegen keine shared library
bauen lassen).

In der Header-Datei "FL/abi-version.h" sollte die Konstante
FL_ABI_VERSION nun die angegebene Version haben und flnews entsprechend
reagieren, wenn er damit compiliert wird.

Michael Uplawski

unread,
Sep 9, 2023, 12:34:40 AM9/9/23
to
Moin

Michael Bäuerle hat geschrieben:

> | ./configure --with-abiversion=10304
>
> In deinem Fall kannst du auch 10308 angeben (also alle neuen Features
> deiner Version aktivieren).

In beiden Fällen kommte es beim Kompilieren von FLNews zu einem Fehler:
-------------
/usr/bin/ld: gui.o: in function `MainWindow::scrollTree(ui_scroll, Fl_Tree_Item*)':
.gui_nls.cxx:(.text._ZN10MainWindow10scrollTreeE9ui_scrollP12Fl_Tree_Item+0x26): undefined reference to `Fl_Tree::calc_tree()'
-------------

abi-version.h habe ich jedesmal überprüft und auch vor jeder Kompilierung make
clean und distclean ausgeführt.

An dieser Stelle möchte ich mich gerne für inkompetent erklären und nur nochmal
feststellen, dass FLNews mit fltk 1.3 hervorragend funktioniert.

Herzlichen Dank dennoch.

Schönes Wochenende

Michael Bäuerle

unread,
Sep 9, 2023, 4:08:43 AM9/9/23
to
Michael Uplawski wrote:
> Michael Bäuerle hat geschrieben:
> >
> > | ./configure --with-abiversion=10304
> >
> > In deinem Fall kannst du auch 10308 angeben (also alle neuen Features
> > deiner Version aktivieren).
>
> In beiden Fällen kommte es beim Kompilieren von FLNews zu einem Fehler:
> -------------
> /usr/bin/ld: gui.o: in function `MainWindow::scrollTree(ui_scroll, Fl_Tree_Item*)':
> .gui_nls.cxx:(.text._ZN10MainWindow10scrollTreeE9ui_scrollP12Fl_Tree_Item+0x26): undefined reference to `Fl_Tree::calc_tree()'
> -------------
>
> abi-version.h habe ich jedesmal überprüft und auch vor jeder Kompilierung make
> clean und distclean ausgeführt.
>
> An dieser Stelle möchte ich mich gerne für inkompetent erklären ...

Warte damit mal noch etwas, das sieht aus als wäre es meine Schuld.

Ich verwende flnews üblicherweise mit der FLTK 1.3 shared library des
Betriebssystems (d.h. ohne alle erweiterten Features), oder gleich
FLTK 1.4 (wo das alles verfügbar ist). FLTK 1.3 mit modifiziertem
ABI habe ich jedenfalls schon seit langer Zeit nicht mehr getestet.

Michael Bäuerle

unread,
Sep 9, 2023, 6:14:39 AM9/9/23
to
Michael Bäuerle wrote:
> Michael Uplawski wrote:
> > Michael Bäuerle hat geschrieben:
> > >
> > > | ./configure --with-abiversion=10304
> > >
> > > In deinem Fall kannst du auch 10308 angeben (also alle neuen Features
> > > deiner Version aktivieren).
> >
> > In beiden Fällen kommte es beim Kompilieren von FLNews zu einem Fehler:
> > -------------
> > /usr/bin/ld: gui.o: in function `MainWindow::scrollTree(ui_scroll, Fl_Tree_Item*)':
> > .gui_nls.cxx:(.text._ZN10MainWindow10scrollTreeE9ui_scrollP12Fl_Tree_Item+0x26): undefined reference to `Fl_Tree::calc_tree()'
> > -------------
> >
> > abi-version.h habe ich jedesmal überprüft und auch vor jeder Kompilierung make
> > clean und distclean ausgeführt.
> >
> > An dieser Stelle möchte ich mich gerne für inkompetent erklären ...
>
> Warte damit mal noch etwas, das sieht aus als wäre es meine Schuld.

Oder doch nicht. Ich kann den Fehler zumindest nicht reproduzieren.

Ich habe ein FLTK 1.3.8 mit "--with-abiversion=10308" konfiguriert und
damit lässt sich flnews 1.2.1pre2 compilieren.
Die Auswahl eines Artikels via Return-Taste funktioniert dann auch.

Ich vermute du hattest doch noch irgendwo eine andere FLTK-Version
(oder Reste davon) herumliegen. Da darf nichts durcheinandergeraten und
- das Programm "fltk-config"
- die Headerdateien "include/FL/*"
- die Bibliotheken "lib/libfltk*"
müssen zusammenpassen.

Ich habe auf meiner Maschine auch mehrere Versionen und es ist mir
gerade um die Ohren geflogen, weil mein GCC "/usr/local/include"
offenbar als "standard system include directory" betrachtet. Ich hatte

CPPFLAGS="-I/usr/local/include -I/usr/pkg/include"

angegeben und "-I/usr/local/include" wurde deswegen ignoriert (also
nicht zuerst durchsucht, wie von mir gewünscht). Es wurden dann die
falschen Headerdateien verwendet und das führte zu Fehlern ähnlich
dem bei dir.

Michael Uplawski

unread,
Sep 9, 2023, 7:48:15 AM9/9/23
to
Holdrio

Michael Bäuerle hat geschrieben:

> Ich vermute du hattest doch noch irgendwo eine andere FLTK-Version
> (oder Reste davon) herumliegen. Da darf nichts durcheinandergeraten und
> - das Programm "fltk-config"
> - die Headerdateien "include/FL/*"
> - die Bibliotheken "lib/libfltk*"
> müssen zusammenpassen.

(...)

> CPPFLAGS="-I/usr/local/include -I/usr/pkg/include"
>
> angegeben und "-I/usr/local/include" wurde deswegen ignoriert (also
> nicht zuerst durchsucht, wie von mir gewünscht). Es wurden dann die
> falschen Headerdateien verwendet und das führte zu Fehlern ähnlich
> dem bei dir.

Das werde ich mir diesen Nachmittag genauer ansehen.
Vielen Dank.

Michael Uplawski

unread,
Sep 9, 2023, 10:47:49 AM9/9/23
to
Michael Bäuerle hat geschrieben:

> Ich habe ein FLTK 1.3.8 mit "--with-abiversion=10308" konfiguriert und
> damit lässt sich flnews 1.2.1pre2 compilieren.
> Die Auswahl eines Artikels via Return-Taste funktioniert dann auch.

Jawoll. Das geht jetzt. Ich habe einfach nur die CPPFLAGS setzen müssen.

Davor habe ich erst noch bemerkt, dass Debian Trixie sowieso schon
FLTK 1.3.8 installiert. Es hing also ausschließlich an der ABI (ich bin
langsam).

Außerdem verstehe ich erst jetzt deinen ersten Post oben völlig
(<news:AABk+uJBXz0AA...@WStation5.stz-e.de> <= Hier fehlt absichtlich
„news:“, aber das wisst Ihr nicht). Die Navigation zwischen den Panels ist
jeweils eine Sackgasse und in der Gruppenliste geht nur der Sprung zu
unmittelbar benachbarten Gruppen. Ich hab's geheckt.

Und dennoch ist das magisch. Compiler-Flags setzen, ABI-Version einstellen...
Ey, Mann! Ich foltere Traktoren und pflücke Äpfel! Stopp. Verkehrt. Das sind
noch Birnen, diese Woche.

Kurz. Hat geklappt.

Schönen Sonntag

Michael Bäuerle

unread,
Sep 9, 2023, 11:26:04 AM9/9/23
to
Michael Uplawski wrote:
> Michael Bäuerle hat geschrieben:
> >
> > Ich habe ein FLTK 1.3.8 mit "--with-abiversion=10308" konfiguriert und
> > damit lässt sich flnews 1.2.1pre2 compilieren.
> > Die Auswahl eines Artikels via Return-Taste funktioniert dann auch.
>
> Jawoll. Das geht jetzt. Ich habe einfach nur die CPPFLAGS setzen müssen.
>
> Davor habe ich erst noch bemerkt, dass Debian Trixie sowieso schon
> FLTK 1.3.8 installiert. Es hing also ausschließlich an der ABI (ich bin
> langsam).

Dann wurden wohl die Headerdateien dieses Pakets verwendet, aber gegen
die von dir gebaute Bibliothek gelinkt.

> Außerdem verstehe ich erst jetzt deinen ersten Post oben völlig
> (<news:AABk+uJBXz0AA...@WStation5.stz-e.de> <= Hier fehlt absichtlich
> „news:“, aber das wisst Ihr nicht). Die Navigation zwischen den Panels ist
> jeweils eine Sackgasse und in der Gruppenliste geht nur der Sprung zu
> unmittelbar benachbarten Gruppen. Ich hab's geheckt.

Ich selbst verwende die Navigation via Tastatur nicht, auch deswegen
ist das so unausgereift. Dokumentiert ist es glaube ich momentan auch
nirgends (macht vor dem Release von FLTK 1.4.0 wohl auch wenig Sinn,
da es mit FLTK 1.3.0 nicht wirklich sinnvoll nutzbar ist).

Sinnvoll wäre hier, dass man mit Cursortaste Oben/Unten die Gruppe
auswählt und mit der Return-Taste die ausgewählte Gruppe lädt.

Dass die Navigation durch die Panels nicht im Kreis herum funktioniert
finde ich akzeptabel (sind ja nur drei).

> [...]
> Kurz. Hat geklappt.

Ich dachte zuerst da wäre noch ein Bug drin.
Danke, dass du es nochmal getestet hast.
0 new messages