Summary: | wish: show detailed device status ("XX% complete", etc) with CUPS | ||
---|---|---|---|
Product: | [Unmaintained] kdeprint | Reporter: | Jens <jens-bugs.kde.org> |
Component: | kjobviewer | Assignee: | KDEPrint Devel Mailinglist <kde-print-devel> |
Status: | CLOSED DUPLICATE | ||
Severity: | wishlist | CC: | jlayt |
Priority: | NOR | ||
Version: | 0.1 | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Jens
2004-07-01 11:23:04 UTC
Hello, is it possible to implement this fairly easily or would this take up a lot of work? I think although this is just a wish, it is quite an important one, even if only CUPS supports it, because CUPS (or rather IPP) is becoming the de facto standard printing system everywhere (not just Unix/Linux), and we need more detailed printer status info without having to resort to calling up http://$printer_host:631/. Thank you! Jens It's not that complicated: it's just a matter of finding the correct IPP attribute and use it in the GUI. It's currently more a lack of time and Linux system availability. However, I have a question regarding the detailed messages you see in http://localhost:631: do you see them when viewing job properties or printer properties? Michael. Am Dienstag, 11. Januar 2005 16:03 schrieb Michael Goffioul: > 16:03 ------- It's not that complicated: it's just a matter of finding > the correct IPP attribute and use it in the GUI. It's currently more a > lack of time and Linux system availability. However, I have a question > regarding the detailed messages you see in http://localhost:631: do you > see them when viewing job properties or printer properties? It's the text that the web interface, at http://...:631/printers, prints in italic when anything happens. Like "Sending print data, 67% sent" or something like that. Can you point me to a starting point (ie. where would I put the code to get the IPP attribute and put it into the GUI)? Then I'll try to whip up a patch. Thanks for answering! That was my guess as well. The problem with the message you see with CUPS web interface is that it's a printer-specific message (corresponds to printer-state-message IPP attribute of the printer object), not a job-specific message, so it's not suited for showing it in the job viewer (you'd have the same message for all jobs queued on the same printer, but the message wouldn't relevant for all of them). IPP defines the job attribute job-state-message that could be used, unfortunately CUPS doesn't implement it; the only IPP job attributes are then job-state (which is currently used by kdeprint) and job-state-reason. The latter gives you a more detailed information about the job state; this could be used in this case. The relevant code lies in kdelibs/kdeprint/cups/ (for job retrieval) and kdelibs/kdeprint/management/ (for the GUI). The idea would then be to retrieve job-state-reason attribute for the jobs, convert it to a human-readable string (this attribute can take as value a set of predefined keyword that you have to map to an actual message) and store it in KMJob object. Then make such that KMJobViewer object shows that info. Note that the printer-state-message attribute could also be shown, but only in the print manager, not in the job viewer. Michael. Hi, Thank you for your long answer! CUPS 1.2 will be implementing job-state-message, at least according to rumours on various mailing lists. For the time being, it would IMHO make sense to display the printer-state-message together with the job that is currently printing. That should be fairly easy to find out via CUPS (right?) and put into the job viewer. Also, perhaps a popup (one of these yellowish background thingies) when hovering over the print icon in Kicker's system area could display something like $printer1: Printing, $printer-state-message $printer2: Idle $printer3: Stopped, $printer-state-message (etc) if more than, say, 5 printers are configured, just display the active ones. If more then 5 printers are active, just display the ones that the current user is printing on (so the popup doesn't get too big). If the current user is printing on more than five printers at once, well, that's his problem. :) I'd like to have a go at this, if there's a chance that it'll be accepted into CVS. If you have some time, please go ahead :-) kdeprint provides some facilities to send requests to the CUPS server. See kmcupsmanager.cpp, kmcupjobmanager.cpp and ipprequest.[h|cpp]. What you need to do is when finding an active job, send a request with the corresponding printer URI to retrieve only printer-state-message and put into some additional field of the KMJob class. The code for the docked print system (in kicker) lies in kdebase/kdeprint/kjobviewer/. For this, I would keep it simple: only shows info about the opened job viewer windows, not for all printers. Michael. I would *love* to be able to see the printer status in the printer KCM module. Not everyone knows how to find out what is going on from the commandline or the web interface. The KCM module is often way too optimistic about the status of the printer. It will just tell you that it is idle/ready while lpstat -t says it is on fire... duplicate of bug 117040 (in a way) *** This bug has been marked as a duplicate of 117040 *** Closing old Resolved status bug. |