Projektvorstellung: KISS Ebook - Ebook Schnellstarter

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
theSplit
Beiträge: 17
Registriert: 30.07.2015 09:58:54

Projektvorstellung: KISS Ebook - Ebook Schnellstarter

Beitrag von theSplit » 27.12.2016 14:41:12

Hallo,

ich würde euch gerne "KISS Ebook" vorstellen und bin auf der Suche nach Testern und würde mich sehr über Feedback freuen.
Der Einfachheit halber kürze ich KISS Ebook folgend mit "kisslib" ab.

Was ist kisslib?
kisslib ist ein Ebook Schnellstarter in Entwicklung, kann aber schon in vollem Umfang genutzt werden, der es erleichtern soll Ebook Sammlungen im Überblick zu behalten und Ebooks schnell finden und öffnen zu können ohne Verzeichnisse zu durchsuchen. Ist klein und schlank und beschränkt sich auf das wesentliche.

Die unterstützen Formate, deren Titel und Autoren automatisch eingelesen werden aus Metadaten bzw. aus den Dateiinformationen, so weit wie möglich, sind:
PDF, EPUB, MOBI und CHM

kisslib setzt im GUI auf GTK3, für das Speichern der Anwendungsdaten wird SQLite3 verwendet. Um EPUB Daten auszulesen setzt das Programm libzip ein.
Geschrieben ist kisslib in reinem C.

Screenshots und weitere Informationen:
Galerie: https://www.picflash.org/gallery.php?id=9RGDIIE7K8
Github: https://github.com/jrie/kisslib

Ich würde mich sehr freuen wenn ihr kisslib testen würdet und freue mich auf Feedback.

Benutzeravatar
whisper
Beiträge: 2078
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Projektvorstellung: KISS Ebook - Ebook Schnellstarter

Beitrag von whisper » 27.12.2016 17:50:51

Ich habs mal eben ausprobiert, weil ich gerade ein ebook für kindle preparieren wollte.
Da ich calibre deshalb installiert habe, was nebenbei gesagt richtig toll, leider aber qt verseucht ist ;-)
, habe ich /usr/bin/ebook-viewer als ebook viewer eingetragen und deinen launcher getestet.
Eigentlich eine ganz gute Idee, erleichtert das Navigieren in seinen pdf-Wüsten enorm.
Ich werde mal ein wenig damit rumprobieren.
Zwei erste Anmerkungen.
Versuche beim ersten Start herauszufinden, ob viewer installiert sind und schlage die vor.
Deine Beispiel Einträge sind ja leer, deshalb solltest du einen Unterschied zu den existierenden Einträgen machen. Z.B. das Icon bei deinen Beispielen anders gestalten, damit man sofort merkt , dass es nicht zum anklicken ist.

Besonders angenehm, du hast gleich ein binary mit drin zum Ausprobieren, nur eine Abhängigkeit

Code: Alles auswählen

libzip4
für mich.

theSplit
Beiträge: 17
Registriert: 30.07.2015 09:58:54

Re: Projektvorstellung: KISS Ebook - Ebook Schnellstarter

Beitrag von theSplit » 27.12.2016 21:18:16

Vielen Dank für dein Feedback!
whisper hat geschrieben:Ich habs mal eben ausprobiert, weil ich gerade ein ebook für kindle preparieren wollte.
Da ich calibre deshalb installiert habe, was nebenbei gesagt richtig toll, leider aber qt verseucht ist ;-)
, habe ich /usr/bin/ebook-viewer als ebook viewer eingetragen und deinen launcher getestet.
Eigentlich eine ganz gute Idee, erleichtert das Navigieren in seinen pdf-Wüsten enorm.
Es war eigentlich angedacht dass man nur den Programmnamen übergibt also nur "evince" bzw. in deinem Fall "ebook-viewer", aber wenn das so mit Pfadangabe auch funktioniert, ist das natürlich erfreulich. :)
Standardmäßig sollte das Environment in dem das Programm ausgeführt wird durchsucht werden.
Zwei erste Anmerkungen.
[1.] Versuche beim ersten Start herauszufinden, ob viewer installiert sind und schlage die vor.
[2.] Deine Beispiel Einträge sind ja leer, deshalb solltest du einen Unterschied zu den existierenden Einträgen machen. Z.B. das Icon bei deinen Beispielen anders gestalten, damit man sofort merkt , dass es nicht zum anklicken ist.
Zu 1: Müsste schauen wie dies umzusetzen ist, vielleicht eine Liste der "bekanntesten", auf die dann überprüft wird ob diese vorhanden sind. Mir fallen da spontan "evince", "calibre", "fbreader", "xchm" ein, das sind jedenfalls die, bis auf calibre ich ich soweit genutzt habe. Das müsste dann natürlich für jedes der Formate gesondert behandelt werden. Aber ein guter Hinweis.

