Replace Evince with Papers #434

Closed
opened 2024-05-30 12:05:12 +00:00 by catanzaro · 37 comments
Owner

GNOME is planning to replace Evince with https://gitlab.gnome.org/GNOME/Incubator/papers, possibly as soon as GNOME 47.alpha. We should package the new app and provide our feedback regarding its readiness to upstream.

GNOME is planning to replace Evince with https://gitlab.gnome.org/GNOME/Incubator/papers, possibly as soon as GNOME 47.alpha. We should package the new app and provide our feedback regarding its readiness to upstream.
Owner

Metadata Update from @ngompa:

  • Issue tagged with: default-apps, experience, packaging
**Metadata Update from @ngompa**: - Issue tagged with: default-apps, experience, packaging
Owner

Metadata Update from @ngompa:

  • Issue set to the milestone: Fedora 41
**Metadata Update from @ngompa**: - Issue set to the milestone: Fedora 41
Author
Owner

Metadata Update from @catanzaro:

  • Issue tagged with: meeting-request
**Metadata Update from @catanzaro**: - Issue tagged with: meeting-request

I did initial Papers packaging and here is the new package review request for it: https://bugzilla.redhat.com/show_bug.cgi?id=2305882

I did initial Papers packaging and here is the new package review request for it: https://bugzilla.redhat.com/show_bug.cgi?id=2305882
Owner

Metadata Update from @ngompa:

  • Issue set to the milestone: Fedora 42 (was: Fedora 41)
**Metadata Update from @ngompa**: - Issue set to the milestone: Fedora 42 (was: Fedora 41)
Owner

Metadata Update from @ngompa:

  • Issue assigned to kalev
  • Issue set to the milestone: Fedora 41 (was: Fedora 42)
**Metadata Update from @ngompa**: - Issue assigned to kalev - Issue set to the milestone: Fedora 41 (was: Fedora 42)
Owner

Metadata Update from @ngompa:

  • Issue set to the milestone: Fedora 42 (was: Fedora 41)
**Metadata Update from @ngompa**: - Issue set to the milestone: Fedora 42 (was: Fedora 41)
Owner

Metadata Update from @ngompa:

  • Issue untagged with: meeting-request
  • Issue tagged with: meeting
**Metadata Update from @ngompa**: - Issue **un**tagged with: meeting-request - Issue tagged with: meeting
Owner

Metadata Update from @ngompa:

  • Issue untagged with: meeting
**Metadata Update from @ngompa**: - Issue **un**tagged with: meeting
Owner

Metadata Update from @ngompa:

  • Issue tagged with: meeting
**Metadata Update from @ngompa**: - Issue tagged with: meeting

OK, the package is now finally through the review and in F41 updates-testing and in rawhide.
dnf install --enablerepo=updates-testing papers to test.

OK, the package is now finally through the review and in F41 updates-testing and in rawhide. `dnf install --enablerepo=updates-testing papers` to test.
Author
Owner

Thank you Kalev!

Thank you Kalev!
Owner

Metadata Update from @ngompa:

  • Issue untagged with: meeting
**Metadata Update from @ngompa**: - Issue **un**tagged with: meeting

@jbicha has proposed replacing Evince with Papers in Debian 13.

I believe Fedora should consider doing the same for Fedora 42 even though GNOME hasn't adopted Papers upstream yet. I've been using Papers exclusively for months and it's been great, and it's far nicer to use than Evince.

https://lists.debian.org/debian-gtk-gnome/2025/02/msg00016.html

@jbicha has proposed replacing Evince with Papers in Debian 13. I believe Fedora should consider doing the same for Fedora 42 even though GNOME hasn't adopted Papers upstream yet. I've been using Papers exclusively for months and it's been great, and it's far nicer to use than Evince. https://lists.debian.org/debian-gtk-gnome/2025/02/msg00016.html
Owner

Metadata Update from @tpopela:

  • Issue tagged with: meeting-request
**Metadata Update from @tpopela**: - Issue tagged with: meeting-request

Thanks Tomas for proposing this discussion to the working group meeting.

Worth mentioning that CentOS Stream 10 and, consequently, RHEL10 already made the switch to Papers. See https://gitlab.com/redhat/centos-stream/release-engineering/comps/-/blob/c10s/comps-centos-stream-10.xml.in#L417

