Skip to content

feat(add-new-printer) Separate IPP destinations in Add Printer UI and add web interface action#430

Open
sam-shubham wants to merge 2 commits intoOpenPrinting:masterfrom
sam-shubham:grouping-ipp-and-ques-seperate
Open

feat(add-new-printer) Separate IPP destinations in Add Printer UI and add web interface action#430
sam-shubham wants to merge 2 commits intoOpenPrinting:masterfrom
sam-shubham:grouping-ipp-and-ques-seperate

Conversation

@sam-shubham
Copy link
Copy Markdown

Summary

This PR improves the Add Printer flow by making IPP-related choices easier to distinguish from queue/protocol-based options.

Previously, IPP destinations and queue/protocol entries were mixed together, which made the Add Printer UI harder to scan. This was especially confusing when the same printer could appear through multiple paths such as USB and network IPP.

This change makes the grouping clearer and reduces visual noise from overly long protocol names.

Changes

  • separates IPP destinations from other network protocols in the left Devices tree
  • separates IPP destinations from queues and other connections in the right Connection panel
  • shortens long manual protocol labels in the grouped UI (IPP, IPPS, HTTPS, SAMBA, LPD/LPR, JetDirect)
  • adds an Open Web Interface button for IPP selections
  • enables the web interface action only when an IPP destination is selected
  • opens http://localhost:8000 from the new action

Preview

Screenshot 2026-03-29 at 2 46 07 AM

Notes

  • this change updates the Add Printer UI only
  • no backend printer setup behavior was changed beyond UI classification and selection handling

@sam-shubham
Copy link
Copy Markdown
Author

sam-shubham commented Mar 28, 2026

@tillkamppeter can i get a review on this..
would love to improve more on it..

@tillkamppeter
Copy link
Copy Markdown
Member

For the web interface note that it is not just http://localhost:8000/. Each IPP printer tells via IPP (and alsovia DNS-SD) where one can find the web interface.

For my Brother printer I get

avahi-browse -rt _ipps._tcp
[...]
   hostname = [BRW58CDC9DF8E51.local]
   address = [192.168.68.107]
   port = [443]
   txt = ["mopria-certified=2.1" "print_wfds=T" "UUID=e3248000-80ce-11db-8000-94ddf83a5d08" "TLS=1.3" "PaperMax=legal-A4" "kind=document,envelope,label,postcard" "URF=SRGB24,W8,CP1,IS19-20,MT1-3-4-5-8-11,OB10,PQ4,RS600,V1.5,DM1" "rfo=ipp/faxout" "TBCP=F" "Transparent=T" "Binary=T" "PaperCustom=T" "Scan=T" "Fax=T" "Duplex=T" "Copies=T" "Color=T" "usb_CMD=PJL,PCL,PCLXL,URF" "usb_MDL=MFC-L8390CDW series" "usb_MFG=Brother" "priority=25" "adminurl=https://BRW58CDC9DF8E51.local./net/net/airprint.html" "product=(Brother MFC-L8390CDW series)" "ty=Brother MFC-L8390CDW series" "note=" "rp=ipp/print" "pdl=application/octet-stream,image/urf,image/jpeg,image/pwg-raster,application/pdf" "qtotal=1" "txtvers=1"]
[...]
$

So the TXT record of the printers self-advertising vis DNS-SD contains the attribute

adminurl=https://BRW58CDC9DF8E51.local./net/net/airprint.html

And the response to a get-printer-attributes IPP request contains:

printer-more-info (uri) = https://BRW58CDC9DF8E51.local./net/net/airprint.html

On most physical printers it is just

http://<host name or IP>/

@tillkamppeter
Copy link
Copy Markdown
Member

For the sub-categories of "Network Printer":

  • You should use "Legacy Protocols" instead of "Queues & Others"
  • "Find Network Printer" should be a category by itself and not be in "Queues & Others", as "Find Network Printer" also finds IPP destinations.

@sam-shubham
Copy link
Copy Markdown
Author

hi @tillkamppeter
tried to fix all those suggestions now web ui is extracted from printers not fixed localhost
here is a preview

neww.mov

@sam-shubham
Copy link
Copy Markdown
Author

also should i list discovered printer in their respective categry like in this case Example Printer inside ipp ..?

@tillkamppeter
Copy link
Copy Markdown
Member

First off, to get a much better printer fake, use the ippeveprinter command of CUPS. This printer even prints, but on reusable SSD silicon, to be sustainable ... But especially it speaks IPP, so that after discovering it, system-config-printer can poll the full capabilities of the printer.

@sam-shubham
Copy link
Copy Markdown
Author

Thanks @tillkamppeter I tested with ippeveprinter and the web interface URL is now correctly obtained via IPP and opens as expected.
Screenshot 2026-03-29 at 1 16 42 PM

@tillkamppeter
Copy link
Copy Markdown
Member

Inside "Network printer", the list should start with all auto-discovered devices, where you do not need to do anything to make them getting discovered. After that, you have the entries for manually triggering discovery or manually adding printers: "Find network printer", "IPP destinations", "Legacy protocols"

also should i list discovered printer in their respective categry like in this case Example Printer inside ipp ..?

Not needed, discovered printers should continue to just appear under "Network Printers".

@sam-shubham
Copy link
Copy Markdown
Author

Inside "Network printer", the list should start with all auto-discovered devices, where you do not need to do anything to make them getting discovered. After that, you have the entries for manually triggering discovery or manually adding printers: "Find network printer", "IPP destinations", "Legacy protocols"

also should i list discovered printer in their respective categry like in this case Example Printer inside ipp ..?

Not needed, discovered printers should continue to just appear under "Network Printers".

okay so basically sequence will will be

  • Network Printers
    • Discoverd Printers...
    • IPP Destinations
      • ...
        and others

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