Zu 2: Also anders hervorheben geht leider nicht, bzw. hab ich noch keinen Weg gefunden das in GTK3 zu realisieren, ich habe mich auch gefragt warum man gewissen Zellen nicht einfach direkt ansprechen und anders setzen kann... also kein Icon bzw. ein Icon, die Beispieleinträge wären aber auch in der "finalen" Version nicht mehr vorhanden. Die sind noch aus den ersten Schritten mit GTK3, einfach um zu sehen wie das UI-Framework funktioniert, bleiben also nicht ewig. Dachte aber es wäre ganz gut wenn man "irgend etwas" sieht, wenn die Anwendung startet, damit man kein leeres Fenster hat. :wink:
Besonders angenehm, du hast gleich ein binary mit drin zum Ausprobieren, nur eine Abhängigkeit

Code: Alles auswählen

libzip4
für mich.
Dann sogar noch besser :) - Und schön zu hören das auch das Binary wie angedacht funktioniert, da war und bin ich mir nicht sicher gewesen da ich kein anderes Setup zum testen vorliegen habe und es nicht selbst testen konnte, ohne jetzt eine VM aufzusetzen.

cincinatus
Beiträge: 54
Registriert: 07.04.2009 21:18:02

Re: Projektvorstellung: KISS Ebook - Ebook Schnellstarter

Beitrag von cincinatus » 28.12.2016 08:34:03

Ich würde das ja auch gerne testen, kann aber leider kein libzip4 für mein Jessie finden.

peterhan
Beiträge: 26
Registriert: 21.06.2016 01:17:13

Re: Projektvorstellung: KISS Ebook - Ebook Schnellstarter

Beitrag von peterhan » 28.12.2016 10:43:36

Auch für mich gilt, libzip.so.4 ist nicht vorhanden.
Libzip2 wird jedoch in den Repositories angeboten.

Mit besten Grüßen
Peter

Gesendet von meinem SM-P550 mit Tapatalk

theSplit
Beiträge: 17
Registriert: 30.07.2015 09:58:54

Re: Projektvorstellung: KISS Ebook - Ebook Schnellstarter

Beitrag von theSplit » 28.12.2016 16:33:17

Hallo,
cincinatus hat geschrieben:Ich würde das ja auch gerne testen, kann aber leider kein libzip4 für mein Jessie finden.
peterhan hat geschrieben:Auch für mich gilt, libzip.so.4 ist nicht vorhanden.
Libzip2 wird jedoch in den Repositories angeboten.
Vielen Dank für die Rückmeldungen, ich habe diesbezüglich auch jetzt nachgeforscht.

Ich habe Jessie in einer virtuellen Maschine aufgesetzt und bin leider zu dem Ergebnis gekommen, das der Code in seiner aktuellen Form nicht mit den Bibliotheken in Jessie kompatibel ist. Leider leider...

Die aktuell einfachste Lösung wäre ein Upgrade von Jessie zu Stretch/Testing. Dort ist auch libzip4 enthalten wie auch eine neuere GTK3 Version und kisslib "sollte" dort funktionieren. Sollte. :roll:

