Skip to content

A tool for managing print jobs and printers

Notifications You must be signed in to change notification settings

KDE/print-manager

Repository files navigation

Print Manager

Print Manager is a small, relatively self-contained set of components integrated with Plasma System Settings for managing CUPS printer configurations.

Components

  • Set of legacy stand-alone apps:

    • kde-add-printer (for adding printers and printer groups)
    • configure-printer (for configuring current printers and printer groups)
    • kde-print-queue (for managing printer job queues)
  • System tray plasmoid that provides quick access to printers and print job status

  • KDed module for new device notification

  • KCM module

  • KCups Library that provides an interface to the CUPS api as well as a few models that are used by the legacy apps, the KCM and the plasmoid

External Dependencies

The legacy apps, the KDed module and the KCM make use of the interfaces provided by the OpenPrinting system-config-printer project. These interfaces provide the following features used by print-manager:

  • New device notifications
  • Device discovery and grouping
  • Recommended driver discovery

While not required, it is recommended to install this component for print-manager to provide the best results.

Another useful external package (not required) is IPP-USB. IPP-USB is a mechanism that allows USB connected printers to be discovered and configured with IPP Driverless tools. USB printers that support IPP but for whatever reason, do not support a network interface can usually be configured using IPP-USB.

Of note, if a printer is not discovered on the network or with a USB connection and it does not support IPP, then the printer will have to be configured manually with print-manager.

General

For Plasma6, the KCM will provide the primary means to add/configure printers and printer groups. In addition, some of the basic CUPS print server options can be configured. There are some limitations to KCM add-printer features that mirror the legacy apps:

  • Limited support for Windows printers using samba
  • Limited support for auto print queue identification for older connection schemes (LPD/SOCKET)

While the legacy kde-add-printer app is available, the KCM is the primary means to add printers and printer groups and provides no direct access to the add-printer app.

The KCM also depends on the following features that are present in the legacy configure-printer app:

  • Media settings (paper size, mode, type, quality, etc)
  • Banners, Policies and Allowed Users

These features are available via the configure-printer app, accessed from the KCM and the plasmoid as a configure action. In a future release, these features will be integrated with the KCM.

The legacy kde-print-queue app is provided as the primary means to manage configured printer job queues. It remains directly accessible from both the KCM and the plasmoid.

Building

The easiest way to make changes and test print-manager during development is to build it with kdesrc-build.

When building print-manager manually, keep in mind that the Qt5 and Qt6 versions will be built by default. To control which versions are built, use the BUILD_QT5 and BUILD_QT6 CMake variables.

Contributing

Like other projects in the KDE ecosystem, contributions are welcome from all. This repository is managed in KDE Invent, our GitLab instance.

If you get stuck or need help with anything at all, head over to the KDE New Contributors room on Matrix. For questions about print-manager, please ask in the KDE Development room. See Matrix for more details.