It would be great if we could align GNOME - Fedora - C10S

Thanks Tomas for proposing this discussion to the working group meeting. Worth mentioning that CentOS Stream 10 and, consequently, RHEL10 already made the switch to Papers. See https://gitlab.com/redhat/centos-stream/release-engineering/comps/-/blob/c10s/comps-centos-stream-10.xml.in#L417 It would be great if we could align GNOME - Fedora - C10S

I also think that Papers works pretty well now. I'm for replacing Evince with Papers in Fedora too.

I also think that Papers works pretty well now. I'm for replacing Evince with Papers in Fedora too.
Owner

Now that we have Papers 48 beta, we can do this.

Now that we have Papers 48 beta, we can do this.
Owner

Metadata Update from @ngompa:

  • Issue assigned to farchord (was: kalev)
**Metadata Update from @ngompa**: - Issue assigned to farchord (was: kalev)
Owner

PR to replace Evince with Papers: https://pagure.io/fedora-comps/pull-request/1094

PR to replace Evince with Papers: https://pagure.io/fedora-comps/pull-request/1094
Owner

Metadata Update from @ngompa:

  • Issue untagged with: meeting-request
  • Issue assigned to ngompa (was: farchord)
**Metadata Update from @ngompa**: - Issue **un**tagged with: meeting-request - Issue assigned to ngompa (was: farchord)

Just to restate some details from my Debian email that I haven't had time to work on yet. This needs some work done in upstream libraries to use Papers ahead of Evince for GTK's print preview.

  • gtk3: I think if Papers isn't installed, this should fallback to Evince to not disrupt other desktops
  • xdg-desktop-portal-gnome: Maybe this could just hardcode Papers since GNOME should be the only desktop using this code.
  • patching gtk4 directly is a low priority since gtk4 uses portals by default
  • don't use gedit to test gtk3 since it bundles its own print preview provider. You can use mousepad
Just to restate some details from my Debian email that I haven't had time to work on yet. This needs some work done in upstream libraries to use Papers ahead of Evince for GTK's print preview. - gtk3: I think if Papers isn't installed, this should fallback to Evince to not disrupt other desktops - xdg-desktop-portal-gnome: Maybe this could just hardcode Papers since GNOME should be the only desktop using this code. - patching gtk4 directly is a low priority since gtk4 uses portals by default - don't use gedit to test gtk3 since it bundles its own print preview provider. You can use mousepad
Owner

xdg-desktop-portal-gnome: Maybe this could just hardcode Papers since GNOME should be the only desktop using this code.

IIRC, Niri uses this portal implementation, so it's not completely true that it's GNOME only.

gtk3: I think if Papers isn't installed, this should fallback to Evince to not disrupt other desktops

There are two GTK3 forks of Evince currently maintained in Fedora: Xreader (from XApps/Cinnamon) and Atril (from MATE). Wouldn't either of these work fine for GTK3?

> xdg-desktop-portal-gnome: Maybe this could just hardcode Papers since GNOME should be the only desktop using this code. IIRC, Niri uses this portal implementation, so it's not completely true that it's GNOME only. > gtk3: I think if Papers isn't installed, this should fallback to Evince to not disrupt other desktops There are two GTK3 forks of Evince currently maintained in Fedora: Xreader (from XApps/Cinnamon) and Atril (from MATE). Wouldn't either of these work fine for GTK3?

I didn't test it, but I don't believe you need to use a GTK3 app for the GTK3 Print Preview feature because it's just a link to a separate app really. So I think that GTK3 ought to use Papers for that feature if installed and then fall back. Actually, this probably means that things weren't working for MATE anyway unless MATE was shipping the evince previewer. If the previewer is not available, GTK just hides the Print Preview button so people may not have been aware that something was missing.

For reference, I believe this is the working command to replace in GTK:

papers-previewer --unlink-tempfile --print-settings %s %f

