Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Software > Calibre

Notices

Closed Thread
 
Thread Tools Search this Thread
Old 07-17-2020, 01:18 PM   #1
hellonurse
Member
hellonurse began at the beginning.
 
Posts: 10
Karma: 10
Join Date: Jul 2020
Device: Bookeen Cybook Odyssey 2013
File associations added without prompt; portable mode not honored.

Please, consider changing the way the program handles file associations under certain conditions and the way it behaves when you use the portable mode and expect all the components to conform to it.

I never install anything unless pressed to the wall, so consider my scenarios:

Scenario a): I take the .MSI installer, unpack it by running msiexec /a, launch the program, and Calibre decides that I need all those file associations added to my HKCU\*\Software\Classes. No prompt, no nothing. As Calibre is not advertised to the OS and is not installed, I have to weed them out manually if need be.

Isn't it possible to add file associations dialog to the configuration master, so that we know what we subscribe to?

Scenario b): I take the portable installer, unpack the program, run calibre-portable.exe -- OK, fine, nothing is added or changed. Then I somehow navigate to Calibre Portable\Calibre and launch calibre.exe from there. Guess what happens? I get the configuration master yet again, and even though I don't even finish it (as I press "Cancel"), I get everything added to the registry, to the AppData, and all those file associations.

Isn't it possible to make *everything* under Calibre Portable\* aware of the fact that we're using the portable mode?
hellonurse is offline  
Old 07-18-2020, 12:18 AM   #2
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 45,255
Karma: 27110894
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
thats how microsoft recommends applications inform the os of what files they are capable of handling. you dont like it complain to microsoft. and no, if you want to run calibre in portable mode, use calibre-portable.exe
kovidgoyal is online now  
Advert
Old 07-18-2020, 02:59 AM   #3
hellonurse
Member
hellonurse began at the beginning.
 
Posts: 10
Karma: 10
Join Date: Jul 2020
Device: Bookeen Cybook Odyssey 2013
Well, first of all it's not about what I personally want, really. I've just suggested a couple of scenarios to illustrate the point that the app could be made a bit more predictable in certain aspects.

Where did I say that I don't like the way the app advertises its handling capabilities to the OS? I only said I'd prefer to be informed what the app is going to do, and have a choice to agree to that or not. One of those "do you want the app to register file associations" dialogs with a list to choose from. And it'd be nice to have that applied only once you've pressed "Finish": it doesn't even matter now if you cancel of finish the welcome wizard — you've run the app and here you go.

So, the polite behaviour would be to display the dialog, register file associations once the welcome wizard was successfully run and not do anything if it was cancelled, given that you can always run it again.

I've already figured out a somewhat cheesy but functional way to keep Calibre from doing that:

Create an empty AppData\Roaming\calibre directory in your profile and put a dynamic.pickle.json file there with only the following before running the app for the first time:

{
"welcome_wizard_device": "cybook_odyssey (or whatever you have)",
"welcome_wizard_was_run": true
}

No associations added, just the way I want it.

That's essentially what I'd like to see if I cancel the welcome wizard.

As for the portable mode, I just reported something that's not exactly the way one would expect a portable app to behave, and I'm somewhat perplexed by the answer. Let's say you want to run the ebook-viewer component directly in the portable mode. And all of a sudden the app is not so portable, writes its configuration files to your home directory and writes a bunch of settings to the registry. All of that with no warning whatsoever. It's not a question of what I or anyone else has to use, it's a question of how an app should behave — in a polite and predictable way.
hellonurse is offline  
Old 07-18-2020, 03:46 AM   #4
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 45,255
Karma: 27110894
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
the welcome wizard does not add associations. and no i am not going to prompt millions of people about calibre doing something that it is supposed to be doing just because YOU deem it to be the polite thing to do. I am really fed up of people that think that their particular preferences are gospel.


And again, you want portable behavior, use the portable exe. You want to run other exes by themselves setup the needed env vars yourself. You dont get to claim that you do something unsupported and then claim the resulting behavior is rude.

This will be my last response to you, good luck.
kovidgoyal is online now  
Old 07-18-2020, 05:09 AM   #5
hellonurse
Member
hellonurse began at the beginning.
 
Posts: 10
Karma: 10
Join Date: Jul 2020
Device: Bookeen Cybook Odyssey 2013
Yup, my cheesy dynamic.pickle.json thingy didn't even affect anything, so that one was off-target. I thought there was a setting or a command-line switch to control that, but there doesn't seem to be.
Particular preferences are gospel? Erm, whatever.
All the best.
hellonurse is offline  
Advert
Old 07-18-2020, 02:36 PM   #6
hellonurse
Member
hellonurse began at the beginning.
 
