A screenshot tool should not forcefully include ML. In Plasma 6.6.x it was optional. In 6.7.x it is mandatory.
I don’t need or want that functionality. It is bloat. I just want to take a screenshot and have it copied to the clipboard, nothing else. I have disabled similar functionality on my phone for similar reasons.
It should be on individuals or distros to install it themselves, rather than forcing it on everyone, without a way to uninstall without removing spectacle in the process. Telling the package manger to ignore the dependency is the wrong approach and prone to breakage.
I have since removed spectacle and replaced it with grim, wl-clipboard and creating my own shortcuts.
I was wrong, I can remove the ocr executables and language files, but not the small library component, though the reason for this is explained here. So the important parts are removeable, but not all the bits.
Removing the ocr-related packages does remove the OCR functionality in Spectacle along with the ocr-related binaries and language files without removing the screenshot application.
It seems suitably ‘KDE’ to me, if a bit resource intensive, to make a plug-in system for Spectacle so that functionality beyond the basics can be installed/uninstalled as users please while also availing people the opportunity to create functions and extend the program themselves.
The idea of it being optional I can get behind, and the idea that it can be removed, but I do believe that it being included by default is the correct path to take. It’s not a huge dependency and it adds a powerful tool that some (including me) will want.
I say this because I think most people want things to just work when they install KDE/Plasma rather than a stripped down only do basics type of setup.
i agree with OP in that non-essential functionality should not force installation of huge extra dependencies. a package’s required dependencies should be limited to what’s, well, actually required for its core functionality, and nothing more, to have a lightweight system without the situational bells and whistles should be an available and supported choice
I’d be open to it being included in the plasma-meta (Arch Linux - plasma-meta 6.7-2 (any) for reference) package, but not a hard dependency on spectacle.
I don’t personally use plasma-meta because it has functionality I don’t need. Most distros use plasma-meta for shipping Plasma out of the box.
On my system, these packages are about a dozen 19 or 20 MB for everything including the libraries, binaries and language files I will double check this when I am back home but this should be easy enough for people to find.
The required library package (aka not the actual OCR binaries and language files) here (the package libtesseract5 in Kubuntu) is about 3,504kB installed.
The three removable files (in Kubuntu 26.04) :
Name
Installed Size
tesseract-ocr
1,144 kB
tesseract-ocr-eng
4,126 kB
tesseract-ocr-osd
10.6 MB
TOTAL installed size
15.7 MB
I will assume other distros sizes will be fairly similar.
I could not really tell how little ram and cpu cycles are used. (I did not really try very hard, tbh)
This would run well on a potato’s grandfather I think.
Tesseract goes back decades, and is still actively developed.
The reason that the library file for this being required at the moment is described in the link in my first post. If I am reading it correctly, it is to deal with a bug found in Tesseract, I assume until it is fixed.
Because I know some people aren’t going to want to read through another thread, here’s the TL;DR:
Tesseract isn’t going to be optional because it’s inconvenient for me to make it optional.
People who want it to be optional overestimate the benefit of making it optional.
Your potato will run Spectacle about the same as before if you build without Tesseract, even if you think “There’s no way that true, look at all the trained data!”
There are no privacy issues, everything is local and offline.
There are no background service issues, it’s only done on demand and it’s fast.
You can easily block the trained data files with your package manager if you don’t want to use Tesseract, which solves the install size issue.
The install size is the only real issue.
The install size is mostly just an issue for Arch Linux because it prioritizes package simplicity over package size.
See the thread for more details. I don’t want to spread out the discussion, so please post over there if you have more questions.
I also don’t feel the need for this OCR functionality and don’t particularly like being forced to install a whole new family of packages out of the blue, because installing just one language would feel like such a funny way to go about it when I speak several languages. A bit sad that such decisions are being made just like that. I usually like the default KDE apps, but maybe there had to come the time where I just start disliking and uninstalling some, even if it’s for something so tangential for spectacle as seems to be this OCR thing.
you should have a convo with the chorus of ppl who were demanding OCR capability in their favorite screen grabber tool.
it wasn’t that long ago.
i feel bad for the KDE team when they listen to use feed back, implement what was being called for, and then only to be swamped by another wave of users screaming “what have you done?!”.
i personally think this change improves spectacle and makes it an even more essential tool, but then i also have OCR capability as a separate stand alone app because i’m still on plasma 5.
I imagine it would be different if this happened back in 2020 or so. It’s understandable that people are more acutely aware now of the value of data and the willingness of “AI” companies to take said data regardless of consent, worse is that it seems even claims of “we do not take/keep/store your data” are proving false one after another as people’s IDs and whatnot are leaked to the internet. I can’t really blame them for railing against it in any way they can.
This is why my comment above was a suggestion to make it an optional plugin, for me it wouldn’t matter if it were a default plugin that people had to opt out of having, I’m not going to change my screenshot program over this.
why would I not, if I’m being asked to because it’s not an optional dependency? In principle, I don’t want to have incomplete/broken software installed. I install everything required. Do I not like it? I uninstall everything. Seems simple to me.
I didn’t realize it was necessary to force people into installing packages they don’t want just because a bunch of people want them. Just to clarify, it seems pretty great to me that spectacle has OCR capabilities because some people want spectacle to have them, but forcing people into it feels quite unnecessary. You’re telling me no one could’ve predicted this reaction? Come on, let’s be serious for a minute, even the dev is saying this is for their own convenience above all. Decisions have been made. Feedback goes both ways.
The dev has spoken. It is easier for him. He is the dev, it is entirely within his remit to do or not do as he pleases, he is putting his time and effort into the programme voluntarily so why should any one else feel they have the right to complain? If you don’t like it, write your own and leave the OCR out of your programme. I personally do not care either way, in or out it doesn’t bother me so if it is encouraging a dev to continue with his unpaid contribution, well good for him.
There are a lot of cases in which programs depend on a library for certain features that not everybody needs or not all the time: translations, spell checking, etc.
In a lot of these cases there are additional data dependencies which are often optional, e.g. dictionaries for each language to spell check.
Tesseract is one of those cases.
The program only depends on the library and the library needs language specific data files to work but the data does not necessarily have to be installed.
Making the library optional is a lot of work and can cause a lot of hassle for who want the feature so the most common compromise is to depend on the code but not on the data.