Open kshitijpatil opened 5 years ago
@kshitijpatil Thanks for your interest in Bookworm but I haven’t given a thought about Windows compatibility.
I know that vala can be compiled for windows. But then several components like the mobi Library in python, pdf2html binary and the way Bookworm runs a background process is Linux/ unix specific, not sure how it will work under windows.
However the library management and epub reading should work if the code can be compiled in windows
Would love if someone made it work on windows.
This Issue has to get a lot of work to implement, all the linux command line work that happens in the background in Bookworm has to be converted into code i.e. looking at running process, grep for words, python scripts execution, etc.
Once that is done, vala code with gtk can be ported into windows.
Just to provide a workaround: looks like bookworm works 90% from inside the Windows Subsystem for Linux (WSL) with installed X-server on the host.
com.github.babluboy.bookworm
Bookworm 1.1.0 starts in borderless mode.
issues i noticed (I don't know whether this is caused by WSL, xming or bookworm):
(com.github.babluboy.bookworm:3797): GLib-GIO-CRITICAL **: 21:29:13.177: g_dbus_proxy_new_sync: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
[WARNING 21:29:14.125909] [dconf] failed to commit changes to dconf: Failed to execute child process “dbus-launch” (No such file or directory)
[WARNING 21:29:14.187042] [dconf] failed to commit changes to dconf: Failed to execute child process “dbus-launch” (No such file or directory)
[WARNING 21:29:17.851945] [dconf] failed to commit changes to dconf: Failed to execute child process “dbus-launch” (No such file or directory)
Failed to get the memory usage
[WARNING 21:29:18.765561] [dconf] failed to commit changes to dconf: Failed to execute child process “dbus-launch” (No such file or directory)
Great work so far! Once the PDFtoHTML is improved, it's probably a good alternative to http://getpolarized.io.
@6uhrmittag Polar Bookshelf is Electron monstrosity.
@6uhrmittag Many thanks for this work around. I will post this alternatives for windows on the Bookworm website so that other users can benefit. Could you please try to see if the following gets rid of the dbus warning: sudo apt install dbus-x11
Is the PDFtoHTML very slow on WSL? Maybe I will find a better alternative to convert PDF to html for displaying the text on bookworm.
@babluboy I did some more testing and it turns out some things are broken that I didn't noticed in the beginning. It still works for displaying, annotating and collecting epub files.
sudo apt install dbus-x11
Thanks! It did stop most of the debug messages. Startup feels faster too!
I did some more testing to provide feedback. Maybe this brings windows support a bit further - I'm totally aware that you don't support Windows, so this list is mostly for future testing/improvement(and because it's fun to explore new software ;D):
I still get debug info in the terminal but mut not as much. Startup does feel faster.
marvin@dd: com.github.babluboy.bookworm
(com.github.babluboy.bookworm:7082): Gtk-DEBUG: 20:58:14.613: Connecting to session manager
(com.github.babluboy.bookworm:7082): Gtk-DEBUG: 20:58:14.619: Failed to get the GNOME session proxy: The name org.gnome.SessionManager is not owned
(com.github.babluboy.bookworm:7082): Gtk-DEBUG: 20:58:14.622: Failed to get the Xfce session proxy: The name org.xfce.SessionManager is not owned
(com.github.babluboy.bookworm:7082): Gtk-DEBUG: 20:58:14.626: Failed to get an inhibit portal proxy: The name org.freedesktop.portal.Desktop is not owned
Failed to get the memory usage
When I click + to add a file, I get a terminal output but the import works without issues. This could be caused by LinuxSubsystem since the window shows the Windows mount too... I read about issues with file paths in the LinuxSubsystem... but it's debug only and doesn't affect the usage.
(com.github.babluboy.bookworm:6385): Gtk-DEBUG: 20:38:46.999: Failed to create D-Bus proxy: Could not connect: No such file or directory
The book opens immediately and I get a terminal output. When I jump back the book is marked and I can edit it. Marking with right-click works
[FATAL 20:40:49.438859] [Gtk] gtk_widget_destroy: assertion 'GTK_IS_WIDGET (widget)' failed
This is probably connected to the issue above..
Nothing happends in the UI and I get the terminal output:
[FATAL 20:42:51.506796] [Gtk] gtk_widget_destroy: assertion 'GTK_IS_WIDGET (widget)' failed
Switching on works, it's still on after restart but has no effect on the UI. This is probably due to x11/Windows
"No matches found" with terminal output:
[WARNING 20:53:13.325995] utils.vala:110: Error encountered in execution of sync command [/usr/share/bookworm/scripts/tasks/com.github.babluboy.bookworm.search.sh "/home/mar
vin/.config/bookworm/books/javapocketguide.epub/OEBPS/app03.html" "java"]: Failed to execute child process “/usr/share/bookworm/scripts/tasks/com.github.babluboy.bookworm.se
arch.sh” (No such file or directory)
[WARNING 20:53:13.428148] utils.vala:110: Error encountered in execution of sync command [/usr/share/bookworm/scripts/tasks/com.github.babluboy.bookworm.search.sh "/home/mar
vin/.config/bookworm/books/javapocketguide.epub/OEBPS/ix01.html" "java"]: Failed to execute child process “/usr/share/bookworm/scripts/tasks/com.github.babluboy.bookworm.sea
rch.sh” (No such file or directory)
Left epub, right PDF. Both untouched files directly from humblebundle. Other images inside the ebook are fine. Text layout is broken too, but this is more of an issue by the converter... epub: pdf:
Links inside the ebook, from the table of content doesn't work. Not related to windows but converting PDF. Error:
Error opening file /javapocketguide.pdf.html: No such file or directory
Is the PDFtoHTML very slow on WSL? Maybe I will find a better alternative to convert PDF to html for >displaying the text on bookworm.
Speed is fine, but it looks like converting doesn't work well with complex layouts. So, not windows related but converting PDF in general :(
@6uhrmittag Many thanks for the comprehensive testing on this work around for windows using WSL. Its better than I had thought. Here are some initial thoughts:
1- starting bookworm/ Debug info when adding a book
: Since this is just debug info, it should not matter. Maybe if the application is not started from terminal i.e. by double click then there is no window for the debug.
2- I can't edit book info in list mode
: You would nee to be in select mode first (click the tick button on the footer in library view) and then click on a book to select it. Once selected, the book can be deleted by clicking on the - button on the footer. Hopefully the above works, let me know.
3- I can't delete a book:
The output you have suggested does not help, maybe you follow the process above to select the book and then delete it.
4- Darkmode doesn't work:
This was a vala gtk theme setting, maybe WSL does not support it. Need to look at what is the issue. https://github.com/babluboy/bookworm/blob/ff67cb2bb72fc494001aade59cac9ae80c4e8a9c/src/dialog.vala#L449
5- Search doesn't work
: Search uses the following linux utilities, hopefully they work on WSL - will be great if you can check and install missing ones. The search is executed with this command:
https://github.com/babluboy/bookworm/blob/ff67cb2bb72fc494001aade59cac9ae80c4e8a9c/data/scripts/com.github.babluboy.bookworm.search.sh#L8
(1) html2text, (2) tr, (3) grep
6- PDF Conversion
: Yes, this is a problem on linux as well and I'm looking for better ways to convert PDF to HTML which preserves the layout better
7- Link inside the ebook doesn't work
: Does the find and grep command work on WSL. I will check on this, but as far as I remember, once I qualify the link target as a local file, I use the find command to search it up within the extracted contents of the ebook and load the file if found.
Thanks again for the work in testing this on WSL, if we can get the book deletion and search functions working, then this work around is definitely one people can use.
How do I build this project to run on Windows?