Posts: 10
Karma: 10
Join Date: Jul 2020
Device: Bookeen Cybook Odyssey 2013
I've been to the beta section, and I'm sorry you hurt your back and I sincerely wish you a speedy recovery, but I still wonder, what was the point of answering me at all in the first place?

OK, I've never used the app before and I didn't figure out at first that one had to look for app settings in — of all things — the environment variables section of the manual (which is an unconventional way of passing settings to an app, to be honest, compared to far more conventional configuration files).
I didn't claim that something is "rude" — the idea of software politeness is, basically, predictability and explicitness where it counts, just to eliminate all those "What was that?" and "Why did that happen?" moments.

And, just to conclude the thread and let bygones be bygones, a one-liner along the lines of "add the CALIBRE_NO_DEFAULT_PROGRAMS variable and assign it a value of 1; use calibre-debug --default-programs=unregister command to delete associations" would've been enough for both scenarios mentioned; just as ignoring the question/suggestion altogether would've been more useful than the way it turned out.
hellonurse is offline  
Old 07-21-2020, 04:07 PM   #7
ownedbycats
Custom User Title
ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.
 
ownedbycats's Avatar
 
Posts: 10,815
Karma: 74203799
Join Date: Oct 2018
Location: Canada
Device: Kobo Libra H2O, formerly Aura HD
When the 4.xx viewer was still something of a work-in-progress (I was using the 3.48 portable viewer), I had to use Types to change the file class to something other than "calibreViewer.AssocFile.EPUB" to prevent the main installer from overwriting the association when I updated.
ownedbycats is online now  
Old 07-22-2020, 04:26 PM   #8
hellonurse
Member
hellonurse began at the beginning.
 
Posts: 10
Karma: 10
Join Date: Jul 2020
Device: Bookeen Cybook Odyssey 2013
That's involved, but at least you had a reason to do that. I just run the program a couple of times without installing anything and then saw all those .azw, .pobi and .kobo, together with Windows going, like, "I was told there's a new program for your .chm's and .pdf's, which one do you want?" Anyway, I don't really care as long as there's a way to prevent that.

What I still don't get is the Unix-inspired logic of using CALIBRE_NO_DEFAULT_PROGRAMS and other settings *only* as environment variables. It's not even that it feels a bit wierd on Windows, like, PROCESSOR_ARCHITECTURE=AMD64, NUMBER_OF_PROCESSORS=4, CALIBRE_NO_DEFAULT_PROGRAMS=1. It's more that it seems reasonable for the program to also be able to look for settings in some kind of 'calibre.ini' file under 'AppData\Roaming\calibre' (normal mode), 'Calibre\app\resources' (portable mode) or something along those lines. Also, in the portable mode, it could be used to eliminate the "if you want to run calibre in portable mode, use calibre-portable.exe" requirement.
hellonurse is offline  
Old 07-23-2020, 02:32 PM   #9
DNSB
Bibliophagist
DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.
 
DNSB's Avatar
 
Posts: 45,439
Karma: 168808777
Join Date: Jul 2010
Location: Vancouver
Device: Kobo Sage, Libra Colour, Lenovo M8 FHD, Paperwhite 4, Tolino epos
Quote:
Originally Posted by hellonurse View Post
That's involved, but at least you had a reason to do that. I just run the program a couple of times without installing anything and then saw all those .azw, .pobi and .kobo, together with Windows going, like, "I was told there's a new program for your .chm's and .pdf's, which one do you want?" Anyway, I don't really care as long as there's a way to prevent that.

What I still don't get is the Unix-inspired logic of using CALIBRE_NO_DEFAULT_PROGRAMS and other settings *only* as environment variables. It's not even that it feels a bit wierd on Windows, like, PROCESSOR_ARCHITECTURE=AMD64, NUMBER_OF_PROCESSORS=4, CALIBRE_NO_DEFAULT_PROGRAMS=1. It's more that it seems reasonable for the program to also be able to look for settings in some kind of 'calibre.ini' file under 'AppData\Roaming\calibre' (normal mode), 'Calibre\app\resources' (portable mode) or something along those lines. Also, in the portable mode, it could be used to eliminate the "if you want to run calibre in portable mode, use calibre-portable.exe" requirement.
For the Unix inspired logic? Perhaps you have not noticed that calibre is multi-platform? It runs on Windows, Linux and Mac OSX.

Why do you keep complaining that the non-portable version of calibre does not behave like a portable app? Did I miss the memo that said unpacking an non-portable installer and running executables directly is how to generate a portable mode application? There are reasons that calibre has a Windows x64, Windows x86 and portable installer. So quit trying to claim that the non-portable version of calibre should behave the same as the portable version.

If you want to continue to use calibre in a non-standard mode, depend on yourself for tech support.
DNSB is offline  
Old 07-23-2020, 05:19 PM   #10
hellonurse
Member
hellonurse began at the beginning.
 
Posts: 10
Karma: 10
Join Date: Jul 2020
Device: Bookeen Cybook Odyssey 2013
I've long since provided all the needed tech support to myself after getting a gentle nudge in the right direction. Just as I've long since reconciled my irreverent habits of using software products with stern reality. So all things non-portable can be safely thrown out of consideration.

As for the rest, me complaining? That's stretching it. It's me wondering and me suggesting. As for the app being multiplatform - oh my, I missed that, thank you. But I guess you know that some aspects of any multiplatform app are indeed platform-dependent. Like, where the configuration is stored and all that stuff. And on Windows, environment variables are not the conventional way of storing non-PATH related settings of third-party apps. I've just tried to point out that, on Windows, it's somewhat strange to stick to that way as the only way. I don't see how it depends on or could affect the app's being multiplatform.

Now, the portable mode itself isn't without its curious caveats, as I've already said. The thing is that the requirement to only use the 'calibre-portable.exe' and strictly avoid running any apps from any subdirectories of the portable installation lest the app suddenly stops being portable is one hell of a curious caveat, sorry about that, I don't care if that's also considered non-standard. And that caveat could be alleviated by putting a configuration file with all those CALIBRE_NO_DEFAULT_PROGRAMS and other settings somewhere within the portable installation directory structure, so that all the components have a common means of knowing what's going on. If this suggestion is considered a sacrilegious encroachment upon the ways of the world - fine, you're in charge. But I don't see what's so surprising in me finding something surprising.
hellonurse is offline  
Old 07-23-2020, 05:57 PM   #11
DNSB
Bibliophagist
DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.
 
DNSB's Avatar
 
Posts: 45,439
Karma: 168808777
Join Date: Jul 2010
Location: Vancouver
Device: Kobo Sage, Libra Colour, Lenovo M8 FHD, Paperwhite 4, Tolino epos
Quote:
Originally Posted by hellonurse View Post
As for the rest, me complaining? That's stretching it. It's me wondering and me suggesting. As for the app being multiplatform - oh my, I missed that, thank you. But I guess you know that some aspects of any multiplatform app are indeed platform-dependent. Like, where the configuration is stored and all that stuff. And on Windows, environment variables are not the conventional way of storing non-PATH related settings of third-party apps. I've just tried to point out that, on Windows, it's somewhat strange to stick to that way as the only way. I don't see how it depends on or could affect the app's being multiplatform.
I did some checking and very few apps on my Windows machines use .ini files though they are rather popular with Windows components including those old favourites win.ini and system.ini. If I excluded the windows components that use .ini files and setup.ini and it's cousins in installers, the number of .ini files dropped from 1592 to 17. Adding .json configuration files back in brought the number up to 93 (most of those being calibre configuration files).

Checking where those programs stored their configuration information, the most popular approach seems to be saving settings in the registry. A few apps allow exporting their settings to a .ini file which comes in handy when moving to a new machine. As for Path? Last time I looked Path was simply one of a large number of variables including such oddities as Domain controller used to process the login.

Kovid Goyal's design choice to use a method of storing calibre's configuration information that could be applied somewhat consistently across multiple platforms saving him having to support multiple methods was his choice. You may not agree with that design choice, that is your right. OTOH, since Kovid did make calibre open source, feel free to download the source and modify it until it works the way you would prefer.

Quote:
Originally Posted by hellonurse View Post
If this suggestion is considered a sacrilegious encroachment upon the ways of the world - fine, you're in charge. But I don't see what's so surprising in me finding something surprising.
What? ME? In charge? Only in my wildest dreams.

However, when you are using very non-standard and non-supported ways of running programs, IMNSHO, you should not be wasting bandwidth by complaining that the programmer did not handle operations the way you prefer.
DNSB is offline  
Old 07-23-2020, 06:08 PM   #12
BetterRed
null operator (he/him)
BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.BetterRed ought to be getting tired of karma fortunes by now.
 
Posts: 21,662
Karma: 29711016
Join Date: Mar 2012
Location: Sydney Australia
Device: none
Quote:
Originally Posted by hellonurse View Post
But I don't see what's so surprising in me finding something surprising.
Except that millions of others haven't.

You have three choices, a) don't use calibre, b) do what millions of active users do, use calibre as it is shipped, c) do what many other people have done, download the source and change it to meet your special needs.

