<!DOCTYPE book PUBLIC  "-//KDE//DTD DocBook V3.1-Based Variant V1.0//EN" [
  <!ENTITY kappname "&klpq;" -- this only *seems* redundant -->
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % English "INCLUDE">
  <!ENTITY % ents PUBLIC "-//KDE//ENTITIES Documentation V1.0//EN">
  %ents;
]>

<book lang="&language;">
<bookinfo>
<title>The &klpq; Handbook</title>

<authorgroup>
<author>
<firstname>Christoph</firstname>
<surname>Neerfeld</surname>
<affiliation>
<address><email>chris@kde.org</email></address>
</affiliation>
</author>

<author>
<firstname>Hans Petter</firstname>
<surname>Bieker</surname>
<affiliation>
<address><email>bieker@kde.org</email></address>
</affiliation>
</author>

</authorgroup>

<date>14/12/2000</date>
<releaseinfo>1.0.1</releaseinfo>

<copyright>
<year>2000</year>
<holder>Christoph Neerfeld</holder>
</copyright>

<legalnotice>&FDLNotice;</legalnotice>

<abstract><para>This Handbook describes &klpq; Version 1.0.1</para></abstract>

<keywordset>
<keyword>KDE</keyword>
<keyword>KLpq</keyword>
<keyword>printing</keyword>
<keyword>queueing</keyword>
<keyword>lpq</keyword>
</keywordset>
</bookinfo>

<chapter id="introduction">
<title>Introduction</title>

<para>&klpq; is a frontend to the print spooler. Its primary purpose is
displaying the print queue and removing jobs from the queue. But you can even
disable/enable printing or move jobs to the top of the queue, if you have
the necessary access permissions.</para>

<para>&klpq; does not modify the printqueue by itself, but uses the underlying
commands: <command>lpq</command>, <command>lprm</command> and
<command>lpc</command>. For this reason &klpq; should be safe as long as
<command>lpq</command>, <command>lprm</command> and <command>lpc</command> are
safe.</para>

<itemizedlist>
<listitem><para>supports BSD, PPR and LPRng spooling systems</para></listitem>
<listitem><para>network transparency</para></listitem>
<listitem><para>supports DRAG &amp; DROP</para></listitem>
</itemizedlist>

</chapter>

<chapter id="usage">
<title>Usage</title>

<sect1 id="startup">
<title>Starting &klpq;</title>

      <cmdsynopsis>
	<command>klpq</command>
	<arg>
	  <arg>-n</arg>
	  <arg>-P printer</arg>
          file1 file2 URL1 URL2</arg>
      </cmdsynopsis>

<para>On first startup &klpq; asks you which print spooler you use. &klpq;
supports BSD, PPR and LPRng. If you don't know which spooler is installed on
your system you will most probably have BSD. If &klpq; does not display your
printqueue, try one of the other settings (You may change the spooling system
from <menuchoice> <guimenu>config</guimenu> <guimenuitem>spooler</guimenuitem>
</menuchoice>).</para>

<para>Without any arguments &klpq; searches for the environment variable
<envar>PRINTER</envar> and tries to display the contents of the corresponding
queue. If <envar>PRINTER</envar> i s not set, it displays the contents of the
queue named <filename>lp</filename>. If no queue with this name exists it
displays the first printer queue in your printcap file.</para>

<para>With the file argument you may use &klpq; as a replacement for
<command>lpr</command>. You don't have to type <command>lpr
<replaceable>file_to_print</replaceable>; klpq</command> but may type directly
<command>klpq <replaceable>file_to_print</replaceable></command>. &klpq;
executes <command>lpr</command> for you. The <option>-P</option> option
specifies the spool area to use. Currently no other options to
<command>lpr</command> are supported.</para>

<para>The <option>-n</option> option tells &klpq; not to display the queue if a
filename was given on the command line. <abbrev>E.g.</abbrev>e> <command>klpq
<option>-n <replaceable>file_to_print</replaceable></option></command> lets
&klpq; send the file to the printer and exit immediatly. <command>klpq
<option>-n</option></command> without file argument will start &klpq; as
normal.</para>
      
<para>&klpq; now supports <abbrev>URL</abbrev>s as arguments on the command
line. &klpq; will use <application>Konqueror</application> to copy the file to a
temporary file on the local system and sends it to the printer.</para>

<note><para>Please note that &klpq; must be running during the download. If you
quit &klpq; earlier the files will not be printed.</para></note>

<para>DRAG &amp; DROP: You may drag any <abbrev>URL</abbrev>url> out of
<application>Konqueror</application> and drop it on the &klpq; window.  &klpq;
will copy the <abbrev>URL</abbrev> to a temporary file and send it to the
printer.</para>

</sect1>

<sect1 id="mainwindow">
<title>The Main Window</title>

<para>&klpq; is quite easy to use, so I just want to say some words about things
that are not obvious:</para>

<para>If the <guibutton>Auto</guibutton> button is pressed down, &klpq; rereads
the current printqueue every "no" seconds, so you don't have to hit the
<guibutton>Update</guibutton>. You may change the 'no' of seconds by selecting
<menuchoice> <guimenu>config</guimenu> <guimenuitem>Auto update</guimenuitem>
</menuchoice> from the menu. If you set "no" to 0, then the
<guilabel>Auto</guilabel> button will be completely disabled.</para>