I didn't test it, but I don't believe you need to use a GTK3 app for the GTK3 Print Preview feature because it's just a link to a separate app really. So I think that GTK3 ought to use Papers for that feature if installed and then fall back. Actually, this probably means that things weren't working for MATE anyway unless MATE was shipping the evince previewer. If the previewer is not available, GTK just hides the Print Preview button so people may not have been aware that something was missing. For reference, I believe this is the working command to replace in GTK: `papers-previewer --unlink-tempfile --print-settings %s %f`
Owner

Hmm, then it should be an easy fix.

Hmm, then it should be an easy fix.

Actually I did test it with the gtk-3.0 settings.ini so yes, it works fine to have Papers provide the GTK3 previewer. I just don't think settings.ini is useful for supporting multiple desktops so I think a code fix instead of a .ini fix is needed.

Actually I did test it with the gtk-3.0 settings.ini so yes, it works fine to have Papers provide the GTK3 previewer. I just don't think settings.ini is useful for supporting multiple desktops so I think a code fix instead of a .ini fix is needed.
Author
Owner

We also need to change the mimeapps.list in the gnome-desktop3 package.

We also need to change the mimeapps.list in the gnome-desktop3 package.

Metadata Update from @mclasen:

  • Issue tagged with: meeting
**Metadata Update from @mclasen**: - Issue tagged with: meeting
Author
Owner

This change is tentatively approved for F43. We will implement in rawhide now. We can create a new issue report if we wish to reconsider before release, which might make sense if Papers does not progress through the upstream incubation process as expected.

This change is tentatively approved for F43. We will implement in rawhide now. We can create a new issue report if we wish to reconsider before release, which might make sense if Papers does not progress through the upstream incubation process as expected.
Author
Owner

Metadata Update from @catanzaro:

  • Issue untagged with: meeting
**Metadata Update from @catanzaro**: - Issue **un**tagged with: meeting

I hope that I can finish the content area accessibility work at least for the 49 release, so we don't have an a11y regression because of this change.

I hope that I can finish the content area accessibility work at least for the 49 release, so we don't have an a11y regression because of this change.
Author
Owner

Hi, we actually discussed this yesterday and noted that Evince is switching to GTK 4, so we expect accessibility in Evince to break, putting it on par with Papers.

Hi, we actually discussed this yesterday and noted that Evince is switching to GTK 4, so we expect accessibility in Evince to break, putting it on par with Papers.
Owner

This is now done in Rawhide comps. Now we need to patch things to complete the transition.

This is now done in Rawhide comps. Now we need to patch things to complete the transition.
Author
Owner

This change is implemented in rawhide.

Reminder about the consequences here:

  • gtk3: I think if Papers isn't installed, this should fallback to Evince to not disrupt other desktops
  • xdg-desktop-portal-gnome: Maybe this could just hardcode Papers since GNOME should be the only desktop using this code.
  • patching gtk4 directly is a low priority since gtk4 uses portals by default
  • don't use gedit to test gtk3 since it bundles its own print preview provider. You can use mousepad

Additionally, sushi is probably broken now.

This change is implemented in rawhide. Reminder about the consequences here: > - gtk3: I think if Papers isn't installed, this should fallback to Evince to not disrupt other desktops > - xdg-desktop-portal-gnome: Maybe this could just hardcode Papers since GNOME should be the only desktop using this code. > - patching gtk4 directly is a low priority since gtk4 uses portals by default > - don't use gedit to test gtk3 since it bundles its own print preview provider. You can use mousepad Additionally, sushi is probably broken now.

https://pagure.io/pungi-fedora/pull-request/1482 to do this in Silverblue.

I would like to do that otherwise we have to maintain test code for both Evince and Papers in openQA to make the tests pass on both Workstation and Silverblue.

https://pagure.io/pungi-fedora/pull-request/1482 to do this in Silverblue. I would like to do that otherwise we have to maintain test code for both Evince and Papers in openQA to make the tests pass on both Workstation and Silverblue.

I think Sushi won't be broken because I believe it only uses evince-libs not evince.

I think Sushi won't be broken because I believe it only uses evince-libs not evince.
Author
Owner

Metadata Update from @catanzaro:

  • Issue close_status updated to: Fixed
  • Issue status updated to: Closed (was: Open)
**Metadata Update from @catanzaro**: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)
Sign in to join this conversation.
No milestone
No project
No assignees
11 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
workstation/tickets#434
No description provided.