Difference between revisions of "Pantheon"

From ArchWiki
Jump to navigation Jump to search
m (Nevermind, not the best way to do this.)
(Fixed applications menu package name)
(40 intermediate revisions by 7 users not shown)
Line 3: Line 3:
 
[[pl:Pantheon]]
 
[[pl:Pantheon]]
 
[[zh-hans:Pantheon]]
 
[[zh-hans:Pantheon]]
[https://bbs.archlinux.org/viewtopic.php?id=152930 Pantheon] is the default desktop environment originally created for the [http://elementary.io/ elementary OS] distribution. It is written from scratch using [[Wikipedia:Vala (programming language)|Vala]] and the GTK3 toolkit. With regards to usability and appearance, the desktop has some similarities with [[GNOME]] Shell and macOS.
+
[https://bbs.archlinux.org/viewtopic.php?id=152930 Pantheon] is the desktop environment originally created for the [http://elementary.io/ elementary OS] distribution. It is written from scratch in [[Wikipedia:Vala (programming language)|Vala]], using [[GTK+|GTK3]] and [https://github.com/elementary/granite Granite]. With regards to usability and appearance, the desktop has some similarities with [[GNOME Shell]] and [[Wikipedia:MacOS|macOS]].
 +
 
 +
== Project Status ==
 +
 
 +
Although the [https://elementary.io/ elementary OS] release schedule and toolchain are bound to [[Arch_compared_to_other_distributions#Ubuntu|Ubuntu's]] LTS release cycle, [https://plus.google.com/communities/104613975513761463450 development] moves quickly and has recently moved to [https://github.com/elementary github].
  
 
== Installation ==
 
== Installation ==
  
{{Note|Although their release schedule and toolchain are bound to [[Arch_compared_to_other_distributions#Ubuntu|Ubuntu's]] LTS release cycle, [https://plus.google.com/communities/104613975513761463450 elementary OS development] moves quickly and has recently moved to [https://github.com/elementary github].}}
+
=== Packages ===
  
=== Unofficial repository ===
+
==== Unofficial repository ====
  
[https://github.com/alucryd/aur-alucryd/tree/master/pantheon Alucryd's unofficial repo] contains more and more up-to-date packages than the few available in [[community]]. To use it add the following lines at the top of your sources in {{Ic|/etc/pacman.conf}}:
+
Alucryd's unofficial repository contains more and more [https://github.com/alucryd/aur-alucryd/tree/master/pantheon up-to-date] packages than the few available in the [[community repository]]. To use it add the following lines at the top of your sources in {{Ic|/etc/pacman.conf}}:
 
{{bc|<nowiki>
 
{{bc|<nowiki>
[pantheon]
+
[extra-alucryd]
SigLevel = Optional
 
 
Server = https://pkgbuild.com/~alucryd/$repo/$arch
 
Server = https://pkgbuild.com/~alucryd/$repo/$arch
 
</nowiki>}}
 
</nowiki>}}
{{Note|The PKGBUILDs for these packages are also available in the [[AUR]].}}
+
Do note that some packages are missing from the repository due to [https://github.com/alucryd/aur-alucryd/issues/88#issuecomment-434606676 issues] with upstream. You will have to supplement the repo with locally compiled packages.
 +
 
 +
==== AUR ====
 +
 
 +
Alternatively, the [[PKGBUILD]]s for the pantheon packages are also available in the [[AUR]].
  
 
=== Desktop Environment ===
 
=== Desktop Environment ===
Line 23: Line 30:
 
For the minimal Pantheon shell, install {{AUR|pantheon-session-git}}, which pulls--among other dependencies--the core components:
 
For the minimal Pantheon shell, install {{AUR|pantheon-session-git}}, which pulls--among other dependencies--the core components:
 
* {{AUR|cerbere-git}}: Watchdog service; restarts core components if they crash.
 
* {{AUR|cerbere-git}}: Watchdog service; restarts core components if they crash.
* {{AUR|gala-git}}: Window and composting manager
+
* {{AUR|gala-git}}: Window and composting manager  
 
* {{AUR|wingpanel-git}}: Top panel (holds the launcher, clock, and indicators)
 
* {{AUR|wingpanel-git}}: Top panel (holds the launcher, clock, and indicators)
 
* {{AUR|pantheon-applications-menu-git}}: Application launcher formerly known as "Slingshot"
 
* {{AUR|pantheon-applications-menu-git}}: Application launcher formerly known as "Slingshot"
Line 30: Line 37:
 
=== Services and Configuration ===
 
=== Services and Configuration ===
  
These packages provide background services and default settings for Pantheon and elementary OS applications:
+
These optional packages provide background services and default settings for Pantheon and elementary OS applications:
 
* {{AUR|pantheon-default-settings-git}}: Default appearance, behavior, and configuration; pulls in theme packages {{Pkg|elementary-icon-theme}},  {{AUR|gtk-theme-elementary-git}}, and {{AUR|elementary-wallpapers-git}}
 
* {{AUR|pantheon-default-settings-git}}: Default appearance, behavior, and configuration; pulls in theme packages {{Pkg|elementary-icon-theme}},  {{AUR|gtk-theme-elementary-git}}, and {{AUR|elementary-wallpapers-git}}
 
* {{AUR|gnome-settings-daemon-elementary}}: A patched {{AUR|gnome-settings-daemon-ubuntu}} required by {{AUR|pantheon-dpms-helper-git}} and {{AUR|wingpanel-indicator-power-git}}
 
* {{AUR|gnome-settings-daemon-elementary}}: A patched {{AUR|gnome-settings-daemon-ubuntu}} required by {{AUR|pantheon-dpms-helper-git}} and {{AUR|wingpanel-indicator-power-git}}
Line 38: Line 45:
 
=== Theme ===
 
=== Theme ===
  
These packages contribute to the look and feel of the desktop:
+
These optional packages contribute to the look and feel of the desktop:
* {{AUR|elementary-icon-theme-git}}: Icon theme designed to be smooth, sexy, clear, and efficient (development version)
+
* {{Pkg|elementary-icon-theme}} or {{AUR|elementary-icon-theme-git}}: Icon theme designed to be smooth, sexy, clear, and efficient
 
* {{AUR|lightdm-pantheon-greeter}} or {{AUR|lightdm-pantheon-greeter-git}}: LightDM greeter
 
* {{AUR|lightdm-pantheon-greeter}} or {{AUR|lightdm-pantheon-greeter-git}}: LightDM greeter
 
It is also recommended to install the following fonts:
 
It is also recommended to install the following fonts:
* {{AUR|ttf-opensans}}: Open Sans Fonts
+
* {{Pkg|ttf-opensans}}: Open Sans Fonts
 
* {{AUR|ttf-raleway}}: Raleway Font
 
* {{AUR|ttf-raleway}}: Raleway Font
 
* {{Pkg|ttf-dejavu}}: Font family based on the Bitstream Vera Fonts
 
* {{Pkg|ttf-dejavu}}: Font family based on the Bitstream Vera Fonts
Line 51: Line 58:
 
=== Applications ===
 
=== Applications ===
  
These are some of the original, patched, and selected packages that comprise the elementary OS software suite:
+
These are some of the original, patched, and selected packages that comprise the optional elementary OS software suite:
 
* {{Pkg|pantheon-files}} or {{AUR|pantheon-files-git}}: File explorer developed from Marlin
 
* {{Pkg|pantheon-files}} or {{AUR|pantheon-files-git}}: File explorer developed from Marlin
 
* {{Pkg|pantheon-terminal}} or {{AUR|pantheon-terminal-git}}: Terminal emulator
 
* {{Pkg|pantheon-terminal}} or {{AUR|pantheon-terminal-git}}: Terminal emulator
* {{Pkg|scratch-text-editor}} or {{AUR|pantheon-code-git}}: Text editor formerly known as "Scratch"
+
* {{Pkg|pantheon-code}} or {{AUR|pantheon-code-git}}: Text editor formerly known as "Scratch"
* {{AUR|pantheon-calculator}} or {{AUR|pantheon-calculator-git}}: Calculator
+
* {{Pkg|pantheon-calculator}} or {{AUR|pantheon-calculator-git}}: Calculator
 
* {{Pkg|pantheon-music}} or {{AUR|pantheon-music-git}}: Audio player formerly known as "Noise"
 
* {{Pkg|pantheon-music}} or {{AUR|pantheon-music-git}}: Audio player formerly known as "Noise"
 
* {{Pkg|pantheon-videos}} or {{AUR|pantheon-videos-git}}: Video player formerly known as "Audience"
 
* {{Pkg|pantheon-videos}} or {{AUR|pantheon-videos-git}}: Video player formerly known as "Audience"
 
* {{AUR|pantheon-calendar-git}}: Calendar application formerly known as "Maya", integrates with {{AUR|wingpanel-indicator-datetime-git}}
 
* {{AUR|pantheon-calendar-git}}: Calendar application formerly known as "Maya", integrates with {{AUR|wingpanel-indicator-datetime-git}}
* {{AUR|epiphany-pantheon-bzr}}: Web browser replacing {{AUR|midori-granite}}
+
* {{AUR|epiphany-pantheon}}: Web browser replacing {{AUR|midori-granite}}
 
* {{AUR|pantheon-mail-git}}: Email client developed from {{Pkg|geary}}
 
* {{AUR|pantheon-mail-git}}: Email client developed from {{Pkg|geary}}
* {{AUR|pantheon-screenshot}} or {{AUR|pantheon-screenshot-git}}: Screenshot tool
+
* {{Pkg|pantheon-screenshot}} or {{AUR|pantheon-screenshot-git}}: Screenshot tool
 
* {{AUR|eidete-bzr}}: Simple screencaster
 
* {{AUR|eidete-bzr}}: Simple screencaster
 
* {{Pkg|pantheon-photos}} or {{AUR|pantheon-photos-git}}: Photo manager developed from {{Pkg|shotwell}}
 
* {{Pkg|pantheon-photos}} or {{AUR|pantheon-photos-git}}: Photo manager developed from {{Pkg|shotwell}}
* {{AUR|pantheon-camera-git}}: Webcam app developed from {{AUR|snap-photobooth}}
+
* {{AUR|pantheon-camera-git}}: Webcam app developed from {{AUR|snap-photobooth}}{{Broken package link|package not found}}
 
* {{AUR|elementary-scan-bzr}}: Simple scan utility (does not build)
 
* {{AUR|elementary-scan-bzr}}: Simple scan utility (does not build)
* {{AUR|switchboard}} or {{AUR|switchboard-git}}: Pluggable settings manager similar to {{Pkg|gnome-control-center}}
+
* {{Pkg|switchboard}} or {{AUR|switchboard-git}}: Pluggable settings manager similar to {{Pkg|gnome-control-center}}
  
 
== Launching Pantheon ==
 
== Launching Pantheon ==
Line 73: Line 80:
  
 
{{AUR|pantheon-session-git}} provides a {{Pkg|gnome-session}} entry for display managers such as {{Pkg|gdm}} or {{Pkg|lightdm}}.
 
{{AUR|pantheon-session-git}} provides a {{Pkg|gnome-session}} entry for display managers such as {{Pkg|gdm}} or {{Pkg|lightdm}}.
 +
 +
==== Autostart applications with a display manager ====
 +
 +
As a gnome-session, Pantheon implements [[GNOME#Autostart|XDG Autostart]].
  
 
=== Via [[xinit]] ===
 
=== Via [[xinit]] ===
Line 90: Line 101:
  
 
* Launch from a [[.desktop]] file:
 
* Launch from a [[.desktop]] file:
:Use a program like {{AUR|dapper}}, {{AUR|dex-git}}, or {{AUR|fbautostart}} to implement [[XDG autostart]].
+
:Use a program like {{AUR|dapper}}, {{AUR|dex-git}}, or {{AUR|fbautostart}} to implement [[XDG Autostart]].
  
 
==Configuration==
 
==Configuration==
  
Configure Pantheon via {{AUR|switchboard}} or {{AUR|switchboard-git}} and its plugs (''switchboard-plug-*''), which must be installed separately. Not all of {{Pkg|gnome-control-center}}'s settings panels have been ported. In addition, Except [[plank]], all the Pantheon components store their configuration in the {{Ic|org.pantheon}} or {{Ic|io.elementary}} [[GNOME#Configuration|gsettings keys]], which can be edited with {{Pkg|dconf-editor}}.
+
Configure Pantheon via {{Pkg|switchboard}} or {{AUR|switchboard-git}} and its plugs (''switchboard-plug-*''), which must be installed separately. Not all of {{Pkg|gnome-control-center}}'s settings panels have been ported. In addition, except [[plank]], all the Pantheon components store their configuration in the {{Ic|org.pantheon}} or {{Ic|io.elementary}} [[GNOME#Configuration|gsettings keys]], which can be edited with {{Pkg|dconf-editor}}.
  
 
{{Note|{{AUR|switchboard-plug-elementary-tweaks-git}} provides easy access to [https://raw.githubusercontent.com/elementary-tweaks/elementary-tweaks/master/docs/screenshot.png customizations for various aspects of the Pantheon desktop and applications], similar to {{Pkg|gnome-tweaks}}.}}
 
{{Note|{{AUR|switchboard-plug-elementary-tweaks-git}} provides easy access to [https://raw.githubusercontent.com/elementary-tweaks/elementary-tweaks/master/docs/screenshot.png customizations for various aspects of the Pantheon desktop and applications], similar to {{Pkg|gnome-tweaks}}.}}
Line 103: Line 114:
  
 
At the minimum, you'll probably want to install:
 
At the minimum, you'll probably want to install:
* {{AUR|slingshot-launcher}} or {{AUR|pantheon-applications-menu-git}}: Applications menu
+
* {{AUR|pantheon-applications-menu}} or {{AUR|pantheon-applications-menu-git}}: Applications menu and "Run" dialog
 
* {{AUR|wingpanel-indicator-datetime}} or {{AUR|wingpanel-indicator-datetime-git}}: Clock and calendar widget
 
* {{AUR|wingpanel-indicator-datetime}} or {{AUR|wingpanel-indicator-datetime-git}}: Clock and calendar widget
 
* {{AUR|wingpanel-indicator-session}} or {{AUR|wingpanel-indicator-session-git}}: User and session menu (Switch user, Logout, Shutdown, etc.)
 
* {{AUR|wingpanel-indicator-session}} or {{AUR|wingpanel-indicator-session-git}}: User and session menu (Switch user, Logout, Shutdown, etc.)
Line 111: Line 122:
 
==== Third-party indicators ====
 
==== Third-party indicators ====
  
* If launched by a [[#Via Display manager|display manager]], append {{Ic|Pantheon}} to {{ic|1=OnlyShowIn=}} in third-party indicators' [[XDG_Autostart|*.desktop files]]
+
* If launched by a [[#Via Display manager|display manager]], append {{Ic|Pantheon;}} to {{ic|1=OnlyShowIn=}} in third-party indicators' [[XDG_Autostart|*.desktop files]]
  
 
* If launched by [[#Via xinit|~/.xinitrc]], add third-party indicators to one of the start-up methods described [[#Launching Pantheon|above]].
 
* If launched by [[#Via xinit|~/.xinitrc]], add third-party indicators to one of the start-up methods described [[#Launching Pantheon|above]].
  
* Indicators designed for [[Unity]] require {{AUR|wingpanel-indicator-ayatana}} or {{AUR|wingpanel-indicator-ayatana-git}}.
+
* [[Unity|Ayatana Indicators]] require {{AUR|wingpanel-indicator-ayatana}} or {{AUR|wingpanel-indicator-ayatana-git}} to appear in {{AUR|wingpanel-git}}.
  
 
==== Indicator-session menus unresponsive ====
 
==== Indicator-session menus unresponsive ====
Line 143: Line 154:
  
 
== Known Issues ==
 
== Known Issues ==
{{Out of date|This information is quite old; some of these issues may have been resolved.}}
+
 
 
=== Appearance ===
 
=== Appearance ===
  
 
==== Pantheon-terminal transparency ====
 
==== Pantheon-terminal transparency ====
  
Transparency in pantheon-terminal is not yet fully functional with GTK themes other than the elmentary OS theme. Either use {{AUR|gtk-theme-elementary}}, {{AUR|gtk-theme-elementary-git}} or add [http://bazaar.launchpad.net/~elementary-design/egtk/4.x/revision/210 this] code to your theme or the override file in {{ic|~/.config/gtk-3.0/gtk.css}}.
+
Transparency in pantheon-terminal is not yet fully functional with GTK themes other than the elmentary OS theme. Either use {{AUR|gtk-theme-elementary}}, {{AUR|gtk-theme-elementary-git}} or add the following code to your theme's css or the override file in {{ic|~/.config/gtk-3.0/gtk.css}}:
 +
/************
 +
  * Terminal *
 +
  ***********/
 +
 +
PantheonTerminalPantheonTerminalWindow.background {
 +
    background-color: transparent;
 +
}
  
 
==== Wingpanel transparency ====
 
==== Wingpanel transparency ====
Line 154: Line 172:
 
Wingpanel is transparent by design when using {{AUR|gtk-theme-elementary}} or {{AUR|gtk-theme-elementary-git}}, and becomes opaque when a maximized window occupies your screen. However, using other GTK themes will produce a solid panel most of the time.
 
Wingpanel is transparent by design when using {{AUR|gtk-theme-elementary}} or {{AUR|gtk-theme-elementary-git}}, and becomes opaque 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, add the following lines to the end of its css or the override file in {{ic|~/.config/gtk-3.0/gtk.css}}:
+
To achieve the former behavior within another theme, add the following code to its css or the override file in {{ic|~/.config/gtk-3.0/gtk.css}}:
  
 
  /*********************
 
  /*********************
 
   * wingpanel support *
 
   * wingpanel support *
 
   ********************/
 
   ********************/
 +
 
  .panel {
 
  .panel {
 
     background-color: transparent;
 
     background-color: transparent;

Revision as of 17:41, 21 May 2019

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

Project Status

Although the elementary OS release schedule and toolchain are bound to Ubuntu's LTS release cycle, development moves quickly and has recently moved to github.

Installation

Packages

Unofficial repository

Alucryd's unofficial repository contains more and more up-to-date packages than the few available in the community repository. To use it add the following lines at the top of your sources in /etc/pacman.conf:

[extra-alucryd]
Server = https://pkgbuild.com/~alucryd/$repo/$arch

Do note that some packages are missing from the repository due to issues with upstream. You will have to supplement the repo with locally compiled packages.

AUR

Alternatively, the PKGBUILDs for the pantheon packages are also available in the AUR.

Desktop Environment

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

Services and Configuration

These optional packages provide background services and default settings for Pantheon and elementary OS applications:

Theme

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

It is also recommended to install the following fonts:

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 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, cerbereAUR will respawn it.
Use a program like dapperAUR, dex-gitAUR, or fbautostartAUR to implement XDG Autostart.

Configuration

Configure Pantheon via switchboard or switchboard-gitAUR and its plugs (switchboard-plug-*), which must be installed separately. Not all of gnome-control-center's settings panels have been ported. In addition, except plank, all the Pantheon components store their configuration in the org.pantheon or io.elementary gsettings keys, which can 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:

Note: wingpanelAUR supports Ayatana indicators, while wingpanel-gitAUR has native indicators (wingpanel-indicator-*-git).

Third-party indicators

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

Indicator-session menus unresponsive

  • indicator-sessionAUR relies on dbus methods provided by Unity for most of its functions and fails to fallback to gnome or systemd methods in its absence.

Plank

Adding new application icons

Either drag and drop a desktop file on to the dock, or right click on a running application 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

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 or contractor-gitAUR.

Terminal

Opacity

To make pantheon-terminal (semi-)transparent, set the dconf key org.pantheon.terminal.settings.opacity to your desired opacity; for pantheon-terminal-gitAUR, the background color and transparency are set by io.elementary.terminal.settings.background.

Known Issues

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, gtk-theme-elementary-gitAUR 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 or gtk-theme-elementary-gitAUR, and becomes opaque 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 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;
}