Closed sitesbysam closed 4 months ago
Thanks for your kind words and for taking the time to suggest these new features!
I don't have experience with touch input in javascript and can't easily test things in my dev computer, as I don't have a touch screen (could probably make tests on my steam deck although having to build and copy the test apps will be a bit tedious), but I think I could try adding some touch inputs to the reader as, from a very quick first glance, there seems to be good documentation and examples about things like that. No promises about when I'll be able to do it but I'll add a reminder in my TODO list to learn more about javascript's touch events/pointer events and make some tests to see if I can make it work (for this type of thing I prefer trying to implement something myself so I have full control of how the input is handled over using a library if I can, and I've also been meaning to make a proper input manager class in the app's code so this could be a nice feature to try adding). What's the bare minimum you think would be needed? Is being able to scroll by dragging the screen (which you say already works, so I assume it's a default behavior for touch inputs and scrollable elements) and pinch-zooming in and out good enough? What about changing pages? Using the mouse you can click in the left and right sides of the page to change pages, does that work using the touchscreen? If not, maybe it would be nice to also replicate that for touch input.
I didn't have plans for now for a basic library 'tool' but it's something I agree could be a nice addition at some point and have briefly thought about in the past. One of the reasons that prevented me from going further is that I didn't want to add something too complex but didn't know which features would be enough for a basic library to make it useful (I think some apps have libraries where you choose folders for it to autoscan and generate/autoupdate a list with all the relevant files on them... I'm not sure I'd want to add something like that but don't know if that's a must have / something people expect if you have a library in a program). I don't really use any of the library tools in any of the programs I use so I'd need help trying to come up with something easy to create (although it could be expanded in the future) but still useful for people wanting to have, and more used to, such a feature... You said a basic library would be something where the 'user could choose files to have linked so they could be listed in the main UI for easy access', could you elaborate a little on that? How would that look and work (just a single window tool with a list of files and buttons to add new ones and remove old ones would be enough? a bit like the history tool/UI currently available (File>Open recent>History or Ctrl+H) but retrofitted to keep a custom list of files). And what features could be added in the future to expand/improve it? (like maybe being able to add folders to the list, and when you click one in the tool it would open the file selector in that folder so you can more quickly choose a file inside it). Not sure if I've explained my doubts too clearly, hopefully you get what I mean :)
Yes, that's kind of a bug. I recently had to make having multiple instances of the app running at the same time not possible (because that would create problems with the history, temp files and configuration management) and, although I remember thinking about it when I was making the changes, in the end I forgot to take what you mentioned into account, so I'll add it to my TODO list and try to fix it in a future version (as you proposed I'll probably add a modal asking for confirmation to open the new file in case there's one already open, I think that would be the proper way to handle it, thanks for that suggestion and for letting me know about the bug, I had completely forgotten about it).
I think that covers all :) Let me know what you think. Álvaro
Glad to see you got back so soon and are open to the suggestions!
Hopefully that is all coherent (: Thanks for getting back! Let me know if you need further clarification on my thoughts!
Wouldn't double tap be better suited to reset the zoom? (to fit to height or whatever is the default value). I think that's what I've seen it used as most often.
Don't get me wrong, I appreciate the usefulness of a library as you describe it, but I still feel like the idea gets too complex/has drawbacks for me at least right now, as it would take some time to implement and some of the apparently simple things you propose have hidden problems: as I mentioned I'm not a fan of having folders to scan or, worse, auto-scan at startup of ACBR or a specific tool to keep a list of files updated, especially if accessing them to generate a cover or get any data (number of pages...) is needed, as I'm afraid it would be too slow (reading and extracting things from compressed files from javascript is relatively slow, and once there are a few files the times really add up, and generating a cover for a PDF would also take time and specific code just for that) and things would incrementally get worse the more files are involved... (and some people have huge folders/libraries of files) so I'm a bit ~weary~ wary of getting into that particular problem. Thinking that would be the case, last night I tried to figure out a simpler alternative to a library that could add some of the benefits of having one (and hopefully provide some of the things you wanted) but would be easier to create and maintain, and I came up with the idea of adding a Favorites tool/UI. More or less it's what I proposed yesterday, a simple list where you add files or folders (maybe just files for the first iteration) and clicking on them opens them. Nothing more, nothing less. It could have a list and grid view, with covers that would be generated when a file is added (again, a first simple iteration could just be a list like the history one, no covers, just a file icon). And it could be opened as a regular tool from something like File > Favorites or instead, as you suggested for the library, and probably even better it could replace the "empty UI that shows when you open ACBR/when you close a book" with it. With maybe a couple buttons at the top to "open file" (which will just do the same as File>Open or Ctrl+O) and "add" (to favorites, or maybe a plus button), and then just a favorites list... I could also add a "File > Add to favorites" entry to the menu, only active when a file is open, or to the right-click context menu. My first inspiration was the Favorites UI from VLC for Android's browse tab, so here's a screenshot I found Even the favorites idea is something I don't know when I would be able to add, but I think it would be easier to find the time for it at some point if it sounds useful.
Edit: would being able to favorite single files be really that interesting/useful? or would it be better to have a favorites/initial screen like the one from VLC I showed, just for folders, not files, so it's a quick way to open the folders you have comics in to choose one from. And could leave the list of files for a future library if I manage to make one at some point, I feel like 'favoriting' a comic file is not that useful and adds complexity to the welcome screen (hides/muddles the folder links), having quick access to particular files wouldn't be that useful (you wouldn't access them that often apart from when you are reading them) but focusing on quick folder access from that screen seems more useful. What I could add to that screen would be a History/latest opened files list below the favorites folders... that does seem useful to quickly open one of the latest used... Right now I'm more inclined to go this route, what do you think?
Hi, sorry for the delay, had a busy few days -
Now that I have things more clear and I like what we've come up with I'll try to add these things to the program at some point but, my usual disclaimer, no promises as to if or when, as I haven't been able to work that much on ACBR lately and the TODO list is getting bigger as times goes on...
And again, thanks for taking the time to make suggestions to improve the program and answer my doubts!
I've just released a new beta version, v3.5.0-beta1 , that I think addresses all the issues we talked about here:
Hope you like the new changes, let me now if you give it a try.
I just released the next stable release containing the mentioned changes so I will close this issue. Hopefully everything was working correctly, especially the touchscreen stuff I couldn't test thoroughly myself, but I couldn't extend the beta phase longer. Edit: let me know what you think if you have time to test the changes at some point.
Love this project and how easy it is to use. Lightweight, portable and fast. Wildly effective at converting between formats and maintaining quality and getting the scaling right (/offering settings to control conversion). Appreciate the work you've done and love the simplicity and minimalism in the design.
I was wondering if there was any chance of seeing some basic touchscreen functionality? At the base level I think simply having Pinch Zoom would level up the experience a lot for touchscreen users. Dragging with the touchscreen works fine when zoomed in, which is nice, but there is no way to zoom in fullscreen mode aside from right-clicking and going through the context menu. I would imagine this would be pretty easy to implement with a JS library like this one? Or perhaps even without?
A secondary thought, since I've already taken the time to opening this issue (which by the way is the first time I've actually done this on GitHub), is there any plan to see some basic library management? That term may even be an over-complicating what I mean - I just mean a way that the user could choose files to have linked so they could be listed in the main UI for easy access.
Also, one little quirk I've noticed - if ACBR is open (regardless of whether a book is open at the time or not) and I try to launch a book from File Explorer, it brings ACBR to the front but doesn't load the book. Maybe if nothing is open it could load the book, and if there is already another one open it can pop up a dialog with the option to load the selected book? (Edit: To be clear it does open the book properly if ACBR is not already running)
Looking forward to hearing back, thanks! Sam