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