Difference between revisions of "Pantheon"

From ArchWiki
Jump to: navigation, search
(Removed outdated "Wallpaper Drawer" section. Wallpaper is managed by Gala now.)
(Via xinit: most of the file had nothing to do with Pantheon)
 
(180 intermediate revisions by 29 users not shown)
Line 1: Line 1:
 
[[Category:Desktop environments]]
 
[[Category:Desktop environments]]
{{Article summary start}}
+
[[ja:Pantheon]]
{{Article summary text|This article covers basic installation procedures and configuration methods for Pantheon, the default desktop environment of elementary OS.}}
+
[[pl:Pantheon]]
{{Article summary heading|Related}}
+
[[zh-hans:Pantheon]]
{{Article summary wiki|GNOME}}: A DE which is also based on GTK3.
+
[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 Vala and the GTK3 toolkit. With regards to usability and appearance, the desktop has some similarities with [[GNOME]] Shell and MacOS.
{{Article summary end}}
 
  
[http://elementaryos.org/ 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 Mac OS X.
+
== 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].}}
  
Pantheon is split into several packages which are available in the [[AUR]]. To get a minimal desktop interface, you may start by installing {{AUR|pantheon-session-bzr}}. This will pull the following core components:
+
=== 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}}:
 +
{{bc|<nowiki>
 +
[pantheon]
 +
SigLevel = Optional
 +
Server = https://pkgbuild.com/~alucryd/$repo/$arch
 +
</nowiki>}}
 +
{{Note|The PKGBUILDs for these packages are also available in the [[AUR]].}}
 +
 
 +
=== Desktop Environment ===
 +
 
 +
To get the basic Pantheon desktop interface, start by installing {{AUR|pantheon-session-bzr}}, which pulls--among other dependencies--the core components:
 
* {{AUR|cerbere}}: Watchdog service to keep core Pantheon apps running
 
* {{AUR|cerbere}}: Watchdog service to keep core Pantheon apps running
* {{AUR|gala-bzr}}: Window Manager
+
* {{AUR|gala-git}}: Window Manager (development version)
 
* {{AUR|wingpanel}}: Top panel
 
* {{AUR|wingpanel}}: Top panel
 +
* {{AUR|pantheon-applications-menu-git}}: Application launcher (development version)
 +
You may additionally install these packages as well:
 +
* {{Pkg|plank}} or {{AUR|plank-bzr}}: MacOS-like Dock
 +
* {{AUR|wingpanel-git}}: Top panel (development version)
 +
 +
=== Services and Configuration ===
 +
 +
These packages provide background services and default settings for Pantheon and elementary OS applications:
 +
* {{AUR|pantheon-default-settings-bzr}}: Default desktop appearance, behavior, and application configuration; pulls in theme packages {{Pkg|elementary-icon-theme}},  {{AUR|gtk-theme-elementary-bzr}}{{Broken package link|package not found}}, {{AUR|pantheon-backgrounds-bzr}}, and {{AUR|plank-theme-pantheon-bzr}}{{Broken package link|package not found}}.
 +
* {{Pkg|contractor}} or {{AUR|contractor-git}}: Service for sharing data between apps
 +
* {{AUR|gnome-settings-daemon-elementary}}: A patch against {{AUR|gnome-settings-daemon-ubuntu}} to support {{AUR|elementary-dpms-helper-bzr}} and {{AUR|wingpanel-indicator-power-git}}
 +
* {{AUR|pantheon-print-git}}: Print settings dialog
 +
* {{AUR|pantheon-polkit-agent-git}}: Polkit authentication agent
  
{{Note|You will need to install at least one indicator, otherwise wingpanel will not launch.}}
+
=== Theme ===
  
* {{AUR|slingshot-launcher}}: Application launcher
+
These packages contribute to the look and feel of the desktop:
* {{Pkg|plank}}: Dock
+
* {{AUR|elementary-icon-theme-git}}: Icon theme designed to be smooth, sexy, clear, and efficient (development version)
 +
* {{AUR|lightdm-pantheon-greeter}} or {{AUR|lightdm-pantheon-greeter-git}}: LightDM greeter
 +
It is also recommended to install the following fonts:
 +
