# Pantheon

Pantheon is the default desktop environment originally created for the elementary OS distribution. It is written from scratch using Vala and the GTK3 toolkit. With regards to usability and appearance, the desktop has some similarities with GNOME Shell and macOS.

## Installation

Pantheon is split into several packages which are available in an unofficial repository which is daily updated with recent changes from upstream. To use the repository add the following lines at the top of your sources in `/etc/pacman.conf`:

    [pantheon]
    SigLevel = Optional
    Server = http://pkgbuild.com/~alucryd/$repo/$arch

Note: All Pantheon related PKGBUILDs can be found in Alucryd's GitHub repository.

Alternatively, all packages provided by the repository are also available in the AUR for those who prefer to build the packages from source.

To get a minimal desktop interface, you may start by installing pantheon-session-bzrAUR. This will pull the following core components:

- cerbere-bzrAUR: Watchdog service to keep core Pantheon apps running
- gala-bzrAUR: Window Manager
- wingpanel-bzrAUR: Top panel
- slingshot-launcher-bzrAUR: Application launcher
- plank-bzrAUR: Dock

However,it is recommended to install the following packages to get a fully working Pantheon Shell:

Note: Problems can occur when using (non)-mixed bzr packages! You can install the latest release, by adding -bzr to its install package-name.

- audience-bzrAUR: Video player
- contractor-bzrAUR: Service for sharing data between apps
- dexter-contacts-bzrAUR[broken link: archived in aur-mirror]: Contacts manager (does not build)
- eidete-bzrAUR: Simple screencaster
- elementary-icon-theme-bzrAUR: elementary icons
- elementary-scan-bzrAUR: Simple scan utility (does not build)
- elementary-wallpapers-bzrAUR[broken link: archived in aur-mirror]: elementary wallpaper collection
- gtk-theme-elementary-bzrAUR: elementary GTK theme
- feedler-bzrAUR[broken link: archived in aur-mirror]: RSS feeds reader (does not build)
- footnote-bzrAUR: Note taking app
- geary: Email client
- indicator-pantheon-session-bzrAUR[broken link: archived in aur-mirror]: Session indicator
- lightdm-pantheon-greeter-bzrAUR: LightDM greeter
- maya-calendar-bzrAUR: Calendar
- midori-granite-bzrAUR: Web browser
- noise-player-bzrAUR: Audio player
- pantheon-backgrounds-bzrAUR: Wallpaper collection
- pantheon-calculator-bzrAUR: Calculator
- pantheon-default-settings-bzrAUR: Pantheon default's settings (appearance, etc.)
- pantheon-files-bzrAUR: File explorer
- pantheon-notify-bzrAUR[broken link: archived in aur-mirror]: Notification daemon
- pantheon-print-bzrAUR: Print settings
- pantheon-terminal-bzrAUR: Terminal emulator
- plank-theme-pantheon-bzrAUR: Pantheon theme for plank
- scratch-text-editor-bzrAUR: Text editor
- snap-photobooth-bzrAUR: Webcam app
- switchboard-bzrAUR: Settings manager

Note: You will also need to install plugs, look for "switchboard-plug-*" in the AUR or in Alucryd's GitHub repository.

It is also recommended to install the following fonts:

- ttf-opensansAUR: Open Sans Fonts
- ttf-raleway-font-familyAUR[broken link: archived in aur-mirror]: Raleway Font Family
- ttf-dejavu: Font family based on the Bitstream Vera Fonts
- ttf-droid: General-purpose fonts released by Google as part of Android
- ttf-freefont: Set of free outline fonts covering the Unicode character set
- ttf-liberation: Red Hats Liberation fonts

### Additional Info

#### Packages based on older evolution-data-server

dexter-contacts-bzrAUR[broken link: archived in aur-mirror] and feedler-bzrAUR[broken link: archived in aur-mirror] do not build because they are based on evolution-data-server 3.2. Arch Linux provides version 3.10 which uses a different Vala API.

## Launching Pantheon

### Via a Display Manager

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

Note: Either use the bzr version of cerbere or add 'gala' to the monitored processes for this to work.

### Via .xinitrc