<para>If you get the message <errorname>This is a privileged command</errorname>,
than you have to be root or any other privileged user to execute this command
and if you try to remove a printjob of another user, this is silently
ignored.</para>

<para>There are several key accelerators defined:</para>

      <informaltable>
	<tgroup cols="2">
	  <thead>
	    <row>
	      <entry>Accelerator Key:</entry>
	      <entry>Action</entry>
	    </row>
	  </thead>
	  <tbody>
	    <row>
	      <entry><keycap>U</keycap></entry>
	      <entry>like pressing the <guibutton>Update</guibutton>
	      button</entry>
	    </row>
	    <row>
	      <entry><keycap>R</keycap></entry>
	      <entry>like pressing the <guibutton>Remove</guibutton>
	      button</entry>
	    </row>
	    <row>
	      <entry><keycap>T</keycap></entry>
	      <entry>Like pressing the <guibutton>Make Top</guibutton>
	      button</entry>
	    </row>
	    <row>
	      <entry><keycap>A</keycap></entry>
	      <entry>Like pressing the <guibutton>Auto</guibutton>
	      button</entry>
	    </row>
	    <row>
	      <entry><keycap>Left Arrow</keycap></entry>
	      <entry>Displays the previous queue</entry>
	    </row>
	    <row>
	      <entry><keycap>Right Arrow</keycap></entry>
	      <entry>Displays the next queue</entry>
            </row>					      
	  </tbody>
	</tgroup>
      </informaltable>

</sect1>

<sect1 id="spooler-dialog">
<title>The spooler dialog</title>

<para>In the spooler dialog you can choose your spooling system from BSD, PPR or
LPRng.  Afterwards you have to set the paths for the spooling commands. You can
get help from the man-pages of your spooling system.</para>

</sect1>

</chapter>

<chapter id="todo">
<title>Todo</title>

<itemizedlist>
<listitem><para>more KDE keyboard commands with kkeyconfig</para></listitem>
<listitem><para>display all printqueues at once</para></listitem>
<listitem><para>dock a mini status window into
<application>Kicker</application></para></listitem> 
<listitem><para>support more commands from
<application>lprng</application></para></listitem> 
<listitem><para>do a complete rewrite of &klpq; ;-)</para></listitem>
</itemizedlist>

<para>Anything else?</para>
</chapter>

<chapter id="author">
<title>Author</title>

<para>My name is Christoph Neerfeld. I am a student of applied computer sciences
at the University of Applied Sciences Sankt Augustin, Germany. Feel free to
contact me and send me your reports, wishes or a postcard from your home town. I
like to get postcards.</para>

<para>My thanks go to</para>

<itemizedlist>
<listitem><para>Victor Kolossov <email>kolosov@iris1.itep.ru</email> for basic
support for <application>LPRng</application></para></listitem>
<listitem><para>Remco Treffkorn <email>remco@rvt.com</email> for basic support
for <application>ppr</application></para></listitem>
</itemizedlist>

<para>and many other people for bug reports and suggestions.</para>

<para>&klpq; is Copyright 1997/98 Christoph Neerfeld
<email>chris@kde.org</email></para>

&underFDL;
&underGPL;

</chapter>


<appendix id="installation">
<title>Installation</title>

<sect1 id="how-to-obtain-klpq">
<title>How to obtain &klpq;</title>

<para>&klpq; is a part of the KDE project <ulink
url="http://www.kde.org">http://www.kde.org</ulink>. KLpq can be found on <ulink
url="ftp://ftp.kde.org/pub/kde/">ftp://ftp.kde.org/pub/kde/</ulink>, the main
ftp site of the KDE project.  There are links to many FTP mirrors there as
well.</para>

</sect1>

<sect1 id="requirements">
<title>Requirements</title>

<para>In order to successfully compile &klpq;, you need the latest versions of
libkdecore and libkfm. All required libraries as well as &klpq; itself can be
found on <ulink
url="ftp://ftp.kde.org/pub/kde/">ftp://ftp.kde.org/pub/kde/</ulink>.</para>

<para>In addition to the KDE-libraries you will need a properly configured
printcap file in <filename>/etc/printcap</filename>.</para>

</sect1>

<sect1 id="compilation-and-installation">
<title>Compilation and installation</title>

<para>&klpq; is normally a part of the package kdeutils release and therefore
will be automatically installed with other KDE applications in the normal course
of the package.</para>

<para>If you need to compile and install &klpq; yourself on your system, type
the following in the base directory of the &klpq; distribution:</para>

<screen>
<prompt>%</prompt> <command>./configure</command>
<prompt>%</prompt> <command>make</command>
<prompt>%</prompt> <command>make <option>install</option></command>
</screen>

<para>Since &klpq; uses <application>autoconf</application>, you should not have
trouble compiling it.  Should you run into problems, please report them to the
KDE mailing lists.</para>

</sect1>
</appendix>


</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
End:
-->