* {{AUR|ttf-opensans}}: Open Sans Fonts
 +
* {{AUR|ttf-raleway}}: Raleway Font
 +
* {{Pkg|ttf-dejavu}}: Font family based on the Bitstream Vera Fonts
 +
* {{Pkg|ttf-droid}}: General-purpose fonts released by Google as part of Android
 +
* {{Pkg|ttf-freefont}}: Set of free outline fonts covering the Unicode character set
 +
* {{Pkg|ttf-liberation}}: Red Hats Liberation fonts
  
Additionally, you may install the following packages:
+
=== Applications ===
  
* {{AUR|audience-bzr}}: Video player
+
These are some of the original, patched, and selected packages that comprise the elementary OS software suite:
* {{AUR|contractor-bzr}}: Service for sharing data between apps
+
* {{Pkg|pantheon-files}} or {{AUR|pantheon-files-bzr}}: File explorer developed from Marlin
* {{AUR|dexter-contacts-bzr}}: Contacts manager (does not build)
+
* {{Pkg|pantheon-terminal}} or {{AUR|pantheon-terminal-git}}: Terminal emulator
 +
* {{Pkg|scratch-text-editor}} or {{AUR|scratch-text-editor-git}}: Text editor
 +
* {{AUR|pantheon-calculator}} or {{AUR|pantheon-calculator-git}}: Calculator
 +
* {{AUR|pantheon-music-git}}: Audio player developed from {{Pkg|pantheon-music}} (ex Noise Player)
 +
* {{AUR|pantheon-videos-git}}: Video player developed from {{Pkg|audience}}{{Broken package link|replaced by {{Pkg|pantheon-videos}}}}
 +
* {{AUR|pantheon-calendar-git}}: Calendar developed from {{AUR|maya-calendar}}, integrates default calendar with {{AUR|wingpanel-indicator-datetime-git}}
 +
* {{AUR|epiphany-pantheon-bzr}}: Web browser, replacing {{AUR|midori-granite}}
 +
* {{AUR|pantheon-mail-git}}: Email client based on {{Pkg|geary}}
 +
* {{AUR|pantheon-screenshot}} or {{AUR|pantheon-screenshot-git}}: Screenshot tool
 
* {{AUR|eidete-bzr}}: Simple screencaster
 
* {{AUR|eidete-bzr}}: Simple screencaster
* {{Pkg|elementary-icon-theme}}: elementary icons
+
* {{Pkg|pantheon-photos}} or {{AUR|pantheon-photos-git}}: Photo manager based on {{Pkg|shotwell}}
* {{AUR|elementary-scan-bzr}}: Simple scan utility
+
* {{AUR|pantheon-camera-git}}: Webcam app developed from {{AUR|snap-photobooth}}
* {{AUR|gtk-theme-elementary}}: elementary GTK theme
+
* {{AUR|elementary-scan-bzr}}: Simple scan utility (does not build)
* {{AUR|feedler-bzr}}: RSS feeds reader (does not build)
 
 
* {{AUR|footnote-bzr}}: Note taking app
 
* {{AUR|footnote-bzr}}: Note taking app
* {{Pkg|geary}}: Email client
+
* {{AUR|switchboard}} or {{AUR|switchboard-git}}: Pluggable settings manager similar to {{Pkg|gnome-control-center}}
* {{AUR|indicator-pantheon-session-bzr}}: Session indicator
 
* {{AUR|lightdm-pantheon-greeter-bzr}}: LightDM greeter
 
* {{AUR|maya-calendar-bzr}}: Calendar
 
* {{AUR|midori-granite}}: Web browser
 
* {{Pkg|noise}}: Audio player
 
* {{AUR|pantheon-calculator-bzr}}: Calculator
 
* {{AUR|pantheon-files}}: File explorer
 
* {{AUR|pantheon-notify-bzr}}: Notification daemon
 
* {{AUR|pantheon-print-bzr}}: Print settings
 
* {{AUR|pantheon-terminal}}: Terminal emulator
 
* {{AUR|plank-theme-pantheon-bzr}}: Pantheon theme for plank
 
* {{AUR|scratch-text-editor}}: Text editor
 
* {{AUR|snap-photobooth-bzr}}: Webcam app
 
* {{AUR|switchboard}}: Settings manager
 
  
{{Note|You will also need to install plugs, look for "switchboard-plug-*" in the [[AUR]].}}
+
== Launching Pantheon ==
  
* {{AUR|webcontracts-bzr}}: Web services contracts for use with contractor-bzr
+
=== Via [[Display manager]] ===
  
===Additional Info===
+
{{AUR|pantheon-session-bzr}} provides a {{Pkg|gnome-session}} entry for display managers such as {{Pkg|gdm}} or {{Pkg|lightdm}}.
  
====Unofficial repository====
+
=== Via [[xinit]] ===
  
I have set up an unofficial repository for pantheon packages: http://pkgbuild.com/~alucryd/pantheon/. Add the following lines at the top of your sources in {{Ic|/etc/pacman.conf}}:
+
Alternatively, you can use {{Ic|~/.xinitrc}} to launch the Pantheon shell, by adding {{ic|exec cerbere}} at to the end of the file.
  
[pantheon]
+
==== Autostart applications with ''xinit'' ====
SigLevel = Optional
 
Server = http://pkgbuild.com/~alucryd/$repo/$arch
 
  
====Github repository====
+
For applications which do not provide a [[Systemd#Using_units|systemd unit]], consider these options:
  
All Pantheon related PKGBUILDs can be found on my GitHub repository: https://github.com/alucryd/aur-alucryd/tree/master/pantheon
+
* Run once when X starts:
 +
:Add it to your [[#Via_xinit|{{Ic|~/.xinitrc}}]] [[Shell]] script, before the {{ic|exec cerbere}} line.
  
====Packages based on older evolution-data-server====
+
* Keep running in the background:
 +
:Add it to the [[#Configuration|dconf key]] {{Ic|org.pantheon.desktop.cerbere.monitored-processes}}.
 +
:Should the process stop, {{AUR|cerbere}} will respawn it.
  
{{AUR|dexter-contacts-bzr}} and {{AUR|feedler-bzr}} 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.
+
* Launch from a [[.desktop]] file:
 +
:Use a program like {{AUR|dapper}}, {{AUR|dex-git}}, or {{AUR|fbautostart}} to implement [[Desktop_entries#Autostart|XDG autostart]].
  
==Launching Pantheon==
+
==Configuration==
  
===Via a Display Manager===
+
Configure Pantheon via {{AUR|switchboard}} and its plugs (''switchboard-plug-*''), which must be installed separately. Not all of {{Pkg|gnome-control-center}}'s settings panels have been ported. Except [[plank]], all the Pantheon components store their configuration in the {{Ic|org.pantheon}} [[GNOME#Configuration|dconf key]], which can be edited with {{Pkg|dconf-editor}}.
  
{{AUR|pantheon-session-bzr}} provides a session entry for display managers such as {{Pkg|gdm}} or {{Pkg|lightdm}}.
+
{{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-tweak-tool}}.}}
  
{{Note|Either use the bzr version of ''cerbere'' or add 'gala' to the monitored processes for this to work.}}
+
=== Plank ===
  
===Via .xinitrc===
+
==== Adding new application icons ====
  
You can also use {{Ic|~/.xinitrc}} with {{Pkg|slim}} to launch the Pantheon shell. The following code will successfully launch a Pantheon session:
+
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 its configuration files in {{ic|~/.config/plank/}}}}
  
#!/bin/sh
+
=== Pantheon Files ===
 
+
 
if [ -d /etc/X11/xinit/xinitrc.d ]; then
+
==== Enable context menu entries ====
  for f in /etc/X11/xinit/xinitrc.d/*; do
+
 
     [ -x "$f" ] && . "$f"
+
If you want to enable context menu entries such as for {{Pkg|file-roller}} to extract/compress archives, then you have to additionally install {{Pkg|contractor}}.
  done
+
 
  unset f
+
=== Terminal ===
  fi
+
 
 +
====Opacity (transparency)====
 +
 
 +
To make {{Pkg|pantheon-terminal}} (semi-)transparent, [[#Configuration|set the dconf key]] {{ic|org.pantheon.terminal.settings.opacity}} to your desired opacity; for {{AUR|pantheon-terminal-git}}, the background color and transparency are set by {{ic|org.pantheon.terminal.settings.background}}.
 +
 
 +
== Known Issues ==
 +
{{Out of date|This information is quite old; some of these issues may have been resolved.}}
 +
=== Usability ===
 +
 
 +
==== Cannot interact with the LightDM Pantheon greeter ====
 +
 
 +
You need to delete {{ic|/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
 +
 
 +
==== Gala crashes on start ====
 +
 
 +
Unconfigured gala tries to use default gnome wallpaper, which is absent unless you have the package {{Pkg|gnome-themes-standard}} installed. Install it workaround the crash; it is safe to remove after you configure another wallpaper.
 +
 
 +
==== No mouse cursor after login ====
 +
 
 +
The Gala window manager is most likely not running. Either install {{AUR|cerbere-git}} or add {{ic|gala}} to the list of cerbere's [[#Via_xinit|monitored processes]].
 +
 
 +
=== Indicators ===
 +
 
 +
==== Indicators not appearing in wingpanel ====
 +
 
 +
Wingpanel does not come with any indicators; they must be installed separately.
 +
{{Note|{{AUR|wingpanel}} supports [[Unity|Ayatana indicators]], while {{AUR|wingpanel-git}} has native indicators (''wingpanel-indicator-*-git'').}}
 +
 
 +
==== Third-party indicators ====
 +
 
 +
* If launched by a [[#Via Display manager|display manager]], append {{Ic|Pantheon}} to {{ic|1=OnlyShowIn=}} in third-party indicators' [[Desktop_entries#Autostart|*.desktop files]]
 +
 
 +
* If launched by [[#Via xinit|~/.xinitrc]], add third-party indicators to one of the start-up methods described [[#Launching Pantheon|above]].
 +
 
 +
* For {{AUR|wingpanel-git}}, indicators designed for [[Unity]] require {{AUR|wingpanel-indicator-ayatana-bzr}}{{Broken package link|package not found}}.
 +
 
 +
==== Indicator-session menus not responsive ====
 +
 
 +
* {{AUR|indicator-session}} relies on dbus methods provided by [[Unity]] for most of its functions and fails to fallback to gnome or systemd methods in its absence.
 +
 
 +
* {{AUR|wingpanel-indicator-session-git}} needs [[light-locker]] or {{AUR|xscreensaver-dbus-screenlock}} installed for the {{Ic|Lock}} menu item.
 +
 
 +
=== Appearance ===
 +
 
 +
==== 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}}.
 +
 
 +
==== Wingpanel transparency ====
 +
 
 +
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}}:
 +
 
 +
/*********************
 +
  * wingpanel support *
 +
  ********************/
 +
.panel {
 +
    background-color: transparent;
 +
     transition: all 1s ease-in-out;
 +
  }
 
   
 
   
  gsettings-data-convert &
+
  .panel.maximized {
xdg-user-dirs-gtk-update &
+
    background-color: #000;
/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|Either use the bzr version of ''cerbere'' or add 'gala' to the monitored processes for this to work.}}
+
==== GTK+ applications surrounded by awful black shadow box ====
  
===Autostart applications===
+
The elementary GTK theme seems to be using its own files and ignoring the {{Ic|~/.config/gtk-3.0/gtk.css}} user-override config file. This has been reported on https://bugs.launchpad.net/elementaryos/+bug/1592441. To work around the issue, go to the file {{Ic|/usr/share/themes/elementary/gtk-3.0/gtk-widgets.css}} and look for the following (around line 3669):
  
Pantheon, when launched via {{Ic|~/.xinitrc}}, does not support XDG autostart. However, there are 2 other ways to achieve this for applications which do not provide a systemd unit:
+
decoration,
 +
.window-frame {
 +
    border-radius: 4px 4px 0 0;
 +
    box-shadow: 0 0 0 1px alpha (#000, 0.3),
 +
                0 14px 28px rgba(0,0,0,0.35),
 +
                0 10px 10px rgba(0,0,0,0.22);
 +
    margin: 12px;
 +
}
  
* You may add any program to your {{Ic|~/.xinitrc}}, preferably right before the ''exec cerbere'' line. This is the better choice for one-shot programs.
+
Replace the above by the the code below
* Or you may edit the {{Ic|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.
 
  
{{Note|Keep in mind that applications started via ''cerbere'' cannot be terminated, they will keep respawning.}}
+
decoration,
 +
.window-frame {
 +
    box-shadow: none;
 +
    border: none;
 +
    padding: 0;
 +
    margin: 0;
 +
}
  
==Configuration==
+
==== White icons in pantheon-files ====
  
Configuring Pantheon is done via {{AUR|switchboard-bzr}} and its plugs, some of which are available in the AUR, but close to none work as intended for the moment. Instead, most pantheon settings can be altered via ''dconf'', they are located in the {{Ic|org.pantheon}} key. Use ''dconf-editor'' for easy editing.
+
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 {{AUR|gtk-theme-elementary-git}} or, for {{AUR|gtk-theme-elementary}}, add the following line to {{ic|gtk-widgets.css}}:
  
Also, part of the configuration is handled by {{Pkg|gnome-control-center}} via a dedicated plug, which unfortunately does not support GNOME 3.8. Use {{Pkg|gnome-control-center}} itself and {{Pkg|gnome-tweak-tool}} instead.
+
GtkToolItem { color: @text_color; }

Latest revision as of 13:16, 23 September 2017

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

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

Unofficial repository

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 /etc/pacman.conf:

[pantheon]
SigLevel = Optional
Server = https://pkgbuild.com/~alucryd/$repo/$arch
Note: The PKGBUILDs for these packages are also available in the AUR.

Desktop Environment

To get the basic Pantheon desktop interface, start by installing pantheon-session-bzrAUR, which pulls--among other dependencies--the core components:

You may additionally install these packages as well:

Services and Configuration

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

Theme

These 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 elementary OS software suite:

Launching Pantheon

Via Display manager

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

Via xinit

Alternatively, you can use ~/.xinitrc to launch the Pantheon shell, by adding exec cerbere at 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 switchboardAUR and its plugs (switchboard-plug-*), which must be installed separately. Not all of gnome-control-center's settings panels have been ported. Except plank, all the Pantheon components store their configuration in the org.pantheon dconf key, which can be edited with dconf-editor.

Note: switchboard-plug-elementary-tweaks-gitAUR provides easy access to customizations for various aspects of the Pantheon desktop and applications, similar to gnome-tweak-tool.

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 its configuration files in ~/.config/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.

Terminal

Opacity (transparency)

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 org.pantheon.terminal.settings.background.

Known Issues

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: This information is quite old; some of these issues may have been resolved. (Discuss in Talk:Pantheon#)

Usability

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

Gala crashes on start

Unconfigured gala tries to use default gnome wallpaper, which is absent unless you have the package gnome-themes-standard installed. Install it workaround the crash; it is safe to remove after you configure another wallpaper.

No mouse cursor after login

The Gala window manager is most likely not running. Either install cerbere-gitAUR or add gala to the list of cerbere's monitored processes.

Indicators

Indicators not appearing in wingpanel

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

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 not responsive

  • 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.

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 this code to your theme or the override file in ~/.config/gtk-3.0/gtk.css.

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 other themes, add the following lines to the end of 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;
}

GTK+ applications surrounded by awful black shadow box

The elementary GTK theme seems to be using its own files and ignoring the ~/.config/gtk-3.0/gtk.css user-override config file. This has been reported on https://bugs.launchpad.net/elementaryos/+bug/1592441. To work around the issue, go to the file /usr/share/themes/elementary/gtk-3.0/gtk-widgets.css and look for the following (around line 3669):

decoration,
.window-frame {
    border-radius: 4px 4px 0 0;
    box-shadow: 0 0 0 1px alpha (#000, 0.3),
                0 14px 28px rgba(0,0,0,0.35),
                0 10px 10px rgba(0,0,0,0.22);
    margin: 12px;
}

Replace the above by the the code below

decoration,
.window-frame {
    box-shadow: none;
    border: none;
    padding: 0;
    margin: 0;
}

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-gitAUR or, for gtk-theme-elementaryAUR, add the following line to gtk-widgets.css:

GtkToolItem { color: @text_color; }