Bug 109402 - i want to be able to copy text from any part of the screen, even from menus/images or anything that has any sort of text written on it.
Summary: i want to be able to copy text from any part of the screen, even from menus/i...
Status: REPORTED
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: RedHat Enterprise Linux Linux
: NOR wishlist
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
: 162325 191257 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-07-21 00:51 UTC by anatoly yakovenko
Modified: 2009-08-31 13:26 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description anatoly yakovenko 2005-07-21 00:51:06 UTC
Version:            (using KDE KDE 3.4.2)
Installed from:    RedHat RPMs
OS:                Linux

i want to be able to copy text from any part of the screen, even from menus/images or anything that has any sort of text written on it.  They way I imagine this would work is if you hold down the windows key, or some other key combinations you can use the mouse pointer to select anything that is currently shown on the screen, the selected text should be copied into klipper.
Comment 1 Thiago Macieira 2005-07-22 13:33:38 UTC
The chances of this getting implemented are pretty low. I don't even know if it's possible.
Comment 2 anatoly yakovenko 2005-07-22 18:01:40 UTC
well i was thinking you could capture whats currently on the screen then do some image processing to parse out the text.  
Comment 3 Pino Toscano 2008-05-19 20:38:04 UTC
*** Bug 162325 has been marked as a duplicate of this bug. ***
Comment 4 Maciej Pilichowski 2008-05-19 20:48:40 UTC
Well, for a start much simpler idea -- some switch (copy text) to switch KDE into copy text mode, then click on the widget --> titlebar, button, you name it. After click the text is copied to the clipboard. Not perfect but it is much better than manual copying.

USECASES (what you have to do without this feature):
a) you want to copy some number from the table, but the table is static and the only way is to make a screenshot (image) or retype those manually 

b) you are explaining how to use program, but you cannot copy labels from buttons, so you have to retype all labels manually 

c) you want to send reference to some page, program, whatever, but you cannot copy the title, because they are static 
 
Comment 5 Matthew Woehlke 2008-05-24 00:01:23 UTC
*IF* this is possible to implement outside of Qt... I don't think it should be. If we do something like this it should be in Qt. Or, possibly, dovetailed somehow into KSnapshot, maybe using screen reader stuff?
Comment 6 Maciej Pilichowski 2008-05-24 10:35:48 UTC
Matthew,
a) it should not be possible outside Qt
b) it is rather not possible outside Qt
?

Screen reader, i.e. OCR? We are talking here not about images but text displayed on the screen, as far as I know all those text are well known (in text, QString, form) to the the system. So you have access to them, now it is the matter of implementing this feature.
Comment 7 Matthew Woehlke 2008-05-27 17:52:47 UTC
What I meant was, I'm not sure it will be possible to implement this as stated (i.e. 'press a magic key and be able to select any text') unless Qt does most of the work. In which case, it really isn't a KDE feature request, but a Qt feature request (KDE will likely want a QSettings front-end to change the key, but that would be about the extent of what KDE would do).

Alternatively, there might be a way to do something like this using screen-reader hooks (note: I know basically nada about screen readers, but I don't think it's OCR-based), but then the closest you would get is that pressing the key takes a "snapshot" of the current window or desktop, and then you can select text.

Hmm... actually, you *might* be able to do something with walking the widget tree, but Qt could do that just as easily, and I maintain that I think if we take any approach like this, it should go in Qt proper so that all Qt4 applications will benefit, and not just KDE applications.

OTOH, a text-mode snapshot leveraging screen-reader interfaces might also work with GTK applications, which is a point in favor of that method.
Comment 8 Maciej Pilichowski 2008-05-27 18:03:03 UTC
Well, I could only say that normally you would simply point out (x,y) coordinate, ask the system what window it is there, then ask that window what widget is there, then ask the widget about the label and that's is -- you get the whole text.

But there is of course problem with non-KDE apps.
Comment 9 Matthew Woehlke 2008-05-27 18:13:19 UTC
> then ask that window what widget is there

I don't think that's possible? Maybe I'm wrong, but I wouldn't expect that Process A can go around asking Process B about its widgets without Process B assisting (security implications!), which is why I'm thinking that there needs to be something in Qt, or at least KApplication, to assist. Or existing screen-reader API's might provide that already (and hopefully are cross-toolkit).
Comment 10 FiNeX 2009-05-01 14:38:26 UTC
*** Bug 191257 has been marked as a duplicate of this bug. ***
Comment 11 LimCore 2009-06-28 13:49:38 UTC
Oh my god... it takes YEARS to simply allow to copy text from message boxes? O_o

It sounds like that GNOME fiasco when it took several years to fix bug where clicking buttons with mouse didn't work until you move the mouse.

This function is really helpful  to have for debugging of other errors (and also for writing manuals).

Can we just do a partial (but good) solution for now so that the normal dialog box (ok, yes/no, and other variants) will be displayed as a windows with some text area (or what ever widget will work best) and therefore allowing to select&copy the text?
Comment 12 Dotan Cohen 2009-08-31 13:26:26 UTC
With the exception of input items and titlebars, this seems possible in Qt4. In fact, most of the KDE dialogues are copyable. Please implement this for the rest of the UI. Thanks.