You can also use `~/.xinitrc` to launch the Pantheon shell. The following code will successfully launch a Pantheon session:

    #!/bin/sh

    if [ -d /etc/X11/xinit/xinitrc.d ]; then
      for f in /etc/X11/xinit/xinitrc.d/*; do
        [ -x "$f" ] && . "$f"
      done
      unset f
    fi

    gsettings-data-convert &
    xdg-user-dirs-gtk-update &
    /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
    /usr/lib/gnome-settings-daemon/gnome-settings-daemon &
    /usr/lib/gnome-user-share/gnome-user-share &
    eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg)
    export GNOME_KEYRING_CONTROL GNOME_KEYRING_PID GPG_AGENT_INFO SSH_AUTH_SOCK
    exec cerbere

Note: Pantheon may refuse to start correctly, resulting in errors such as no visible mouse cursor and others. In this case you have to add the window manager 'gala' to the list of monitored processes of cebere. This can be done in `dconf-editor` and should look like this. Remember do not run dconf-editor as root, use your local username.

### Autostart applications

Pantheon, when launched via `~/.xinitrc`, does not support XDG autostart. However, there are 3 other ways to achieve this for applications which do not provide a systemd unit:

- You may add any program to your `~/.xinitrc`, preferably right before the exec cerbere line. This is the better choice for one-shot programs.
- Or you may edit the `org.pantheon.cerbere.monitored-processes` key using dconf-editor and add the programs of your choice. This method is best for applications which keep running in the background.
- Or you may use a program like dapperAUR, dex-gitAUR, or fbautostartAUR to add support for XDG autostart in your `~/.xinitrc`.

Note: Keep in mind that applications started via cerbere cannot be terminated, they will keep respawning.

## Configuration

Configuring Pantheon is done via switchboard-bzrAUR and its plugs, most are available in the AUR and the custom repo. All pantheon settings can also be altered via dconf, they are located in the `org.pantheon` key. Use dconf-editor for easy editing.

Part of the configuration is handled by gnome-control-center via a dedicated plug, which unfortunately only supports GNOME up to 3.6. Use gnome-control-center itself and gnome-tweak-tool instead.

### Pantheon Files

#### Enable context menu entries

If you want to enable context menu entries such as for file-roller to extract/compress archives, then you have to additionally install contractor-bzrAUR.

### Terminal

#### Opacity (transparency)

You can set a certain opacity to make Pantheon Terminal (semi-)transparent. Open `dconf-editor` and go to `org.pantheon.terminal.settings.opacity` to set your desired opacity.

## Known Issues

### Indicators not working in wingpanel

Make sure the /etc/xdg/autostart/indicator-[name].desktop file contains Pantheon inside OnlyShowIn=

    OnlyShowIn=Unity;XFCE;GNOME;Pantheon;

Note:

- Indicator support itself is a complex issue, due to discrepancies between Ubuntu and Gnome's differing implementations of KDE's status notification indicators.
- The pantheon devs now have their own standard indicators for wingpanel.

### Indicator-session menus not working

- indicator-session-bzrAUR[broken link: archived in aur-mirror]

This version of indicator-session relies on dbus methods native to Unity for most of its fuctions; it can be made to work by patching out the use of Unity dialogs, such as in indicator-session-pantheon-bzr

- indicator-sessionAUR

This version of indicator-session fails to interact with the session manager somehow; a (crudely hacked) version that uses systemd/logind instead is available indicator-session-systemdAUR[broken link: archived in aur-mirror]

About This Computer, Lock and Sound Settings (indicator-soundAUR or indicator-sound-pantheon-bzr) rely on gnome components that may not be installed, such as gnome-control-center and gnome-screensaver.

For Lock functionality (including "Ctrl+L" hotkey), replace gnome-screensaver with light-locker or XScreenSaver and a script that emulates the gnome-screensaver dbus.

### No transparency in pantheon-terminal

Transparency in pantheon-terminal is not yet fully functional with GTK themes other than the elmentaryOS theme. Either use gtk-theme-elementaryAUR or add this code to your theme.

### White icons in pantheon-files

Currently there seems to be a bug which displays the view icons in the top location in a white colour instead of black. This can be fixed by installing gtk-theme-elementary-bzrAUR or adding the following line to `gtk-widgets.css` or `gtk-widgets.css` of your gtk-theme-elementaryAUR theme:

    GtkToolItem { color: @text_color; }

### Wingpanel is transparent

Wingpanel is transparent by design when using the elementary GTK theme. It becomes black when a maximized window occupies your screen. However, using other GTK themes will produce a solid panel most of the time.

To achieve the former behavior within other themes just add the following lines to the end of it's css. It is mostly found within `/usr/share/themes/<theme-name>` or `~/.themes/<theme-name>`. Depending on your theme the filename may be `apps.css` or `gtk.css`:

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

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

### Corrupted graphics in canonical indicators

Indicators behave incorrectly with every theme I have tried. They are very ancient, all of them date back to 2012 because the newer indicators depend on Ubuntu patches, and they should be killed with fire anyway. Wingpanel is doing just that and I hope the next major release will ship their new plugin system.

### Cannot interact with the LightDM Pantheon greeter

You need to delete `/var/lib/lightdm/.pam_environment`. Do note however that this file is a workaround for the following LightDM bug: https://bugs.launchpad.net/ubuntu/+source/unity-greeter/+bug/1024482

## Troubleshooting

### Gala crashes on start

It appears that unconfigured gala tries to use default gnome wallpaper as a background. However, the corresponding file is absent unless you have gnome-themes-standard installed. Thus, install gnome-themes-standard to workaround the crash. It is safe to remove this package after you configure pantheon in a way you want.

### How can I add new applications to the dock?

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

### How can I change the default appearance such as GTK theme, font size, etc?

Install switchboard-plug-elementary-tweaks-bzrAUR. Alternatively, use gnome-tweak-tool or see GTK+.

### I do not have any mouse cursor

The 'gala' window manager is most likely not running. #Via .xinitrc Add 'gala' to the list of cerbere's monitored processes.

### Wingpanel is empty except for Applications

The indicators that are displayed in the wingpanel are split into separate packages. #Installation Install additional indicators such as wingpanel-indicator-datetime-bzrAUR, indicator-powerAUR[broken link: archived in aur-mirror] or indicator-soundAUR.

Category:

- Desktop environments

Hidden category:

- Pages with broken package links