Code Monkey home page Code Monkey logo

print-manager's Introduction

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.

print-manager's People

Contributors

dantti avatar noee avatar montel avatar tsdgeos avatar heirecka avatar kbroulik avatar pointedstick avatar hsitter avatar caybro avatar nicolasfella avatar jriddell avatar grulja avatar cfeck avatar jontheechidna avatar alex1701c avatar yurchor avatar davidedmundson avatar dfaure avatar tosky avatar notmart avatar carlschwan avatar michaelweghorn avatar pinotree avatar derdakon avatar wolfi323 avatar ratijas avatar urkud avatar vkrause avatar tittiatcoke avatar lbeltrame avatar

Stargazers

Harry  avatar  avatar  avatar Maxim Ostapenko avatar  avatar Kristen McWilliam avatar  avatar Hervy Qurrotul Ainur Rozi avatar Willyanto avatar  avatar  avatar  avatar Ling avatar Jan Paul Batrina avatar  avatar Samuel Gräfenstein avatar Gábor Mihálcz avatar  avatar Andrea Scarpino avatar

Watchers

James Cloos avatar  avatar JJJan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.