Elementary is a new initiative to create an Operating Sytem with an emphasis on elegance.
Elementary team have a commitment to a particular toolkit (GTK+) and support a preferred programming language (Vala). They’ve created an application development framework (Granite) and other developer tools that are designed to help developers build apps specifically for this platform.
Let’s review all the components of this sleak OS.
Window Manager - Gala
Gala is built on LibMutter which is the library used by Mutter the Gnome3 Window Manager. Both Mutter and Gala uses Clutter which does its rendering using OpenGL or OpenGL ES to offer a light and smoothly-animated experience in addition to support for more complex decoration theming. Power users will love the new workspace management features as well.
LibMutter offers smoother (antialiased) window corners. Gala also gives us the ability to have beautiful big shadows beneath our windows and resize windows is now smoothly done in realtime
Gala organize Workspace in a horizontal list, a workspace will be automatically closed with the last window. If you close a Workspace from the switcher, Gala will close all running windows too.
alt+TAB only the selected window will be displayed, the Dock will display the order in which the windows will appear. Elementary OS team choosed not to introduce any new and invasive UI element that would only be seen during window switching.
Grid-based window tiling is inherited from LibMutter
Desktop environment and shell - Pantheon
Consists of the greeter, panel, app launcher, dock, window manager, settings app, and theme.
Pantheon Greeter (login screen), is now built on LightDM. It features smooth graphics and animation with Clutter, displays the time and date with beautiful typography, and has built-in accessibility.
Application launcher - SlingShot
App launcher, displays an optimal 3x5 paged grid of app icons built for speed and utilizes Granite which ensures consistency with the rest of the system.
Top panel - WingPanel
WingPanel is a space-saving top panel with a refined look providing easy indicators access; clicking an indicator reveals a pleasing popover with the relevant items, and the Applications item now opens Slingshot instead of a menu.
Dock - Plank
Plank is meant to be the simplest dock on the planet. The goal is to provide just what a dock needs and absolutely nothing more. It is, however, a library which can be extended to create other dock programs with more advanced features. Thus, Plank is the underlying technology for Docky (starting in version 3.0.0) and aims to provide all the core features while Docky extends it to add fancier things like Docklets, painters, settings dialogs,
Plank is one of the only part of Elementary to be developed in Vala by 3rd party developers and features LibUnity integration to allow to show app badges, progess bars and contextual quicklist items.
If you need to change the Dock Position, change the value of
Position= in the
~/.config/plank/dock1/settings file, put instead:
0/1/2/3 respectively for
Settings - Switchboard
Unified system configuration, supports a slick open standard for settings panes, called plugs (standalone executable binaries). Luna comes with a number of plugs preinstalled as well as a transitional compatibility layer for GNOME’s System Settings panes.
Switchboard is divided in four categories : Network, Hardware, Personal, System. Application level settings won’t be available here.
Terminal - Pantheon Terminal
A lightweight and simple terminal emulator. It makes use of Granite, meaning it has excellent and consistent tab management.
Editor - Scratch
Scratch is the text editor that works for you. It auto-saves your files and remembers your tabs so you never lose your spot, even in between sessions.
It is written from the ground up to be extensible. Keep things super lightweight and simple, or install extensions to turn Scratch into a full-blown IDE; it’s your choice. And with a handful of useful preferences, you can tweak the behavior and interface to your liking.
Scratch closely follows the high standards of design, speed, and consistency. It’s sexy, but not distracting.
Additional features include:
- syntax highlighting with gtksourceview–3
- a find bar to search the words in the files
- strong integration with Granite framework by elementary-team
- tab and split documents system
Web Browser - Midori
Newer and much faster version of WebKit, providing an all-around better experience and supporting the latest in CSS3 and HTML5. A new Dynamic Notebook has been integrated from Granite, giving Midori a beautiful and consistent tabbed browsing experience. Midori also makes use of Popovers in its bookmarking interface. Lastly, Midori has received many important compatibility and security updates.
Mail Client - Geary
A new mail client which supplants Jupiter’s (previous release) Postler and does a mighty fine job. Geary brings some of the best features of webmail to the desktop—like threaded conversations and excellent HTML rendering—while excelling in desktop integration with attachment handling, mail notifications, and more.
Geary doesn’t store the data locally (keeps some caching though) but syncs with the mail server in “real time”.
Currently lacking features of v0.2: Searching, Multiple accounts, Offline mode.
Calendar - Maya
Maya, a new app in Luna, is a simple desktop calendar. With it you can create, view, and manage events to organize your agenda.
Contact - Dexter
Dexter is a contact management application for Pantheon
Music player - Noise
Noise is a brand new music player, it combines a beautifully simple interface with a powerfully fast backend to let you get right at your music. It makes excellent use of Granite’s ThinPane and DecoratedWindow widgets, ensuring consistency with the rest of the desktop.
Developement Framework - Granite
Granite is an extension of GTK. Among other things, it provides the commonly-used widgets such as modeswitchers, welcome screens, AppMenus, search bars, and more found in elementary apps.
Elementary Keyboards Shortcuts and special keys
||Window Overview across all workspace|
||Move Window with Workspace|
||Snap Window to Half of Workspace|
||move window around|
||copy inside the terminal|
||paste inside the terminal|
||cycle through panels|
Elementary is great, but let’s make it even better with the following customization
- ZSH installed, alias rake=“noglob rake” added, globbing interfere with  in Rake commands
- Oh My Zsh auto-installed from GitHub shell script, see YET article
- Sublime Text 2 installed with Twiligh color scheme.
- VMware Tools for Ubuntu 12.04 see installation Note.
- RVM installed to install & manage Gems (nanoc, adsf, fssm, ..) & Ruby 1.9.3
- peg-multimarkdown installed from source
- gimp installed
- exclude host from proxying with: gsettings set org.gnome.system.proxy ignore-hosts “[‘localhost’, ‘127.0.0.0/8’, ‘10.0.0.0/8’, ‘192.168.0.0/16’, ‘172.16.0.0/12’ , ‘*.localdomain.com’ ]” gconftool -R /system/http_proxy [to remove proxying which interfere with Sublime Text Package Control]
- iftop, vnstat, htop, slurm installed for network & process monitoring
- tree installed for nice tree dir colored output.
- dnstools installed to debug DNS issues.
- dropbox installed from deb provided on their site.
dconf-tools to configure Pantheon Terminal colors using
dconf-editorbut still a work in progress, waiting for future release of Luna. Currently using Gnome Terminal instead to benefit from Solarized Dark palette. using customization below.
- sudo apt-get install python-setuptools; easy_install Pygments; easy_install sphinx; export LC_ALL=en_US.UTF; export LANG=en_US.UTF–8; make html; make epub
- sudo apt-get install sshfs; usermod -a -G fuser brauns; sshfs user@
- pidgin installed (IRC client)
AltGr inversion trick
Linux VM need to be configured with Mac Profile Keyboard in settings
To switch both Alt keys (from blog)
% vi .Xmodmap
keycode 108 = Alt_L
keycode 64 = ISO_Level3_Shift
add mod1 = Alt_L
add mod5 = ISO_Level3_Shift
Reread this file with xmodmap .Xmodmap
see here for more information on Apple Keyboard on Ubuntu
Note: to display keycode of touch pressed on the keyboard, you can launch from a terminal the
Adding Sublime Text 2 Icon & Launcher
% cp sublime_text.png ~/.local/share/icons/
% vi /usr/share/applications/sublime_text.desktop
Name=Sublime Text 2
To install Solarized color theme for LS_COLORS:
wget --no-check-certificate https://raw.github.com/seebi/dircolors-solarized/master/dircolors.ansi-dark mv dircolors.ansi-dark .dircolors eval `dircolors ~/.dircolors`
To make it persistent you can add the above line to your
To setup Solarized for GNOME Terminal:
git clone https://github.com/sigurdga/gnome-terminal-colors-solarized.git cd gnome-terminal-colors-solarized And now you can set it to light or dark using the following commands: ./set_dark.sh ./set_light.sh
I’ve been using Elementary for few days now, I find it even better then Mac OSX. I’m now using it fulltime now :). So I encourage you to test it, You’ll find the iso on their site.