Was ich anbieten kann:
Ich könnte versuchen eine andere Version zu schreiben die kompatibel ist, aber da müsste ich tiefer nachforschen. Ich kann euch daher leider aktuell nur vertrösten. Werde aber schauen ob ich nicht eine Variante für Jessie startklar bekomme. :THX:

Feedback das ich noch geben kann:
Aber selbst wenn alle erforderlichen Bibliotheken installiert sind, auch die -dev Varianten, scheitert die Kompilierung des Codes unter Jessie.
Es scheint so, als ob sich viel in den Bibliotheken geändert hat, auch in "libgtk-3-dev" bzw. "libgtk-3" wie auch "libzip-dev".
Einige Features werden dort nicht unterstützt, selbst mit kopierter "libzip.so.4" aus meinem Hauptrechner läuft das Programm leider nicht, weil GTK3 streikt das Sachen nicht vorhanden sind. Gibt also was zu tun.

cincinatus
Beiträge: 54
Registriert: 07.04.2009 21:18:02

Re: Projektvorstellung: KISS Ebook - Ebook Schnellstarter

Beitrag von cincinatus » 28.12.2016 16:39:11

theSplit hat geschrieben: Werde aber schauen ob ich nicht eine Variante für Jessie startklar bekomme.
Das wäre schön :wink:

Benutzeravatar
whisper
Beiträge: 2078
Registriert: 23.09.2002 14:32:21
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: Projektvorstellung: KISS Ebook - Ebook Schnellstarter

Beitrag von whisper » 28.12.2016 20:08:32

Andererseits sinds noch 6 Monate bis Stretch, da könntest du auch bei deiner gerzeitigen Basis bleiben und die Energie in die Weiterentwicklung stecken.
Aus eigener Erfahrung weiß ich, dass das eigene Engagement abnimmt, wenn man sein Projektziel für sich erreicht hat.
Oder du versuchst eine statisch gebundene Version beizulegen, etwas größer im footprint, dafür aber fast überall lauffähig und auch als "portable" Version geeignet

theSplit
Beiträge: 17
Registriert: 30.07.2015 09:58:54

Ein wichtiges Update

Beitrag von theSplit » 28.12.2016 23:21:17

Kurz, bevor ich auf whispers Post eingehe:

Ein wichtiges Update kam heute rein:
+ eine Version die Debian Jessie unterstüzt ist nun in Github zu finden, kompiliert mit "libzip2" und "libgtk-3" in den verfügbaren Versionen
= Dateien die über Drag und Drop eingelesen worden sind, enthalten einen falschen Pfad, dies ist nun behoben - diese Dateien müssen neu eingelesen werden
+ Dateinamen werden jetzt escaped, dies führte zu Probleme mit gewissen Zeichen im Dateinamen
+ es können nun Parameter an die Startanwendung übergeben werden - zum Beispiel "evince -f" um Evince im Fullscreen zu starten



Es kann unter Umständen sein, dass ihr eure Datenbank "kisslib.db" komplett löschen müsst, weil die Parameterargumente für die Startanwendungen dazugekommen sind die noch nicht in eurer Datenbank enthalten sind. Was verhindert das keine Daten mehr für die "Launcher Applications" gespeichert werden können, da es einen Fehler gibt aufgrund einer nicht vorhandenen SQLIte Tabellenspalte.

---------------

!Nachtrag:
Da Debian Jessie jetzt unterstützt wird, es gab nur ein paar kleine Code-Änderungen die libzip betrafen und etwas optischer Code mehr und weniger für GTK3.

Damit wäre folgender Inhalt "hinfällig" :THX:

whisper hat geschrieben:Andererseits sinds noch 6 Monate bis Stretch, da könntest du auch bei deiner gerzeitigen Basis bleiben und die Energie in die Weiterentwicklung stecken.
Die Änderungen sollte nicht all zu viel Code betreffen, ich nutze relativ wenig von libzip - aber GTK3 ist auch etwas freudiger wenn es darum geht zu zeigen welcher Code nicht funktioniert mit der installieren Bibliothek. Von daher gebe ich mein Bestes, außerdem ist das Programm schon fast "stable" - aktuell bin ich mit der Feature Liste durch die ich für die Anwendung im Hinterkopf hatte, hängt aber auch davon ab ob noch Wünsche kommen die umsetzbar sind.

