Skip to content

feat(printers): add printer setup tool to COSMIC Settings - #2182

Draft
Abd002 wants to merge 1 commit into
pop-os:masterfrom
Abd002:printers-page
Draft

feat(printers): add printer setup tool to COSMIC Settings#2182
Abd002 wants to merge 1 commit into
pop-os:masterfrom
Abd002:printers-page

Conversation

@Abd002

@Abd002 Abd002 commented Aug 31, 2026

Copy link
Copy Markdown

PR Description

This PR adds a Printers page to COSMIC Settings using the shared cosmic-printers-ui library.

It supports:

  • Discovering IPP printers and adding legacy printers through Printer Applications.
  • Group printers by common source: same physical hardware, same remote host, or same Printer Application.
  • Viewing printer information, preferences, and supply levels.
  • Viewing and managing print jobs.
  • Opening printer web interfaces.
  • Receiving live updates from the printer backend.

Printer operations are handled through Varlink by the related cosmic-settings-daemon integration, which communicates with the printing backend and provides printer state updates and management APIs to the UI.

Demo

cosmic-settings-printers-demo.mp4

How to test

Prerequisites: A Linux system with CUPS installed and running, the CUPS 3 client library (libcups3) and its development files, and cosmic-settings-daemon running with the printer Varlink service available.

Once the prerequisites are available, run:

just run

Open the Printers page and test printer discovery, configuration, details, and queue management.

TODO

  • Add manual printer setup via IP address/hostname for undiscovered printers.
  • Support user-only and system-wide printer profiles.

  • I have disclosed use of any AI generated code in my commit messages.
    • If you are using an LLM, and do not fully understand the changes it is making to the code base, do not create a PR.
    • In our experience, AI generated code often results in overly complex code that lacks enough context for a proper fix or feature inclusion. This results in considerably longer code reviews. Due to this, AI authored or partially authored PRs may be closed without comment.
  • I understand these changes in full and will be able to respond to review comments.
  • My change is accurately described in the commit message.
  • My contribution is tested and working as described.
  • I have read the Developer Certificate of Origin and certify my contribution under its conditions.

@Abd002
Abd002 marked this pull request as draft August 31, 2026 17:23
@Abd002 Abd002 changed the title feat(printers): add printer management to COSMIC Settings feat(printers): add printer setup tool to COSMIC Settings Aug 31, 2026
@maria-komarova

Copy link
Copy Markdown
Contributor

The demo looks great!
There are a few minor things to polish but they are just refinements:

  • ContextDrawer padding (print queue) needs to match the mockups. It seems that the header and the content area have a different padding right now and they should match. Looks like the header has the correct one but it needs to be double checked.
  • Add printer dialog - the padding might need a bit of adjustment as well to match the design. It seems off right now.
  • Add printer dialog - Cancel button should live inside the footer. You can see open File dialog inside COSMIC Files as an example.
  • Destination details page, there is a Location list item. Hitting the Edit icon button currently opens the dialog. We have a special inline input (see system name on the About page for an example) that might be more suitable. Just a minor thing, something that would be consistent with other pages.
  • Should we add something like "unknown" to the Driver list item when there is no driver?

I can't check a few things from the demo, just fyi:

  • the page responsiveness,
  • colors for colored cartridges on the indicators,
  • the flow for adding a printer that has been discovered:
image

I am also not sure where we are on adding the printer with the IP address? Is this something we still need to add?

@Abd002

Abd002 commented Sep 2, 2026

Copy link
Copy Markdown
Author
  • Add printer dialog - the padding might need a bit of adjustment as well to match the design. It seems off right now.

Do you mean that I should match the Figma design exactly?

  • Add printer dialog - Cancel button should live inside the footer. You can see open File dialog inside COSMIC Files as an example.
Screenshot_2026-09-02_07-53-09

Do you mean a dialog like the one in the screenshot? But it is not the same style as your dialog in Figma! Or am I testing an older version?

I can't check a few things from the demo, just fyi:

  • the page responsiveness,
  • colors for colored cartridges on the indicators,

I will try to create fake printers so I can show you while testing the full flow.

  • the flow for adding a printer that has been discovered:
    I am also not sure where we are on adding the printer with the IP address? Is this something we still need to add?

Yes, I have put it on the TODO list; I haven't implemented it yet. However, what stopped me is that I can't be sure how this will work, as this functionality has not yet been implemented in the cups-local project. But I can add its UI for now. For now, I am focusing on what we have so far, and its logic should be working fine.

@maria-komarova

Copy link
Copy Markdown
Contributor

Do you mean that I should match the Figma design exactly?

Yes, unless something doesn't make sense there.

Do you mean a dialog like the one in the screenshot? But it is not the same style as your dialog in Figma! Or am I testing an older version?

I mean this dialog since Add printer dialog is a bit more complex than the one on your screenshot:
image

Yes, I have put it on the TODO list; I haven't implemented it yet. However, what stopped me is that I can't be sure how this will work, as this functionality has not yet been implemented in the cups-local project. But I can add its UI for now. For now, I am focusing on what we have so far, and its logic should be working fine.

Sounds good, thanks for the clarification. It's all right to leave it for now if the functionality is not there yet.

@Abd002

Abd002 commented Sep 3, 2026

Copy link
Copy Markdown
Author

@maria-komarova
Here is updated Demo
I forgot to update cosmic-icons in my environment earlier, but it has now been updated with the new icons. Either way, these are the fallback icons.

cosmic-settings-printers-demo2-edited.mp4

@maria-komarova

Copy link
Copy Markdown
Contributor

Looks great! Thanks for all the refinements!

Two small things:

  • The colored track on the ink level indicators, the right edge is rounded when it should be flat. You can see COSMIC system monitor for the example:
image - I don't think anyone should be able to maximize the dialog for Adding a printer by double clicking the header. There should not even be a header there. It should behave like a dialog and not like a regular window.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants