The first concepts for GNOME Shell were created during GNOME's User Experience Hackfest 2008 in Boston.[7][8][9]
After criticism of the traditional GNOME desktop and accusations of stagnation and lacking vision,[10] the resulting discussion led to the announcement of GNOME 3.0 in April 2009.[11] Since then Red Hat has been the main driver of GNOME Shell's development.[12]
Pre-release versions of GNOME Shell were first made available in August 2009[13] and became regular, non-default part of GNOME in version 2.28 in September 2009.[14] It was finally shipped as GNOME's default user interface on April 6, 2011.[15][16]
A dock (called "Dash") for quickly switching between and launching applications
A window picker, similar to macOS's Mission Control, also incorporating a workspace switcher/manager
An application picker which allows for reordering application icons and creating application groups.
A search bar which handles launching applications, searching for files, and performing web searches.
"Snapping" windows to screen borders to make them fill up a half of the screen or the whole screen
A single window button by default, Close, instead of three (configurable). Minimization has been removed due to the lack of a panel to minimize to, in favor of workspace window management. Maximization can be accomplished using the afore-mentioned window snapping, or by double-clicking the window title bar.
A fallback mode is offered in versions 3.0–3.6 for those without hardware acceleration which offers the GNOME Panel desktop. This mode can also be toggled through the System Settings menu.[25] GNOME 3.8 removed the fallback mode and replaced it with GNOME Shell extensions that offer a more traditional look and feel.[26]
Extensibility
The functionality of GNOME Shell can be changed with extensions, which can be written in JavaScript. Users can find and install extensions using the GNOME extensions website. Some of these extensions are hosted in GNOME's git repository, though they are not official.[27]
Fedora Linux uses GNOME Shell by default since release 15, May 2011.[29]
Sabayon Linux uses the latest version of GNOME Shell.
openSUSE's GNOME edition has used GNOME Shell since version 12.1 in November 2011.[30]
Mageia 2 and later include GNOME Shell, since May 2012.[31]
Debian 8 and later features GNOME Shell in the default desktop, since April 2015.[32][33]
Solaris 11.4 replaced GNOME 2 with GNOME Shell in August 2018.[34][35]
Ubuntu uses GNOME Shell by default since 17.10, October 2017, after Canonical ceased development of Unity.[36] It has been available for installation in the repositories since version 11.10.[37] An alternative flavor, Ubuntu GNOME, was released alongside Ubuntu 12.10,[38] and gained official flavor status by Ubuntu 13.04.[39]
GNOME Shell has received mixed reviews: it has been criticized for a variety of reasons, mostly related to design decisions and reduced user control over the environment. For example, users in the free software community have raised concerns that the planned tight integration with Mutter will mean that users of GNOME Shell will not be able to switch to an alternative window manager without breaking their desktop. In particular, users might not be able to use Compiz with GNOME Shell while retaining access to the same types of features that older versions of GNOME allowed.[40]
Reviews have generally become more positive over time, with upcoming releases addressing many of the annoyances reported by users.[41][42]
^Matthew Garrett (mjg59) wrote, October 26, 2010 18:39:00 (October 26, 2010). "mjg59: Fun facts". Mjg59.livejournal.com. Archived from the original on May 5, 2012. Retrieved March 12, 2013.{{cite web}}: CS1 maint: multiple names: authors list (link) CS1 maint: numeric names: authors list (link)
^"ftp.gnome.org". Ftp.accum.se. Archived from the original on December 17, 2022. Retrieved March 12, 2013.
^Taylor, Owen (March 23, 2009), "Metacity, Mutter, GNOME Shell, GNOME-2.28", desktop-devel-list mailing list, archived from the original on March 16, 2012, retrieved August 18, 2012, gnome-shell is set up as a Mutter plugin that is largely written in JavaScript