Aber heute mußte das Update raus gebracht werden. Und das Feature mit den Startparametern ergänzt werden. Sonst muß bei jeder Versionsänderung und Änderungen an der Datenbank, alles eingelesen werden und das mit dem Drag und Drop und Escaping war sehr kritisch zu beheben.
Aus eigener Erfahrung weiß ich, dass das eigene Engagement abnimmt, wenn man sein Projektziel für sich erreicht hat.
Oder du versuchst eine statisch gebundene Version beizulegen, etwas größer im footprint, dafür aber fast überall lauffähig und auch als "portable" Version geeignet
Da müsste ich mich schlau machen und Abwegen was Vor und Nachteile dabei wären, weil ich noch keine Erfahrung mit statischem Linken besitze.
Daher wäre es vielleicht einfacher, zu versuchen, eine für die älteren Bibliothekversionen abgeänderte Version herauszubringen. Heute habe ich das nicht mehr geschafft.

Aber falls in dem Bereich jemand Erfahrung hat wie man jenes anstellt, bitte melden. :)

theSplit
Beiträge: 17
Registriert: 30.07.2015 09:58:54

Re: Projektvorstellung: KISS Ebook - Ebook Schnellstarter

Beitrag von theSplit » 30.12.2016 21:52:00

Hallo,

ich wollte mich an dieser Stelle für das Feedback und die Unterstützung, dass die Idee sinnvoll ist, bei euch allen bedanken. :THX:
Auch geht ein großes Danke an "cincinatus", der mir sehr hilfreiches Feedback bezüglich "Jessie" gegeben hat.

KISS Ebook ist nun fast stable, es gibt allerdings noch diverse Features die implementiert werden sollten, einige auch hier aus dem Thread, danke dafür, die ich auch geplant habe umzusetzen.

Auch ist die Readme auf Github nun komplett reorganisiert und es gibt viel mehr Information was KISS Ebook ist und was es nicht ist und auch Vorschaubilder, außerhalb der Galerie, damit man einen ersten Eindruck bekommt.

Das was jetzt geplannt ist:
ToDo and future plans

- Introduce the usage of "content.opf" for epub reading, which includes the ebook title and the author(s)
- Add a option dialog, which has at least one option/setting (turned on by default) to ignore read out of already read out files
- Add the ability to sort by format, author and title
- Add a option to sort by default on format, authors or title on startup
- Add a search option to only show files with particular tile, author or format
- Add a check to detect "default readers" installed, which can access particular ebook formats, which are then set as default launchers (please propose your favorite readers by raising an issue or by email! I know only a mouthful and not every distro/flavour)
Auch stehe ich nun per Email zu Verfügung für Fragen, Anregungen und Wünsche - diese Email findet sich auf Github.

theSplit
Beiträge: 17
Registriert: 30.07.2015 09:58:54

Re: Projektvorstellung: KISS Ebook - Ebook Schnellstarter

Beitrag von theSplit » 01.01.2017 18:28:22

Mal wieder ein Update und kurze News dazu und zwei Screenshots die die neuen Funktionen demonstrieren.

