From Fedora Project Wiki

Pantheon Desktop

Summary

The Pantheon desktop environment is the DE that powers elementaryOS. It builds on GNOME technologies, but utilizes components that were written from scratch in vala, using the GTK+3 toolkit.

Owner

  • Name: Fabio Valentini
  • Email: decathorpe AT fedoraproject DOT org
  • Release notes owner:

Current status

Detailed Description

The Pantheon desktop will be another viable choice for users of fedora. In particular, this is also interesting for users who like the Pantheon desktop, but would prefer to use fedora instead of an ubuntu-based distribution.

Most of the components of the Pantheon desktop shell and the applications developed by elementary have already been packaged for fedora.

Benefit to Fedora

This change will make fedora the first linux distribution other than elementaryOS to support the Pantheon Desktop environment and elementary applications.

It gives users of fedora another choice for their desktop environment, and it gives users of Pantheon and elementary applications the ability to choose a different linux distribution for the first time.

Scope

Proposal owners

Packaging Status

Package Status
Package-x-generic-16.pngappcenter
Pass pass
Package-x-generic-16.pngcerbere
Pass pass
Package-x-generic-16.pngcontractor
Pass pass
Package-x-generic-16.pngeditorconfig
Pass pass
Package-x-generic-16.pngelementary-calculator
Pass pass
Package-x-generic-16.pngelementary-calendar
Pass pass
Package-x-generic-16.pngelementary-camera
Pass pass
Package-x-generic-16.pngelementary-capnet-assist
Pass pass
Package-x-generic-16.pngelementary-code
Pass pass
Package-x-generic-16.pngelementary-files
Pass pass
Package-x-generic-16.pngelementary-greeter
Pass pass
Package-x-generic-16.pngelementary-icon-theme
Pass pass
Package-x-generic-16.pngelementary-music
Pass pass
Package-x-generic-16.pngelementary-photos
Pass pass
Package-x-generic-16.pngelementary-print
Pass pass
Package-x-generic-16.pngelementary-screenshot-tool
Pass pass
Package-x-generic-16.pngelementary-shortcut-overlay
Pass pass
Package-x-generic-16.pngelementary-sound-theme
Pass pass
Package-x-generic-16.pngelementary-terminal
Pass pass
Package-x-generic-16.pngelementary-theme
Pass pass
Package-x-generic-16.pngelementary-videos
Pass pass
Package-x-generic-16.pngelementary-wallpapers
Pass pass
Package-x-generic-16.pnggala
Pass pass
Package-x-generic-16.pnggranite
Pass pass
Package-x-generic-16.pnggsignond
Pass pass
Package-x-generic-16.pnggsignond-plugin-oauth
Pass pass
Package-x-generic-16.pnggsignond-plugin-sasl
Pass pass
Package-x-generic-16.pngimpallari-raleway-fonts
Pass pass
Package-x-generic-16.pnglibgsignon-glib
Pass pass
Package-x-generic-16.pngmutter328
Pass pass
Package-x-generic-16.pngpantheon-agent-geoclue2
Pass pass
Package-x-generic-16.pngpantheon-agent-polkit
Pass pass
Package-x-generic-16.pngpantheon-session-settings
Pass pass
Package-x-generic-16.pngplank
Pass pass
Package-x-generic-16.pngswitchboard
Pass pass
Package-x-generic-16.pngswitchboard-plug-a11y
Pass pass
Package-x-generic-16.pngswitchboard-plug-about
Pass pass
Package-x-generic-16.pngswitchboard-plug-applications
Pass pass
Package-x-generic-16.pngswitchboard-plug-bluetooth
Pass pass
Package-x-generic-16.pngswitchboard-plug-display
Pass pass
Package-x-generic-16.pngswitchboard-plug-keyboard
Pass pass
Package-x-generic-16.pngswitchboard-plug-mouse-touchpad
Pass pass
Package-x-generic-16.pngswitchboard-plug-networking
Pass pass
Package-x-generic-16.pngswitchboard-plug-notifications
Pass pass
Package-x-generic-16.pngswitchboard-plug-onlineaccounts
Pass pass
Package-x-generic-16.pngswitchboard-plug-pantheon-shell
Pass pass
Package-x-generic-16.pngswitchboard-plug-printers
Pass pass
Package-x-generic-16.pngswitchboard-plug-sound
Pass pass
Package-x-generic-16.pngwingpanel
Pass pass
Package-x-generic-16.pngwingpanel-applications-menu
Pass pass
Package-x-generic-16.pngwingpanel-indicator-ayatana
Pass pass
Package-x-generic-16.pngwingpanel-indicator-bluetooth
Pass pass
Package-x-generic-16.pngwingpanel-indicator-datetime
Pass pass
Package-x-generic-16.pngwingpanel-indicator-keyboard
Pass pass
Package-x-generic-16.pngwingpanel-indicator-network
Pass pass
Package-x-generic-16.pngwingpanel-indicator-nightlight
Pass pass
Package-x-generic-16.pngwingpanel-indicator-notifications
Pass pass
Package-x-generic-16.pngwingpanel-indicator-power
Pass pass
Package-x-generic-16.pngwingpanel-indicator-session
Pass pass
Package-x-generic-16.pngwingpanel-indicator-sound
Pass pass
switchboard-plug-datetime
Inprogress inprogress
switchboard-plug-locale
Inprogress inprogress
switchboard-plug-parental-controls
Inprogress inprogress
switchboard-plug-power
Inprogress inprogress
switchboard-plug-security-privacy
Inprogress inprogress
switchboard-plug-sharing
Inprogress inprogress
switchboard-plug-useraccounts
Inprogress inprogress
gsignond-plugin-mail
Inprogress inprogress
RHBZ#1644719
gsignond-plugin-lastfm
Inprogress inprogress

TODO Items

  • investigate improving missing switchboard plugs for fedora support, and submit them for review:
    • Date and Time plug: behavioral differences between fedora / ubuntu
    • Locale plug: implement dnf / PackageKit backend for langpack installation
    • Power plug: remove dependency on ubuntu-specific patches to gnome-settings-daemon
    • Security and Privacy plug: implement FirewallD backend to replace ufw
  • do testing for components not yet in official fedora repositories, and package them:
    • Parental Controls plug: does this actually work on fedora?
    • Sharing plug: does this actually work on fedora?
    • User Accounts plug: investigate behavioral differences between fedora / ubuntu

All these switchboard plugs are already packaged and available from one of my COPR repositories:

https://copr.fedorainfracloud.org/coprs/decathorpe/elementary-staging/

The .spec files are maintained in a GitHub repository until the packages pass package review:

https://github.com/decathorpe/elementary-staging-rpms

  • improve screensaver / lock screen support: RHBZ#1644858
    • possibly patch Pantheon session components to use standard interfaces
    • consider implementing shim for GDM / gnome-screensaver and LightDM / light-locker compatibility, or
    • consider implementing adapter for translating different DBus calls for this
  • create metapackages or comps groups:
    • Pantheon Session (Desktop Environment without apps)
    • Pantheon Desktop (Desktop Enviromnent with apps)

Creating these meta-packages or comps groups is planned to happen well before the fedora 30 branch point.

Other developers

This is not a system-wide change - however, some components require the latest releases from the accounts-SSO / signon stack.

In particular, Package-x-generic-16.pngsignon-glib needs an update to version 2.0 to allow packaging the Online Accounts support for switchboard and some elementary applications.

Release engineering

No impact

Trademark approval

N/A - not needed for this Change

This Change is about adding the missing components of the Desktop Environment to fedora, and fixing show-stopper bugs. If we decide to make this a spin in the future, that will be a separate Change.


Upgrade/compatibility impact

Packages for the Pantheon DE and elementary applications have been available since fedora 25 in some cases, and most components have been available since fedora 27. Upgrading to the latest fedora release brings users the latest versions of (most of) these packages.

However, due to upstream changes, some desktop applications might lose user settings when upgrading from fedora 28 to 29, because upstream changed their GSettings path between releases. For that reason, the updates containing these breaking changes were not pushed to stable releases < 29, following the Updates Policy for stable and beta releases.

How To Test

  • install the Pantheon Desktop Environment: Package-x-generic-16.pngpantheon-session-settings (metapackages / comps groups not yet available)
  • choose Pantheon session at login
  • use the system as usual
  • try out elementary applications
  • check if screensaver kicks in (possibly doesn't work yet)

When also testing the "WIP packages" from my elementary-staging COPR repository, there are two metapackages available:

  • pantheon-session: depends on all session and desktop shell components
  • pantheon-desktop: depends on session, shell, and applications

User Experience

  • no impact for users who don't already have the Pantheon session or elementary applications installed
  • usability and stablilty improvements for users who already use it

Dependencies

N/A

Contingency Plan

  • Contingency mechanism: N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change) - No
  • Blocks product? N/A

Documentation

The current status of the project and detailed instructions on how to install the Pantheon session on fedora are available here.

Release Notes

The improved Pantheon Desktop Environment and elementary applications found in the latest release of elementaryOS 5.0 "Juno" will officially be available on fedora 30 as well.