User:Quequotion/Pantheon

From ArchWiki
Jump to navigation Jump to search

Pantheon is the desktop environment of elementary OS. It is written from scratch in Vala, using GTK 3 and Granite.

Development

elementary OS releases are derived from Ubuntu's LTS releases, typically trailing Ubuntu's cycle by a few weeks or months. However, its constituent packages are updated continuously. See the official github repository.

Installation

Package sources

Community respository

Most of the Pantheon components and elementary OS's curated apps are available in the community repository, and can be installed en masse using the pantheon group:

# pacman -S pantheon

Unofficial repository

Alucryd's unofficial repository contains a few packages not yet available in the community repository. To use it, add the following lines at the top of your sources in /etc/pacman.conf:

Comment: Messaging seems to be problematic: we need to better communicate the distinction of installation sources, and the degree (or total lack) of support behind each ([community], [aur-alucryd], [aur], [some other recipe for trouble]). quequotion (talk) 15:11, 30 November 2019 (UTC)
[extra-alucryd]
Server = https://pkgbuild.com/~alucryd/$repo/$arch

AUR

The PKGBUILDs for Alucryd's repository and many other Pantheon-related packages, such as third-party applications developed for Pantheon and unstable development packages, are available in the AUR.

Warning: Do not install these packages indiscriminately. They are not vetted and may conflict with those in the community repository and Alucryd's repository.
Comment: In addition to above re: messaging, which pantheon packages? There are many more packages, and packagers, involved than when this was written. quequotion (talk) 15:11, 30 November 2019 (UTC)

Desktop Environment

For a minimal Pantheon shell, install pantheon-sessionAUR, which depends on the core components:

Additional Services and Configuration

These are optional packages that provide background services and configuration:

Comment: This should list only packages that are "stable release" versions if/when possible. quequotion (talk) 15:11, 30 November 2019 (UTC)

Theme

These optional packages contribute to the look and feel of the desktop:

It is also recommended to install the following fonts:

Comment: This should list only packages that are "stable release" versions if/when possible. quequotion (talk) 15:11, 30 November 2019 (UTC)

Applications

These are some of the original, patched, and selected packages that comprise the optional elementary OS software suite:

Comment: This should list only packages that are "stable release" versions if/when possible. quequotion (talk) 15:11, 30 November 2019 (UTC)

Launching Pantheon

Comment: These subsections should only list "stable release" packages if/when possible. quequotion (talk) 02:33, 1 December 2019 (UTC)

Via Display manager

pantheon-sessionAUR provides a gnome-session entry for display managers such as gdm or lightdm.

Autostart applications with a display manager

As a gnome-session, Pantheon implements XDG Autostart.

Via xinit

Alternatively, you can use ~/.xinitrc to launch the Pantheon shell, by adding exec cerbere to the end of the file.

Autostart applications with xinit

For applications which do not provide a systemd unit, consider these options:

  • Run once when X starts:
Add it to your ~/.xinitrc Shell script, before the exec cerbere line.
  • Keep running in the background:
Add it to the dconf key org.pantheon.desktop.cerbere.monitored-processes.
Should the process stop, cerbere will respawn it.
Use a program like dapperAUR, dex, or fbautostartAUR to implement XDG Autostart.

Configuration

Comment: These subsections should only list "stable release" packages if/when possible. quequotion (talk) 02:33, 1 December 2019 (UTC)

Configure Pantheon via switchboard and its separately-installed plugs. Not all of gnome-control-center's settings panels have been ported. Except for plank, all the Pantheon components store their configuration in the org.pantheon or io.elementary gsettings keys, which can also be edited with dconf-editor.

Wingpanel

Wingpanel does not come with any indicators; they must be installed separately.

At the minimum, you'll probably want to install:

Third-party indicators

Native Wingpanel Indicators

Wingpanel indicators will appear when wingpanel restarts. Several are available from the AUR.

Ayatana indicators

These indicators, developed for Ubuntu's discontinued Unity 7 Desktop Environment, are no longer supported, although many third party applications still depend on them.

  • If Pantheon is launched by ~/.xinitrc, add these indicators to one of the start-up methods described above.

Enable session indicator "Lock"

wingpanel-indicator-session needs a locker using the freedesktop sceensaver dbus, such as light-locker or xscreensaver-dbus-screenlockAUR.

Plank

To add a new application icon, either drag and drop a desktop file on to the dock, or right click on a running application's icon and select "Keep in dock".

Note: Plank stores .dockitem launchers in ~/.config/plank/ and its own configuration in the gsettings key net.launchpad.plank

Pantheon Files

Enable context menu entries

To enable context menu entries, such as for file-roller-pantheonAUR to extract/compress archives, then you need to install contractor.

Terminal

Opacity

To make pantheon-terminal (semi-)transparent, set the dconf key io.elementary.terminal.settings.background to the desired background color and transparency.

Known Issues

Comment: These subsections should only list "stable release" packages if/when possible. quequotion (talk) 02:33, 1 December 2019 (UTC)

Appearance

Pantheon-terminal transparency

Transparency in pantheon-terminal is not yet fully functional with GTK themes other than the elmentary OS theme. Either use gtk-theme-elementaryAUR or add the following code to your theme's css or the override file in ~/.config/gtk-3.0/gtk.css:

/************
 * Terminal *
 ***********/

PantheonTerminalPantheonTerminalWindow.background {
   background-color: transparent;
}

Wingpanel transparency

Wingpanel is transparent by design when using gtk-theme-elementaryAUR, and becomes opaque when a maximized window occupies your screen (when using the galaAUR window manager and compositor). However, using other GTK themes will produce a solid panel most of the time.

To achieve the former behavior within another theme, add the following code to its css or the override file in ~/.config/gtk-3.0/gtk.css:

/*********************
 * wingpanel support *
 ********************/

.panel {
    background-color: transparent;
    transition: all 1s ease-in-out;
}

.panel.maximized {
    background-color: #000;
}