Neue Funktionen und Fehlerbehebungen:
  • = Fehlerbehebungen, signifikant das Auslesen von Pfaden - was vorher einen Speicherfehler verursacht bzw. Dateipfade falsch getrennt hat, so das mache Ebooks zwar korrekt eingetragen aussahen, aber es nicht waren da "Bollox" eingefügt wurde - dabei ist der Pfad verunreinigt und beim öffnen öffnet sich nicht die Datei, dabei hilft es nur die Inhalte neu einlesen zu lassen
  • + Einlesen von Titel und Autor aus der "content.ocf" von EPUBs
  • + Interaktives durchsuchen der Ebook Liste nach Autor und Titel - hier werden aktuell dann nur noch die Inhalte angezeigt deren Autor und Titel Teile des Suchwortes enthalten und übereinstimmen (siehe Screenshots)
  • + Sortierung der Spalten (Autor, Titel, Format) auf- und absteigend (GTK Standardsotierung), also können die Listen jetzt sortiert angezeigt werden.
  • + Neue Shortcuts (auch ein Workaround für Ubuntu 16.10) - Strg + W (Launcher dialog), Strg + A (Add import files or folders dialog), Strg + S (Starten) und Strg + E (Editieren in Kiss Ebook) bleiben wie gehabt
  • + Rahmen im Hauffenster hinzugefügt (siehe Screenshots)
  • = Test von Ubuntu 16.10 (Yakkety Yak), allerdings mit dem Problem dass das App Menü nicht direkt verfügbar ist und auch nicht in der Anwendung angezeigt wird (daher Shortcuts) und dass das Sortieren nach Formaten nicht korrekt greift, bei einer selbst kompilierten Version tritt das Problem mit dem Sortieren einer Spalte jedoch nicht auf
Fragen, Anregungen, Kritik und Lobeshymnen bitte hier hinein! :wink:


Und hier die Screenshots:

Einmal das aktualisierte "dunkle Xfce Window Theme", Hauptfenster, Anzeige sortiert nach "Autoren":

Bild

Und einmal mit aktiver Sucheingabe, gleiche Sortierung:
Bild

theSplit
Beiträge: 17
Registriert: 30.07.2015 09:58:54

Re: Projektvorstellung: KISS Ebook - Ebook Schnellstarter

Beitrag von theSplit » 05.01.2017 00:45:42

Hallo ihr Debianer :) (ich bin auch einer!)

Es gab diverse Updates und auch Fehlerkorrekturen:
  • = Pfade werden nun, wie auch Dateinamen, für bin/sh escaped, was vorher zu folge hatte das bestimmte Dateien bzw. Dateipfade nicht geöffnet werden konnten, dies sollte nun behoben sein
  • = Tastaturkürzel sind überarbeitet und ergänzt worden
  • + Alle Menüpunkte bis auf Beenden lassen sich über Tastaturkürzel erreichen (siehe Readme.md) auf Github
  • + Arch OS ist getestet und funktionstüchtig
  • + diverse Erweiterungen in der Feature (Todo) Liste (auch die Planung von Übersetzungen!)
Ich würde mich freuen wenn ihr die neuen Versionen testen könntet und Rückmeldung geben würdet ob alles wie erwartet funktioniert. :)

Und schaut doch einmal auf die ToDo Liste - vielleicht gibt es dazu Anmerkungen von eurer Seite?

Vielleicht habt ihr auch noch Wünsche was Standard-Ebook-Reader (mit Formaten) anbelangt, auf die getestet werden soll - welche dann mit "ja/nein" als Standard gesetzt werden können sollen beim ersten Start der Anwendung, was hier ja auch vorgeschlagen wurde. :)

Benutzeravatar
hikaru
Beiträge: 9174
Registriert: 09.04.2008 12:48:59

Re: Projektvorstellung: KISS Ebook - Ebook Schnellstarter

Beitrag von hikaru » 05.01.2017 08:36:31

Ich habe nicht viel mit Ebooks am Hut, daher nur zwei allgemeine Anregungen:

1. Bitte mache Crosspostings kenntlich! (z.B. [1])
2. Wenn du als offenbarer Debian-Nutzer der Meinung bist, dass deine Software nun "spruchreif" ist, dann dürfte es sich im Interesse der Reichweite lohnen, einen ITP- bzw. RFP-Bugreport [2] zu erstellen, je nachdem ob du das Debianpaket selbst maintainen möchtest oder nicht.


[1] https://www.c-plusplus.net/forum/p2519098
[2] https://wiki.debian.org/WNPP

theSplit
Beiträge: 17
Registriert: 30.07.2015 09:58:54

Re: Projektvorstellung: KISS Ebook - Ebook Schnellstarter

Beitrag von theSplit » 05.01.2017 11:37:17

