The DnD Sanctuary

General => Hobbies & Entertainment => Topic started by: ersi on 2018-02-13, 15:18:55

Poll
Question: How do you like the blog of Frans?
Option 1: Love it
Option 2: Hate it
Option 3: Didn't know/don't care about it
Option 4: Who is Frans?
Option 5: Beer option
Title: Commentations on the blog of Frans
Post by: ersi on 2018-02-13, 15:18:55
Quote from: Frans, https://fransdejonge.com/2017/08/skype-on-android-x86/
You can tell Google Play not to update the app by unchecking auto-update. Tap the three vertical dots in the top-right corner to bring up the option. Then download the old Skype Android app from AndroidDrawer.com (“Because Newer is Not Always Better”) or any similar site.
This works until they (Skype/MS) decide to block access from older app versions. I was forced to upgrade Skype eventually on Linux, because I could not log in on the older version.

Also, on one of my ereaders that has an older firmware, apparently EOL, I lost access to Dropbox at some point. Dropbox has been releasing updates furiously lately and seems to have blocked access from older versions of its app.

On Android, there is no functional reason to have Skype at all. FB Messenger does all the same things and more. The only reason to have Skype is that some friends or family are still stuck with it and are not on FB.
Title: Re: Commentations on the blog of Frans
Post by: Frenzie on 2018-02-13, 15:47:32
I've been vaguely considering changing the title I picked back in '05 but I'm not quite sure what to. :P

This works until they (Skype/MS) decide to block access from older app versions. I was forced to upgrade Skype eventually on Linux, because I could not log in on the older version.
Yes, on 2017-11-20 to be precise. As mentioned in the link. :D

On Android, there is no functional reason to have Skype at all. FB Messenger does all the same things and more. The only reason to have Skype is that some friends or family are still stuck with it and are not on FB.
Neither Android nor Facebook are things I want to subject my mother to. Admittedly Skype is increasingly becoming a "subjection" itself, as opposed to the much higher quality, much less nonsense voice chat it was compared to its competitors back in '04.
Title: Re: Commentations on the blog of Frans
Post by: Frenzie on 2018-02-13, 21:25:22
@ersi Incidentally, what do you think of the front page design I'm playing around with as we speak? My general idea is:

  • Highlight a few posts at the top (probably 5 or 9 rather than the current number)
  • Display recent posts
  • Highlight a few posts from various categories

I've mostly got the looks down, but I don't want to bother with the specifics atm. :P
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2018-02-14, 10:51:35
The front page design with the tiles and such? The tiles (probably meant as a "featured" or "main categories" section) look cool in graphical browsers. They animate with mouseover and are totally adorable.

But I have a little bit of a problem with the layout. In graphical desktop browsers in maximised view, I'd expect to see a column (perhaps with "recent posts") either left or right to those tiles. "Recent posts" under the tiles are too far away.

The layout issue on the frontpage is evident with textmode browsers. I get a list of headings/titles and I tend to think they are most recent items on the website. But then I scroll down and I see "recent posts", so the question arises - all those things before the recent posts, what are they? But this question only arises in textmode browsers.

Off the bat, I see two easy ways to fix this, if you consider it an issue that needs fixing.

First way, lift "recent posts" ahead the tiles section in the code, and in layout make both sections appear as parallel columns in maximised view (desktop browsers). I guess that in narrow view (e.g. handheld browsers), it's still possible to make the tiles fold prior to "recent posts", if that's so important. For myself, I think it would make sense to see the tiles section as some sort of categories menu after "recent posts" in textmode browsers.

