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 and consult their community slack.

Installation

Package sources

Official respository

Most of the Pantheon components and elementary OS's curated apps are are provided by the pantheon group.

Unofficial repository

extra-alucryd contains a few packages not yet available in the pantheon group.

AUR

The PKGBUILDs for Alucryd's repository and many other Pantheon-related packages, such as third-party applications developed for elementary OS 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 pantheon group and Alucryd's repository.

Desktop environment

For the minimal Pantheon shell, install pantheon-session-gitAUR, which pulls several dependencies and the core components:

Services

These optional packages provide (background) services for Pantheon and elementary OS applications:

Theme and configuration

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

Applications

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

Launching Pantheon

Via display manager

pantheon-session-gitAUR provides a gnome-session entry for display managers such as lightdm.

Autostart applications with a display manager

As a gnome-session, Pantheon implements XDG Autostart.

Via xinit

Alternatively, use ~/.xinitrc to launch the Pantheon shell components by appending them at the end of the file, ie:

wingpanel &
plank &
exec gala

Autostart applications with xinit

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

Configuration and workarounds

Configure Pantheon via switchboard and its plugs, which must be installed separately.

Pantheon components, except for plank, store their configuration in the org.pantheon or io.elementary dconf keys.

Desktop crashes at login

"Oh no! Something has gone wrong."

One of the RequiredComponents in Pantheon's session file may be failing, causing gnome-session to crash as well.

You may work around this by editing /usr/share/gnome-session/sessions/pantheon.session, and removing the failed component.

Subsequent login attempts return to display manager

See gnome-session crashes on session startup.

Most of the time, waiting a little longer to log in is sufficent to clear whatever blockage the previous session has left behind.

Files

Enable context menu entries

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

Incorrect screen resolutions with multiple monitors

lightdm-pantheon-greeter ignores Xorg configuration, instead attempting to get monitor setup from monitors.xml, however that does not seem to work reliably.

An alternative is to use another greeter, such as lightdm-gtk-greeter.

"No such key" when installing packages

Because pantheon-default-settingsAUR is written for an older version of gnome-settings-daemon than the one shipped with Archlinux, several of the dconf keys it expects are missing--triggering these warning messages whenever gschema are compiled. This is not a problem, but if the messages are an annoyance, comment out or remove the specified keys from /usr/share/glib-2.0/schemas/25_pantheon-default-settings.gschema.override.

Plank

Adding new application icons

Either drag and drop a desktop file on to the dock, or right click a running application's icon and select "Keep in dock". You can then reorder icons by drag and drop.

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

Not launching at startup

Since cerbere was retired, pantheon-session-gitAUR expects plank to use this xdg autostart to initiate it and request gnome-session's built in management to maintain it.

Either install pantheon-dock-gitAUR, or create /etc/xdg/autostart/plank.desktop.

Terminal

Opacity

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

Wingpanel

Indicators

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

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

Third-party indicators
  • If launched by ~/.xinitrc, add third-party indicators to one of the start-up methods described above.
Session indicator menus unresponsive

Dynamic transparency

The gala window manager provides Wingpanel with dynamic transparency.

With gtk-theme-elementary, it becomes opaque when a maximized window occupies the screen and otherwise blends with the wallpaper; using other GTK themes may produce a statically opaque panel.

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

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

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

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