Hallo hikaru,

deinen Einwand bezüglich von "Crosspostings" kann ich nachvollziehen und hoffe dies stellt kein Problem da, ich versuche auf jedes Feedback individuell einzugehen und nicht einfach "von der Stange" zu agieren, auch wenn ich hier berichte/antworte.

Das Projekt wird auch noch hier diskutiert: ngb.to Thread

Dein Ratschlag über "wnpp" gefällt mir und ist ein sehr guter Hinweis wie es weitergehen könnte.

Die Software ist aber aktuell noch nicht derart Spruchreif bzw. stabil und es wird noch Änderungen geben bzw. sind diese geplant.
Es würde mich aber natürlich freuen wenn das Projekt positiv aufgegriffen und genutzt werden würde und auch über die Paketquellen verfügbar wäre. :wink:

theSplit
Beiträge: 17
Registriert: 30.07.2015 09:58:54

Re: Projektvorstellung: KISS Ebook - Ebook Schnellstarter

Beitrag von theSplit » 10.01.2017 23:33:30

Hallo,

und entschuldigt vorab, dies ist ein Crossposting!

Ich hoffe aber dass der ein oder andere der das Programm gerne testen will, nachdem ein paar der Kinderkrankheiten ausgebügelt sind und die Software langsam aber sicher dahin geht, wo auch andere sie gern sehen würden.

---------

Es gibt mal wieder ein Update und neue Screenshots:

Es sind nun neue Spalten enthalten, die da wären:
- Priorität
- Gelesen/nicht gelesen
- Kategorie
- Begriffe / Tags
- Dateiname

alle Spalten können sortiert werden.
Kategorie kann eine selbst definiert Kategorie sein, Begriffe Begriffe zu einem Ebook, Gelesen nicht gelesen ist ein Checkbox und die Priorität liegt zwischen -10 und +10.

Ein Optionsdialog:
- alle Spalten bis auf öffnen und Titel können ausgeblendet werden (inklusive Format und Autor)
- das Überschreiben von Titel und Autor(en) von bereits existierenden Ebooks beim einlesen

Ein Menü "View":
Spalten ein und ausbleden mittels Checkbox für die Sitzung, nicht die "Optionen", kann aber geändert und dann über die Optionen gespeichert werden.

Dazu gab es einige Verbesserungen/Änderungen/Ergänzungen:

Epub Support:
Dateien werden so gut wie möglich ausgelesen, das umfasst Autoren und den Titel, beide Angaben sollten enthalten sein, wurde verbessert. Dies geschicht aus "content.ocf" über "dc:title" und "dc:author" - andere Metaangaben könnten hier hinzugefügt werden.

Generelles:
- Umlaute in Pfadnamen sind nun auch ohne Probleme möglich (Glib sei dank...)
- Fehler werden auf "stderr" ausgegeben, so ist es möglich Fehler-Logging einzuführen, dies geschieht aber nur über die Standardausgabe bisher und es werden keine Logs angelegt
- die Eingaben für die Datenbank werden nun escaped
- Benutzereingaben für Tags sind auf 1024 Zeichen begrenzt, die Kategorie auf 512 Zeichen wie alle anderen Felder die Texte beinhalten (Autoren, Titel....) (dies würde ich aber noch einmal überarbeiten)
- es wurde ein Fehler behoben das über den Shortcut Strg + A beim Import kein Forschritt angezeigt wurde
- der Code wurde nun auch etwas weiter optimiert, ist aber noch fern ab für Performance ausgelegt zu sein, hier fallen die ständigen Casts zu den GTK Typen ins Auge, das könnte man einmalig machen, speziell beim importieren und Drag & Drop und auch alles was über g_object_get_data/set_data geht


Und hier nun ein Screenshot des Hauptanwendungsfenster mit allen Spalten, bis auf den Dateinamen:

Bild

Und hier die Optionen so wie das neue Menü:

Bild

Bild


Feedback, Kritik und Anregungen sind wie immer gern gesehen. :)

Antworten