unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: swedebugia@riseup.net
To: guix-devel <guix-devel@gnu.org>
Cc: Guix-devel <guix-devel-bounces+swedebugia=riseup.net@gnu.org>
Subject: Idea: guile-cups-notifier (Was: Re: Improving GUI printing in GuixSD: (python-)system-config-printer, worth adding?)
Date: Wed, 16 Jan 2019 07:31:07 -0800	[thread overview]
Message-ID: <064825f0d9ccdb2218ac83812ff2ce9e@riseup.net> (raw)
In-Reply-To: <e15843fe11d7a14bda1a06fde53f8246@riseup.net>

On 2019-01-16 14:43, swedebugia@riseup.net wrote:
> Hi
> 
> Today I investigated a bit about this program.
> 
> system-config-printer is a Red hat offspin that is essentially a quick
> python hack to be able to say "we have a desktop gui for printer
> configuration".
> 
> Is it a useful program you think? Having used it on arch and debian I
> found it somewhat buggy, ugly, unintuitive.
> 
> It does not seem to interact with the system bus in order to send
> printer errors to the notification area. (I could be wrong about this)
> 
> One thing it does is give you easy access to the queue and to view print
> related errors. Although cups errors are usually quite bad if you ask me
> and I found I cannot really rely on it for restarting jobs etc.
> 
> CUPS seems to me like in the same category as TeX, it is old, scolded,
> overly complicated, error prone and we use and rely on it ONLY because
> we lack a well working GNU replacement.
> 
> --
> 
> system-config-printer depends on pycups and perhaps some polkit
> pk-helper.
> 
> Unfortunately I found no build documentation in the repository and it
> has not seen a release for a year.
> https://github.com/zdohnal/system-config-printer

So if system-config-printer is an ugly python hack based on pycups, can
we do better in guile? (pycups is 95,9% written in C)

https://github.com/molefrog/cupsidity Is an alternative to pycups
written in C++ and contains only the basics of the CUPS API.

Keeping it simple we could make sure to ONLY add what Guix does not
provide: print queue management.

The idea is to make guile-cups bindings and a guile-cups-notifier that
interacts with CUPS via guile-ffi and does only a few things (and do
them well!):

* has a daemon running that reads the queue from cups
* prints messages to the user via dbus 

E.g. if the user sends something to the printer it pops up a message
"Printing: "document name" - click to cancel."

(cancelling a document is a nice feature and needed if the printer is
far away)

E.g. if an error occurs during printing it pops up a message displaying
the error. E.g. "Printing of "document name" failed: No paper found"

If printing succeed it prints: "Printing of "document name" finished."

Thoughts?
-- 
Cheers 
Swedebugia

      reply	other threads:[~2019-01-16 15:31 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-16 14:43 Improving GUI printing in GuixSD: (python-)system-config-printer, worth adding? swedebugia
2019-01-16 15:31 ` swedebugia [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=064825f0d9ccdb2218ac83812ff2ce9e@riseup.net \
    --to=swedebugia@riseup.net \
    --cc=guix-devel-bounces+swedebugia=riseup.net@gnu.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).