https://calibre-ebook.com/dynamic/calibre-usage

BR
BetterRed is offline  
Old 07-23-2020, 08:41 PM   #13
hellonurse
Member
hellonurse began at the beginning.
 
Posts: 10
Karma: 10
Join Date: Jul 2020
Device: Bookeen Cybook Odyssey 2013
I mentioned .ini only as an example. On my machine, for example, the majority of non-essential (and some essential, too) stuff isn't installed and is configured via configuration files. All those mpv's, vlc's, sumatra's, audacity's, foobar's, keepass'es and what not. Configuration files are either within the app's directory itself or somewhere under \AppData.

My latest bandwidth-wasting ramble was about what's peculiar about the portable mode, so the registry is not what we're talking about here.

I mentioned PATH because that's the most exemplar of what gets additions or changes among Windows environment variables, unlike in the Unix-like-world, where you'd expect to be stuffing all kinds of pretty disparate settings into your environment.

I don't question the way the setting are stored, but sometimes it's reasonable to provide for some flexibility - to make the portable mode a little more portable in a little less conditional way, for example.

"You're in charge" was just a way of saying, like, "look, whoever in charge of whatever has a final say in whatever they're in charge of".

Yup, the millions is a very powerful argument, except it doesn't matter. Like, let's say I've used the app for a couple of days and have noticed a couple of very minor bugs that could be reported, but why would I, if they don't affect me? Like, that the viewer stops responding to zooming up using the keyboard or toolbar buttons if the 'Zoom step size' setting is set to or below 12% and you zoom out to or below 9px or that pressing on 'Previous/Next page' toolbar buttons without a book loaded results in an error. It's completely minor, it may or may not have been reported before, but it's there. Same goes for the way millions use any kind of software. Unless something is broken like there's no tomorrow or breaks something else, no one cares.

You can disregard suggestions, you can ignore suggestions, you can consider suggestions and deem them not worth the time, pointless or whatever.

And again, let's distinguish between complaints and suggestions and stop making it seem that I want something from someone. I don't want anything and I don't care.

Again, I don't care. But somehow I don't bother explaining myself over and over, as my bandwidth isn't limited.

And no need to use those "special needs" puns. Those things do not get to me, just take my word for it.
hellonurse is offline  
Old 07-23-2020, 11:40 PM   #14
DNSB
Bibliophagist
DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.DNSB ought to be getting tired of karma fortunes by now.
 
DNSB's Avatar
 
Posts: 45,439
Karma: 168808777
Join Date: Jul 2010
Location: Vancouver
Device: Kobo Sage, Libra Colour, Lenovo M8 FHD, Paperwhite 4, Tolino epos
Quote:
Originally Posted by hellonurse View Post
And no need to use those "special needs" puns. Those things do not get to me, just take my word for it.
What makes you think it was a pun? Special needs in the sense you appear to be using it is a relatively new term as a more PC replacement. I'm still not sure how referring to special needs education is any different from special education. But then I am still confused by the swing from disabled being demeaning to being a preferred term.

For many people, special needs can refer to anything from wanting a vegan meal at a business conference, being supplied with an external optical drive for their new laptop or the ever popular why can't the computer read my mind instead of doing what I told it to.
DNSB is offline  
Old 07-24-2020, 01:04 AM   #15
hellonurse
Member
hellonurse began at the beginning.
 
Posts: 10
Karma: 10
Join Date: Jul 2020
Device: Bookeen Cybook Odyssey 2013
If there was no pun in there, I'm sorry for overreacting.

Quote:
Originally Posted by DNSB View Post
For many people, special needs can refer to anything from wanting a vegan meal at a business conference, being supplied with an external optical drive for their new laptop or the ever popular why can't the computer read my mind instead of doing what I told it to.
Unfortunately, I have to disagree.
It's just the way it is that its use as the go-to euphemism have led to a degree of certainty as to what it connotes.
I've grown accustomed to steering miles clear of it and making sure I use something like "specific needs" instead when it comes to meals or "specific requirements", which perfectly covers both optical drives and mind-reading computers.
hellonurse is offline  
Closed Thread


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
File Associations OscarAlx Calibre 3 06-24-2020 12:27 PM
Having trouble with file associations and Calibre Magelord Library Management 6 02-21-2020 04:51 PM
kpvbooklet file associations procyon Kindle Developer's Corner 2 11-30-2016 03:16 PM
Set File associations to the portable viewer? Vortex Calibre 5 01-29-2013 02:24 PM
[Linux] File Associations, again markhale Devices 6 03-17-2011 12:16 PM


All times are GMT -4. The time now is 11:35 AM.


MobileRead.com is a privately owned, operated and funded community.