Second way, ditch the "recent posts" section on the front page altogether and optionally rename the Blog button to Recent posts. Because your tiles section actually consists of a selection of recent posts anyway.
Title: Re: Commentations on the blog of Frans
Post by: Frenzie on 2018-02-14, 15:38:18
Second way, ditch the "recent posts" section on the front page altogether and optionally rename the Blog button to Recent posts. Because your tiles section actually consists of a selection of recent posts anyway.
Yes, the point is to have featured posts, though I don't think I want to get rid of recent posts. The basic principle is that I consider a post like this (https://fransdejonge.com/2016/08/congolese-negroes-beautiful-but-stupid/) more worthwhile than a post like this (https://fransdejonge.com/2018/02/developing-an-r-package/) (or the one that you quoted), and I want to do more of the latter kind with less inhibition. I basically write those posts anyway as private notes, but I feel they might take focus away from better posts. (This was not an issue I had in, say, '06.) But I still dislike the past decade switch from real blogs to microblogs on closed platforms.

My blog is from '04/'05, and I need to make some minor but difficult to pinpoint changes to bring it in line with my own expectations from it as a supposed adult as well as a few more involved but easily identifiable changes to bring it into post-2010. I already sort of did (https://fransdejonge.com/2010/01/updates-on-twitter/)[1] but I consciously neglected aspects like featured images at the time, and I did so again a couple of years later (https://fransdejonge.com/2012/04/using-wordpress-excerpts-in-meta-description/). I still think a lot of the OpenGraph stuff is fundamentally ridiculous duplication of stuff that already exists, but my source doesn't need to look as clean as Anne van Kesteren's minimalist blog (https://annevankesteren.nl/2018/02/mozilla-5), which was a strong inspiration back then. I want a clean source, but aside of some weirdos like me preciously few people will notice at all.
What an odd random reference to Islam in that post. Perhaps I'd just read Ayaan Hirsi Ali's Infidel.
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2018-02-17, 21:08:05
Quote from: Frans, https://fransdejonge.com/2018/02/koreader-nightly-20180212/
Those who read two-column papers might like the new two-column navigation (@FranMarelli This does not work in conjunction with scroll mode.
I've been waiting for this all my life! Actually, I've been waiting for this ever since I discovered it's not there in Koreader while it is there and works naturally in Pocketbook's reader app. The current implementation in Koreader is much inferior to the implementation in the Pocketbook reader app.

For one, why only two columns? There are all sorts of weird pdfs out there, five columns (http://gallica.bnf.fr/ark:/12148/bpt6k5166095.item) and seven columns (https://digi.kansalliskirjasto.fi/sanomalehti/binding/750573).

In Koreader, I'd like to see another setting for at least three columns or, better, an arbitrary number of columns.

Also, I'd like to see an option for more directionality. As far as I can gather, right now you can only begin at top-left, proceed downwards to the bottom-left when it jumps to the top-right and proceeds downward from there. All this should be configurable: Start at any corner and move vertically or horizontally from there. Not sure how to do it, but please do it. It will make Koreader unbeatable.

Please-please an arbitrary number of columns. In Pocketbook's reader app, you can select two or three, and three is sufficient for almost everything. Pocketbook does not attempt to detect the columns, it auto-divides the whole page to two or three and when the user thinks/sees it does not fit properly a column, you can drag on the touchscreen (this works splendidly in Pocketbook, not awkwardly or glitchily).

In Koreader, instead of dragging, maybe let the user adjust the visible area at any point vertically/horizontally a preset number of mm or px by a gesture. In fact, I have this suggestion and warm wish: In multi-column mode, let the user navigate in any direction (unless already at the edge of page of course) a half-screen worth, not full-screen worth. I.e. instead of navigating the page (only) in a pre-set manner,[1] let there be, in column mode, swipes or other definable gestures that allow proceeding in any direction.

EbookDroid attempts to detect the columns in the pdf and then it literally breaks the columns into visually separate pages for display, as if you were reading a pdf with single-column pages. This, however, only works if the pdf is indeed formatted well enough with columns neatly separated throughout the file. When the pdf is scanned as image, the detection fails. When the pdf is formatted with the wide header/title/abstract preceding the two-column main text, the detection fails again, and EbookDroid displays the whole-page view.

So, my opinion is that attempting to not detect the columns is a good thing. And mechanically dividing the page into an arbitrary number of columns/rows is also a good thing. It works splendidly like this (three columns) in Pocketbook's reader app and the Neo app in Onyx Boox.

Second, not only does Koreader's two-column mode not work in conjunction with scroll mode, it also does not seem to work in conjunction with auto-crop (it goes to a view that looks like page-width or content-width). By the way, once you have selected auto-crop, how do you un-crop it? Go back to "zoom to fit page"?
Neo reader in Onyx Boox has two pre-set manners for navigating the multi-column mode: "Article mode" (assumes vertical columns) and "Comic mode" (assumes horizontal rows - both left and right depending on another option). And when the page edge hits so that it cannot proceed whole-screen worth, it displays a modest dashed line to show where the previous viewport edge was. I consider the dashed line a nice touch, because its design happens to be good.
Title: Re: Commentations on the blog of Frans
Post by: Frenzie on 2018-02-18, 09:44:15
Heh, looks like I messed something up with the links in copying that over to my blog. It's all surprisingly simple in the end but everything starts small. :)

https://github.com/koreader/koreader/pull/3674
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2018-02-18, 10:40:27
So what's the big plan with the two-column navigation? Will it become multi-column and multi-direction? Or is it already such in some hidden way?

And another big wish I have: dual-page view. Perhaps best implemented as a part of thumbnails view with minimal waste of space, i.e. no spacing between the thumbnails. It would be absolutely fantastic if you could arbitrarily select any number of thumbnails for best fit and layout on the screen.
Title: Re: Commentations on the blog of Frans
Post by: Frenzie on 2018-02-18, 15:30:46
I created a FR. https://github.com/koreader/koreader/issues/3685
Title: Re: Commentations on the blog of Frans
Post by: Belfrager on 2018-02-18, 22:04:05
I think that the blog of Frans has not enough nude women.
That's my commentation.
Title: Re: Commentations on the blog of Frans
Post by: Frenzie on 2018-02-19, 07:39:20
The closest you're going to get is https://fransdejonge.com/2007/02/microsoft-likes-asians/ :P
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2018-02-19, 10:46:20
Microsoft likes so-called diversity in its commercials general. This one is a classic https://www.youtube.com/watch?v=D720o9aaNWM
Title: Re: Commentations on the blog of Frans
Post by: Belfrager on 2018-02-22, 23:50:58
I had a blog on painting, a very good one.  What I enjoyed was to see from where I had visitors and it was very surprising.
Had always regular visitors from "forbidden" countries, Iran and the sort.

Do you have visitors from non expectable places?
Title: Re: Commentations on the blog of Frans
Post by: Frenzie on 2018-02-23, 09:11:48
Not really. There are some 60,000 "commercial," whatever that means,[1] a bunch of European countries, 4,500 unknown, finished by Russia and Turkey.

I'm not sure if the search engines (listed separately) are included. There are a few I hadn't heard of there, including one from Czech Republic (this one (https://www.seznam.cz/)).

DnD is perhaps slightly more interesting. There's quite a high number of Russian "visitors," though I could tell you that from the couple of Russian spammers we have to quell almost every day. Incidentally, people apparently land here with search terms like

Quote
the vatican bank control
Quote
should ordinary people man be given the license to keep a revolver and gun
.com I presume, and for whatever reason the top of that is Amazon AWS (https://en.wikipedia.org/wiki/Amazon_Web_Services).
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2018-02-23, 09:45:20
Incidentally, people apparently land here with search terms like

Quote
the vatican bank control
Quote
should ordinary people man be given the license to keep a revolver and gun
The gun rights thread is perhaps the longest-running thread here and contains both the best and the worst that can be found on the internet on this topic. Nothing is missing in that thread. The rest of the internet has nothing that could not also be found in our mightiest thread.
Title: Re: Commentations on the blog of Frans
Post by: Belfrager on 2018-02-24, 11:53:36
Are we an authority in Vatican bank control??  :lol:
Well if Google thinks so who am I to deny it...
Title: Re: Commentations on the blog of Frans
Post by: Frenzie on 2018-02-24, 11:59:55
I'm personally unable to land here using that search term (whether loose or in quotes) unless it's past page 3, so I'm not sure what happened there. Even though I generally don't use Google I'd imagine my search bubble to be predisposed to show more DnD results than usual.

Our Gun Control topic meanwhile rates higher than an equivalent topic on debate.org (here (http://www.debate.org/opinions/should-people-be-allowed-to-carry-guns)). That might be my search bubble at work, or just the fact that @SmileyFaze used the phrase "Should Ordinary Citizens be allowed to own, carry, & use Firearms to defend their own lives, & the lives of their family & friends? " so it'll pop up when people search for "should [ordinary] citizens/people be allowed to own guns" or something along those lines.
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2020-12-20, 09:18:46
Congrats and thanks for the wonderfully implemented column mode. Looks like everything is there one could desire. I am particularly happy for the crawl-direction and overlap settings. I think these eliminate all the usability difficulties that could possibly arise.

The only instant issue for me is that the zoom panel (the panel that opens up under the bottom toolbar's zoom button) employs a different design of icons on Pocketbook than on Kobo. I think the icon set on Kobo is more understandable for general use. But this is a very margnal issue, does not really bother me.

Merry Christmas!

/me happy koreader user :up:
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2022-01-22, 10:30:06
Re https://fransdejonge.com/2022/01/koreader-2022-01-union-of-utrecht/

The page browser is awesome :up: Next: People will definitely want an easy access to literal Go to page from there.

And the Book map thingy probably makes good sense as an End of document action.

I personally would (very much like to have the option to) add many more buttons to the Go to page widget, e.g. TOC, Bookmarks, File browser, and now also to Page browser. And to get rid of the widget by clicking anywhere outside of it.
Title: Re: Commentations on the blog of Frans
Post by: Frenzie on 2022-01-22, 10:47:58
Would you mind opening a ticket on GitHub? :)
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2022-01-22, 11:55:31
I added a comment to where it hopefully makes sense https://github.com/koreader/koreader/issues/8701#issuecomment-1019207879

Perhaps there is already a Lua file in place that I can open up and edit to get the menus, buttons, and widgets I want?...
Title: Re: Commentations on the blog of Frans
Post by: Frenzie on 2022-01-23, 10:24:55
It's not hugely complicated in principle, no. With a bit of experimentation you could add a few buttons here.

https://github.com/koreader/koreader/blob/d7c00c586f88910dd532d6a59ab2abb48f7b958e/frontend/apps/reader/modules/readergoto.lua#L56-L96

The main issue is that if you do that, you have to apply your personal hacks to every update. That's why it's normally preferable to support something like this (https://github.com/koreader/koreader/pull/8713), but the beauty of Lua is that it's quite simple for anyone to make relatively simple adjustments. :)

For getting the book map to show, this should work.
Code: [Select]
UIManager:broadcastEvent(Event:new("ShowBookmap"))

Or in full to be absolutely clear:
Code: [Select]
                {
                    text = _("Bookmap"),
                    callback = function()
                        UIManager:broadcastEvent(Event:new("ShowBookmap"))
                    end,
                }

There's already an overview of all such event names in https://github.com/koreader/koreader/blob/d7c00c586f88910dd532d6a59ab2abb48f7b958e/frontend/dispatcher.lua
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2022-01-23, 21:59:43
Yup, I did it :) an Enter page number or percentage widget with the following buttons:
Skim            Go to %
Page Browser    Go to page
Contents        Cancel

Unfortunately I cannot show you the gorgeous result, because Pocketbook's screenshot does not work when in Koreader and I do not know how to trigger Koreader's screenshot when a popup is up, as gestures do not appear to work when a popup is up. (This is why I dislike configured complicated gestures - they do not work in all situations, particularly in the situations you need them to. Same problem as with menus, really - I think it's reasonable that the menus should always be available in any and all situations no matter where I end up in Koreader. And if there is a one-tap move to get from one place to another, there should always be a one-tap way in the other direction too.)

Here's another idea. Instead of sifting through all those frontend files, which are far too many, would it be possible to permit advanced users to apply any and all changes, applicable to whatever part of the app, in a single file, something like defaults.persistent.lua? It may need some special syntax e.g. by declaring the frontend element or file that one wants to change and then spelling out the changes. And when there's something wrong in defaults.persistent.lua, the app would fall back to the official file in its historical location.

...the beauty of Lua is that it's quite simple for anyone to make relatively simple adjustments. :)
There's no beauty in Lua. I'm familiar with Lua ever since I installed the Luakit browser. Lua is as ugly as JSON. Here are some things I deem ugly in this kind of computer languages:

- Multiple types of brackets/parentheses, particularly when curly braces are primary
- Strict formally required indentation (I cannot figure out from Lua documentation if this is the case, but the conventions of the code seem to indicate so), particularly when coupled with the use of tabs
- Key-Value mindset all over the place, resulting in constructs that humanly translate to sentences a la "Subject I verb like object books." Seriously, "I like books" is perfectly sensible and a sensible programming language would try to be like that.
Title: Re: Commentations on the blog of Frans
Post by: Frenzie on 2022-01-24, 17:18:57
Here's another idea. Instead of sifting through all those frontend files, which are far too many, would it be possible to permit advanced users to apply any and all changes, applicable to whatever part of the app, in a single file, something like defaults.persistent.lua? It may need some special syntax e.g. by declaring the frontend element or file that one wants to change and then spelling out the changes. And when there's something wrong in defaults.persistent.lua, the app would fall back to the official file in its historical location.
Almost everyone who'd consider something like that tends to maintain a few patch files instead.

- Strict formally required indentation (I cannot figure out from Lua documentation if this is the case, but the conventions of the code seem to indicate so), particularly when coupled with the use of tabs
Python requires indentation. Lua does not.
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2022-01-24, 18:06:03
Almost everyone who'd consider something like that tends to maintain a few patch files instead.
I see. That's really advanced, and it's actually long overdue I made it a normal everyday procedure for myself. Still, I like apps that are able to dump all of their changeable settings to a single editable configfile that stays safe across updates. The way defaults.persistent.lua is, it has some potential, but not nearly enough.

By the way, also camelCase is superugly.

Edit: Luckily such maintenance can be done inside Koreader, with some effort. In Kobo, I just opened Koreader's terminal emulator, ran cp frontend/apps/reader/modules/readergoto.lua frontend/apps/reader/modules/readergoto.lua.patched and, according to the text editor, it worked. According to type, there are also diff and patch onboard, but I'll try later if they work as expected.
Title: Re: Commentations on the blog of Frans
Post by: Frenzie on 2022-01-25, 11:32:35
safe across updates
Randomly loading a file the way you proposed isn't very safe. :-)

By the way, also camelCase is superugly.
I'm not a fan either. But it does serve a practical purpose, at least in KOReader. this_is_a_variable and thisIsAFunction so you can see it at a glance.
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2022-01-25, 13:40:38
safe across updates
Randomly loading a file the way you proposed isn't very safe. :-)
I meant the file should be safe, so I would not have to re-apply my customisations after every update. Even Emacs can do it. If the upgrade is not backwards-compatible, treat the configfile as erroneous and load the defaults, which is probably safe enough.

Indeed not very hygienic when there is a proliferating culture of sharing customisations and you don't always read through every bit of code properly, but good for customisability and contributions from wider user base.

By the way, also camelCase is superugly.
I'm not a fan either. But it does serve a practical purpose, at least in KOReader. this_is_a_variable and thisIsAFunction so you can see it at a glance.
Yet you still prefix every function literally with function or function() which defeats the purpose of the naming convention. The use of camelCase causes headaches like ShowBookmap versus ShowBookMap, for example.
Title: Re: Commentations on the blog of Frans
Post by: Frenzie on 2022-01-26, 08:47:19
Yet you still prefix every function literally with function or function() which defeats the purpose of the naming convention.
Hardly, then you'd have to go looking for the definition every time you see it. :)
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2022-03-20, 21:02:46
Kongratz on another Koreader release. Are there any plans of moving the project to Gitlab perhaps?
Title: Re: Commentations on the blog of Frans
Post by: Frenzie on 2022-03-20, 21:08:12
Not at this time.
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2022-05-26, 08:53:41
Finally I got some code to work that takes me from page search to file search in Koreader.

I now have these buttons in readergoto.lua
Code: [Select]
        buttons = {
            {
                {
                    text = _("Skim"),
                    callback = function()
                        self:close()
                        self.skimto = SkimToWidget:new{
                            document = self.document,
                            ui = self.ui,
                            callback_switch_to_goto = function()
                                UIManager:close(self.skimto)
                                self:onShowGotoDialog()
                            end,
                        }
                        UIManager:show(self.skimto)

                    end,
                },
                {
                    text = _("Go to page"),
                    is_enter_default = true,
                    callback = function()
                        self:gotoPage()
                    end,
                }
            },
            {   
                {
                    text = _("Bookmarks"),
                    callback = function()
                        self:close()
                        UIManager:broadcastEvent(Event:new("ShowBookmark"))
                    end,
                },
                {
                    text = _("Go to %"),
                    callback = function()
                        self:gotoPercent()
                    end,
                }
            },
            {
                {
                    text = _("Table of Contents"),
                    callback = function()
                        self:close()
                        UIManager:broadcastEvent(Event:new("ShowToc"))
                    end,
                },
                {
                    text = _("Book map"),
                    callback = function()
                        self:close()
                        UIManager:broadcastEvent(Event:new("ShowBookMap"))
                    end,
                }
            },
            {
               {
                    text = _("File search"),
                    callback = function()
                        self:close()
                        self.ui:showFileManager()
                        self.ui:handleEvent(Event:new("ShowFileSearch"))
                    end,
               },
               {
                    text = _("Open previous file"),
                    callback = function()
                        self:close()
                        UIManager:broadcastEvent(Event:new("OpenLastDoc"))
                    end,

               }
            },
            {
                {
                    text = _("History"),
                    callback = function()
                        self:close()
                        UIManager:broadcastEvent(Event:new("ShowHist"))
                    end,
                },
                {
                    text = _("Cancel"),
                    callback = function()
                        self:close()
                    end,
                }
            },
The File search button took me months to get right, but it's working now.

The only issue is that, after switching to the File search dialog, you have to press Cancel twice to dismiss the File search dialog. For some reason a single press of Cancel won't work. But this is an ignorable little problem, not too frustrating.

Edit: Hah, and I found what fixes it. In the above code, I replaced UIManager:broadcastEvent(Event:new("ShowFileSearch")) with self.ui:handleEvent(Event:new("ShowFileSearch")) and now the File search dialog does not require two-times Cancel to cancel.

As a result, also my changes of filemanagerfilesearcher.lua started working (i.e. I added buttons for "Open previous file" and "History"):

Code: [Select]
        buttons = {
            {
                {
                    text = _("Cancel"),
                    callback = function()
                        UIManager:close(self.search_dialog)
                    end,
                },
                {
                    text = _("Home folder"),
                    enabled = G_reader_settings:has("home_dir"),
                    callback = function()
                        self.search_value = self.search_dialog:getInputText()
                        if self.search_value == "" then return end
                        self.path = G_reader_settings:readSetting("home_dir")
                        self:close()
                    end,
                },
                {
                    text = _("Current folder"),
                    is_enter_default = true,
                    callback = function()
                        self.search_value = self.search_dialog:getInputText()
                        if self.search_value == "" then return end
                        self.path = self.ui.file_chooser and self.ui.file_chooser.path or self.ui:getLastDirFile()
                        self:close()
                    end,
                },
            },
            {
                {
                    text = _("Open previous file"),
                    callback = function()
                        UIManager:close(self.search_dialog)
                        UIManager:broadcastEvent(Event:new("OpenLastDoc"))
                    end,

                },
                {
                    text = _("History"),
                    callback = function()
                        UIManager:close(self.search_dialog)
                        UIManager:broadcastEvent(Event:new("ShowHist"))
                    end,
                },
            },
        },

This latter file also needs to have this line at the top: local Event = require("ui/event").

I still really don't like Lua. I do not like any programming language that requires curly braces and on top of that more sets of braces. Also all languages that are ultra-touchy on commas have certainly been created for the purpose of maximising the torment of souls.
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2022-05-26, 19:12:43
Has anybody floated the idea of a scrollbar for reader view in Koreader?

(The scrollbar should be optional of course, duh.) I'm one who is scrolling by approximately half-pages when reading a pdf/djvu, but I often find myself wanting to scroll with better precision. When I read prose in text editors on computer, I often set the (sub-)heading or top line of a paragraph to the top edge of the screen/viewport. I wish this were somehow available with Koreader also.

So, my wishful thinking proposes that a tap at or swipe from the right edge of the screen would bring up a scrollbar along the edge about as feature-rich as in modern web browsers and IDE's. Then let's say a tap on the scrollbar would mark the spot that should instantly fly to the top edge (or, when in comic-book mode, it would depend on the scrolling direction) when viewing a pdf/djvu.

The skim widget, book map and page browser in Koreader neatly serve as the equivalent of minimap in modern text editors (like Overview plugin in Geany). This helps browsing across the pages of the document and therefore the book map and page browser would appropriately be accessible from scrollbar. Access to notes and highlights from the same would also be nice.

Then there's the fulltext search. In modern web browsers, the scrollbar indicates matches for text search. I don't think this can be productively replicated for the scrollbar in Koreader, but perhaps there is a way to add a separate view to display all search matches found in a file (similar to the way grep displays results or Occur in Emacs). This kind of view for search matches should be doable for epubs at least.

What is still missing in Koreader is an aid to navigate a single elaborate page, let's say a comic book page or a page of yester-millennium's newspapers (https://gallica.bnf.fr/ark:/12148/bpt6k5613482). The column mode was a very welcome addition, but Koreader does not have the capability to start reading at an arbitrary spot in the middle of the page or to preserve an arbitrary spot to go to it when the file is later revisited from history. Pocketbook's reader app always had this capability, to zoom and drag the page in arbitrary directions, and I always liked Pocketbooks for this reason.

I understand it may not be feasible to implement in Koreader the ability to start reading at an arbitrary spot and to drag a zoomed page in arbitrary directions. It's just my wishful thinking. (Pocketbook's reader actually lags, struggles to load and displays belatedly when used this way.)
Title: Re: Commentations on the blog of Frans
Post by: Frenzie on 2022-05-27, 11:48:01
Free dragging isn't that hard in principle, but what I like most is not having to do it. That is, I'm not overly interested in spending time implementing it at this time, and apparently other people aren't either.
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2022-05-27, 12:14:19
Free dragging isn't that hard in principle, but what I like most is not having to do it.
I don't like to drag either, not even in continuous mode. My number one preference among my suggestions is the ability to select a point that would become the next point at edge. Something like next half-page, but with fine-tuning on the fly at each turn.

It would make sense for pdf/djvu but likely not epubs, so it is of limited utility. And I'm okay if it is never implemented.
Title: Re: Commentations on the blog of Frans
Post by: Frenzie on 2022-05-27, 16:10:48
I don't like to drag either, not even in continuous mode.
I explicitly renamed it from its prior name "scroll mode" because I strongly dislike the suggestion that there should be any scrolling/dragging involved. In extremely rare circumstances I might reposition.

Anyway, it means it's somewhat unlikely to come from me, but of course anybody who's interested is free to try their hand at an implementation.
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2022-05-27, 16:55:38
In extremely rare circumstances I might reposition.
I guess it's my personal problem that I reposition a bit too much and also zoom now and then. For example when looking at some printing quirks in old books and overwrites in ancient manuscripts. In pdf/djvu files made of them, that is.

It's okay. Koreader can't be good for everything. Let some other reader apps have a job too.
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2022-08-26, 09:38:00
In Koreader, there's a menu setting for Links: "Ignore external links on tap". This is a sane option for those who don't want to accidentally end up all over internet.

Then again, I recently managed to get Koreader's Newsdownloader working and I noticed that it epubifies webpages. Very nice :up: So, wouldn't it be awesome to have another menu option for Links: Epubify ???

Perhaps it is possible to include in Newsdownloader a way to epubify a user-typed direct webpage url. In fact, I have been looking into its source code and I think all the elements are there. If this has not been done already in some hidden way, maybe I can give it a go as a little Lua exercise.

Edit. Okay, the fruit of the day: rgrep --color -nH --null -F "createEpub" .
Code: [Select]
./base/build/x86_64-linux-gnu-debug/plugins/newsdownloader.koplugin/epubdownloadbackend.lua199:function EpubDownloadBackend:createEpub(epub_path, html, url, include_images, message, filter_enable, filter_element)
./base/build/x86_64-linux-gnu-debug/plugins/newsdownloader.koplugin/epubdownloadbackend.lua200:    logger.dbg("EpubDownloadBackend:createEpub(", epub_path, ")")
./base/build/x86_64-linux-gnu-debug/plugins/newsdownloader.koplugin/main.lua551:        DownloadBackend:createEpub(news_file_path, html, link, include_images, article_message, enable_filter, filter_element)
./base/build/x86_64-linux-gnu-debug/plugins/newsdownloader.koplugin/main.lua576:        DownloadBackend:createEpub(news_file_path, html, link, include_images, article_message)
./frontend/ui/wikipedia.lua649:function Wikipedia:createEpub(epub_path, page, lang, with_images)
./frontend/ui/wikipedia.lua1372:-- Wrap Wikipedia:createEpub() with UI progress info, provided
./frontend/ui/wikipedia.lua1374:function Wikipedia:createEpubWithUI(epub_path, page, lang, result_callback)
./frontend/ui/wikipedia.lua1382:        -- If errors in Wikipedia:createEpub(), the coroutine (used by
./frontend/ui/wikipedia.lua1386:        local ok, success = pcall(self.createEpub, self, epub_path, page, lang, true)
./frontend/ui/wikipedia.lua1391:            logger.warn("Wikipedia.createEpub pcall:", ok, success)
./frontend/ui/widget/dictquicklookup.lua346:                                    Wikipedia:createEpubWithUI(epub_path, self.lookupword, lang, function(success)
./plugins/newsdownloader.koplugin/epubdownloadbackend.lua199:function EpubDownloadBackend:createEpub(epub_path, html, url, include_images, message, filter_enable, filter_element)
./plugins/newsdownloader.koplugin/epubdownloadbackend.lua200:    logger.dbg("EpubDownloadBackend:createEpub(", epub_path, ")")
./plugins/newsdownloader.koplugin/main.lua551:        DownloadBackend:createEpub(news_file_path, html, link, include_images, article_message, enable_filter, filter_element)
./plugins/newsdownloader.koplugin/main.lua576:        DownloadBackend:createEpub(news_file_path, html, link, include_images, article_message)

So it looks like those EpubDownloadBackend:createEpub and DownloadBackend:createEpub bits in Newsdownloader files are the generic epubification function~command that I am looking for. And I discovered that when Links / Ignore external links is not set, then we get a popup prompt, which could sensibly include the "Epubify" button. How about it?
Title: Re: Commentations on the blog of Frans
Post by: Frenzie on 2022-08-26, 16:41:23
Perhaps if you float the idea on the Gitter chat, ping roygbyte.
Title: Re: Commentations on the blog of Frans
Post by: ersi on 2023-05-20, 18:56:56
Frans is now world famous, evangelising about Koreader. Congrats :up: https://www.fsf.org/blogs/licensing/frans-de-jonge-tells-us-about-koreader-in-this-agplv3-interview

Last month I did some serious note-taking reading a book and putting together a presentation about it, and Koreader helped me out nicely in this self-imposed task. In the process I compared Koreader's note-taking to Pocketbook's and I may have some comments, but not now.

(Now for something completely different) Oh, about the Epubify option a post ago, I thought I would be able to do it by hacking the code a bit after studying some Lua. Not that easy, but I see it's only been a year trying so I'll try some more.