GNOME Shell

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
GNOME Shell
GNOME Shell.png
GNOME Shell 3.16 in overview mode
Developer(s) The GNOME Project
Initial release April 6, 2011; 13 years ago (2011-04-06)
Stable release 3.18 (September 23, 2015; 8 years ago (2015-09-23)[1]) [±]
Preview release 3.19.3 (December 16, 2015; 8 years ago (2015-12-16)) [±][2]
Development status Active
Written in JavaScript and C[3]
Operating system Unix-like
Available in 75 languages[4]
<templatestyles src="Template:Hidden begin/styles.css"/>
List of languages
Afrikaans, Arabic, Aragonese, Assamese, Asturian, Basque, Belarusian, Bengali, Bosnian, Brazilian Portuguese, British English, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, Esperanto, Estonian, Finnish, French, Friulian, Galician, German, Greek, Gujarati, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Interlingua, Irish, Italian, Japanese, Kannada, Kazakh, Khmer, Kirghiz, Korean, Kurdish, Latvian, Lithuanian, Macedonian, Malay, Malayalam, Marathi, Nepali, Norwegian Bokmål, Norwegian Nynorsk, Occitan, Oriya, Persian, Polish, Portuguese, Punjabi, Romanian, Russian, Scottish Gaelic, Serbian, Serbian Latin, Sinhala, Slovak, Slovenian, Spanish, Swedish, Tajik, Tamil, Telugu, Thai, Turkish, Uighur, Ukrainian, Uzbek (Cyrillic), Vietnamese
Type
License GPL
Website wiki.gnome.org/Projects/GnomeShell

GNOME Shell is the graphical shell of the GNOME desktop environment starting with version 3,[5] which was released on April 6, 2011. It provides basic functionality like launching applications, switching between windows and is also a widget engine. GNOME Shell replaced GNOME Panel[6] and some ancillary components in GNOME 2.

GNOME Shell is written in C and JavaScript as a plugin for Mutter.

In contrast to the KDE Plasma Workspaces, a software framework intended to facilitate the creation of multiple graphical shells for different devices, the GNOME Shell is intended to be used on desktop computers with large screens operated via keyboard and mouse, as well as portable computers with smaller screens operated via their keyboard, touchpad or touchscreen.

Design

As graphical shell (graphical front-end/graphical shell/UX/UI) of the GNOME desktop environment, its design is guided by the GNOME UX Design Team.[7]

Design components

GNOME Shell.pngActivities buttonDashSearch barNotification areaStatus menuWorkspace listIndicators tray
GNOME Shell Overview mode
1 white, red rounded rectangle.svg Activities button
2 white, red rounded rectangle.svg Dash
3 white, red rounded rectangle.svg Search bar
4 white, red rounded rectangle.svg Notification area
5 white, red rounded rectangle.svg Status menu
6 white, red rounded rectangle.svg Workspace list
7 white, red rounded rectangle.svg Indicators tray

The GNOME Shell comprises following graphical and functional elements:[8]

  • Top bar
  • System status area
  • Activities Overview
  • Dash
  • Window picker
  • Application picker
  • Search
  • Notifications and calendar tray
  • Application switcher
  • Indicators tray

Software architecture

GNOME Shell is tightly integrated with Mutter, a compositing window manager and Wayland compositor. It is based upon Clutter to provide visual effects and hardware acceleration[9] According to GNOME Shell maintainer[10] Owen Taylor, it is set up as a Mutter plugin largely written in JavaScript.[11] and uses GUI widgets provided by GTK+ version 3.

Features

Changes to the user interface (UI) include, but are not limited to:

  • Clutter and Mutter support multi-touch gestures.[12]
  • Support for HiDPI monitors.[13]
  • A new Activities overview, which houses:
    • A dock (called "Dash") for quickly switching between and launching applications
    • A window picker, similar to Mac OS X's Mission Control, also incorporating a workspace switcher/manager
    • An application picker
    • Search
  • "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.[14] GNOME 3.8 removed the fallback mode and replaced it with GNOME Shell extensions that offer a more traditional look and feel.[15]

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.[16]

Gallery

Adoption

  • The Linux distribution Fedora uses GNOME Shell by default since release 15.[17]
  • Ubuntu doesn't use GNOME Shell by default, but users are able to install it from the Ubuntu repositories since version 11.10.[18] In addition, an Ubuntu Gnome Remix is released alongside Ubuntu 12.10.[19] An official GNOME edition of Ubuntu was released by Canonical Ltd. with Ubuntu 13.04 and it was named Ubuntu GNOME.[20]
  • The GNOME version of openSUSE 12.1 uses GNOME Shell by default.[21]
  • In 2011, Arch Linux dropped support of GNOME 2 in favor of GNOME 3 in its repositories.[22]
  • Mageia 2 and later include GNOME Shell.[23]
  • Debian Jessie makes GNOME 3.14 available. More recent versions of GNOME Shell are also available in Debian testing and sid (unstable).[24][25]
  • Sabayon Linux uses the latest version of GNOME Shell.

Reception

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

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.[26]

Reviews have generally become more positive over time, with upcoming releases addressing many of the annoyances reported by users.[27][28]

History

The first concepts for GNOME Shell were created during GNOME’s User Experience Hackfest 2008 in Boston.[29][30][31]

After criticism of the traditional GNOME desktop and accusations of stagnation and lacking vision,[32] the resulting discussion lead to the announcement of GNOME 3.0 in April 2009.[33] Since then Red Hat is the main driver of GNOME Shell’s development.[34]

Pre-release versions of GNOME Shell were first made available in August 2009[35] and became regular, non-default part of GNOME in version 2.28 in September 2009.[36] It was finally shipped as GNOME’s default user interface on 6 April 2011.[37][38]

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Lua error in package.lua at line 80: module 'strict' not found.
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. Lua error in package.lua at line 80: module 'strict' not found.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Lua error in package.lua at line 80: module 'strict' not found.
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. Lua error in package.lua at line 80: module 'strict' not found.
  28. Lua error in package.lua at line 80: module 'strict' not found.
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. Lua error in package.lua at line 80: module 'strict' not found.
  35. Lua error in package.lua at line 80: module 'strict' not found.
  36. Lua error in package.lua at line 80: module 'strict' not found.
  37. Lua error in package.lua at line 80: module 'strict' not found.
  38. Lua error in package.lua at line 80: module 'strict' not found.

External links