<<

2009 environments Submitted By Prasham Trivedi (6044) As a partial fulfillment of the course of B.E.I.T.

SHANTILAL SHAH ENGINEERING COLLEGE

CERTIFICATE This is to certify that below mentioned student

Mr. Prasham H Trivedi(Roll No. 6040)

of semester 8th , course B.E.I.T. , have successfully and satisfactorily completed his Seminar report on

“ Linux

in subject Seminar report and produced this report of year 2009 and submitted to S.S.E.tag">C., BHAVNAGAR.

DATE OF SUBMISSION: ------

STAFF IN CHARGE: HEAD OF DEPARTMENT:

PRINCIPAL:

Table of Contents Desktop Environments Introduction…………………………………………………………………………………………… ………3 GNOME 13 KDE………………………………………………………………………………………………………… …………………………………………52

The Battle: Gnome vs. KDE……. ……………………………………………………………………………………………………….…89

XFCE: The Underdog………………………………………………………………………………………………… ……………………….90

Conclusion And Bibliography…………………………………………………………………………………………… ……………….93 1. Desktop environment introduction

In graphical , a desktop environment (DE) commonly refers to a style of graphical (GUI) that is based on the which can be seen on most modern personal today. Desktop environments are the most popular alternative to the older command- interface (CLI) which today is generally limited in use to professionals. A desktop environment typically consists of icons, windows, , folders, wallpapers, and desktop widgets. which provides a desktop environment might also provide functionality and other features which make the desktop metaphor more complete. On the whole, a desktop environment is to be an intuitive way for the user to interact with the computer using concepts which are similar to those used when interacting with the physical world, such as buttons and windows. -Source

The term desktop environment did not originally refer to software, and was adopted as a way to describe a particular style of user interface provided by that software. Desktop environment therefore is first and foremost describing the style of a user interface, in that it is like a desktop. However a program, or set of programs which simulate a desktop environment may sometimes themselves be referred to as a desktop environment, with a desktop environment being considered either a manager, or a suite of programs which includes a . There is some disagreement on precisely what constitutes a desktop environment, and how one distinguishes one from a window manager. While historically, and even logically, this may seem incorrect as a suite of applications are obviously not required to provide desktop metaphor, suites such as the The K Desktop Environment have popularized this usage, and may provide a more complete desktop environment consisting of a number of supporting programs, configuration tools, and in the case of KDE a large number of other applications such as office and , and games. A more correct term for application suites like KDE might be something more along the lines of a desktop manager. However, for the moment, the term desktop environment in relation to computer science refers both to a type of user interface, and to a lesser a particular class of window manager.

X Window System Figure 1 and applications common to the MIT X Consortium's distribution running under thetwm window manager: , Xbiff, xload and a graphical manual pagebrowser.

The X Window System (commonly X or X11) is a computer software system and network protocol that provides a graphical user interface (GUI) for networked computers. It implements the X display protocol and provides windowing on (bitmap) computer displays and manages keyboard and pointing device control functions. In its standard distribution, it is a complete, albeit simple, display and human interface solution, but also delivers a standard toolkit and protocol stack for building graphical user interfaces on most -like operating systems andOpenVMS, and has been ported to many other contemporary general purpose operating systems. All modern GUIs, such as GNOME, KDE, andXfce, developed for Linux and other UNIX-like systems use the X Window System as a foundation. X provides the framework, or primitives, for building such GUI environments: drawing and moving windows on the screen and interacting with a mouse and/or keyboard. X does not mandate the user interface — individual programs this. As such, the visual styling of X-based environments varies greatly; different programs may present radically different interfaces. X is built as an additional application layer on top of the kernel. Unlike previous display protocols, X was specifically designed to be used over network connections rather than on an integral or attached display device. X features network transparency: the machine where an application program (the client application) runs can differ from the user's local machine (the display server ). X originated at MIT in 1984. The current protocol version, X11, appeared in September 1987. The X.Org Foundation leads the X project, with the current reference implementation, X.org Server, available as under the MIT Licenseand similar permissive licenses. Design

In this example, the X server takes input from a keyboard and mouse and displays to a screen. A and a run on the user's workstation, and a system updater runs on a remote server but is controlled from the user's machine. Note that the remote application runs just as it would locally. X uses a client-server model: an X server communicates with various client programs. The server accepts requests for graphical output (windows) and sends back user input (from keyboard, mouse, or ). The server may function as: • an application displaying to a window of another display system • a system program controlling the video output of a PC • a dedicated piece of hardware. This client-server terminology — the user's terminal as the "server", the remote or local applications as the "clients" — often confuses new X users, because the terms appear reversed. But X takes the perspective of the program, rather than that of the end-user or of the hardware: the local X display provides display services to programs, so it acts as a server; any remote program uses these services, thus it acts as a client. The communication protocol between server and client operates network-transparently: the client and server may run on the same machine or on different ones, possibly with different architectures and operating systems, but they run the same in either case. A client and server can even communicate securely over the Internet by tunneling the connection over an encrypted network session. An X client itself may contain an X server having display of multiple clients. This is known as "X nesting". -source clients such as Xnestand support such X nesting. To use a client program on a remote machine, the user does the following: • On the local machine, open a terminal window • use or ssh to connect to the remote machine • request local display/input service ( export DISPLAY=[user's machine]:0 ) The remote X client will then make a connection to the user's local X server, providing display and input to the user. Alternatively, the local machine may run a small program that connects to the remote machine and starts the client application. Practical examples of remote clients include: • administering a remote machine graphically • running a computationally intensive simulation on a remote Unix machine and displaying the results on a local Windows desktop machine • running graphical software on several machines at once, controlled by a single display, keyboard and mouse. X is primarily a protocol and graphics primitives definition and it deliberately contains no specification for application user interface design, such as , menu, or window title bar styles. Instead, – such as window managers, GUI widget toolkits and desktop environments, or application-specific graphical user interfaces - define and provide such details. As a result, there is no typical X interface and several desktop environments have been popular among users. A window manager controls the placement and appearance of application windows. This may have an interface akin to that of Windows or of the (examples include in GNOME, KWin in KDE or Xfwm in ) or have radically different controls (such as a , like wmii or ). The window manager may be bare-bones (e.g. , the basic window manager supplied with X, or evilwm, an extremely light window manager) or offer functionality verging on that of a full desktop environment (e.g. ). Many users use X with a full desktop environment, which includes a window manager, various applications and a consistent interface. GNOME,KDE and Xfce are the most popular desktop environments. The Unix standard environment is the Common Desktop Environment (CDE). Thefreedesktop.org initiative addresses interoperability between desktops and the components needed for a competitive X desktop. As X is responsible for keyboard and mouse interaction with graphical desktops, certain keyboard shortcuts have become associated with X. Control-Alt-Backspace typically terminates the currently running X session, while Control-Alt in conjunction with a function key switches to the associated . Note, however, that this is an implementation detail left to an individual X server and is by no means universal; for example, X server implementations for Windows and Macintosh typically do not provide these shortcuts. Implementations The X.Org reference implementation serves as the implementation of X. Due to liberal licensing, a number of variations, both free andproprietary, have appeared. Commercial UNIX vendors have tended to take the reference implementation and adapt it for their hardware, usually customising it heavily and adding proprietary extensions.

Figure 2 /X running rootless on XP. The screen shows X applications (xeyes, xclock, ) sharing the screen with native Windows applications (Date and Time, Calculator).

Up to 2004, XFree86 provided the most common X variant on free Unix-like systems. XFree86 started as a port of X for 386-compatible PCs and, by the end of the 1990s, had become the greatest source of technical innovation in X and the of X development. Since 2004, however, theX.Org reference implementation, a fork of XFree86, has become predominant. While it is common to associate X with Unix, X servers also exist natively within other graphical environments. Hewlett- Packard's OpenVMS operating system includes a version of X with CDE, known as DECwindows, as its standard desktop environment. Apple's Mac OS X v10.3 (Panther) andMac OS X v10.4 (Tiger) includes X11.app, based on XFree86 4.3 and X11R6.6, with better Mac OS Xintegration, on Mac OS X v10.5 (Leopard) Apple included X.org (X11R7.2 Codebase) instead of XFree86 (X11R6.8). Third-party servers under Mac OS 7, 8 and 9 included White Software'seXodus and Apple's MacX. Microsoft Windows does not come with support for X, but many third- party implementations exist, both free software such as Cygwin/X, and WeirdX; and proprietary products such asXmanager, MKS X/Server, Exceed and X-Win32. They normally serve to control remote X clients. When another (such as those of Microsoft Windows or Mac OS) X, the X system generally runs "rootless", meaning the host windowing environment looks after the root window (the background and associated menus) and manages the geometry of the hosted X windows — although some servers (Xmanager, and Exceed, for example) can also create the root window for the remote clients to display to as a separate window in the host system. X terminal

In computing, an X terminal is a display/input terminal for X Window System client applications. X terminals enjoyed a period of popularity in the early 1990s when they offered a lower total cost of ownership alternative to a full Unix workstation. An X terminal runs an X server. (In X, the usage of "client" and "server" is from the viewpoint of the programs: the X server supplies a screen, keyboard, mouse and touchscreen to client applications.) This connects to an (introduced in X11R3) running on a central machine, using XDMCP (X Display Manager Control Protocol, introduced in X11R4). Thin clients have somewhat supplanted X terminals in that they are 'fattened' with added flash memory which contains software that duplicates much of the various Microsoft operating systems, thus acquiring the ability to "speak" a range of remote desktop protocols. Due to the existence of free software implementations of multiple protocols X terminals which do not have this extra flash memory have been commercially obsoleted by more general-purpose thin clients and by low cost PCs running an X server.

Limitations and criticisms of X

Limitations and criticisms of X The UNIX-HATERS Handbook (1994) devoted an entire chapter to the problems of X. Why X Is Not Our Ideal Window System (1990) by Gajewska, Manasse and McCormack detailed problems in the protocol with recommendations for improvement. User interface issues The lack of design guidelines in X has resulted in several vastly different interfaces, and in applications that have not always worked well together. The ICCCM, a specification for client interoperability, has a reputation as being difficult to implement correctly. Further standards efforts such as and CDE did not alleviate problems. This has frustrated users and . Graphics programmers now generally address consistency of application and communication by coding to a specific desktop environment or to a specific , which also avoids having to deal directly with the ICCCM. The X protocol provides no facilities for handling audio, leaving it to the operating system or its audio subsystems like OSS or ALSA to provide support for audio hardware and sound playback. Most programmers simply use local, OS-specific sound . The first generation of client-server sound systems included rplay and Network Audio System. More recent efforts have produced EsounD (GNOME), aRts (KDE), andPulseAudio to name a few. In 2001, the X.org foundation announced the development of the Media Application Server (MAS) to remedy this problem. However, none of these are generally used as a solution to the problem. Another effort, X11 AUDIO, was announced by Helge Bahmann in September 2007 as an extension to the X server. Network Figure 3 Example of tunnelling an X11 application over SSH.

An X client cannot generally be detached from one server and reattached to another, as with Virtual Network Computing (VNC), though certain specific applications and toolkits are able to provide this facility. Workarounds (VNC :0 viewers) also exist to make the current X- server screen available via VNC. Network traffic between an X server and remote X clients is not encrypted by default. An attacker with a packet sniffer can intercept it, making it possible to view anything displayed to or sent from the user's screen. The most common way to encrypt X traffic is to establish a Secure (SSH) tunnel for communication.

Client-server separation X's design requires the clients and server to operate separately, and device independence and the separation of client and server incur overhead. Most of the overhead comes from network round-trip delay time between client and server (latency rather than from the protocol itself): the best solutions to performance issues depend on efficient application design. A common criticism of X is that its network features result in excessive complexity and decreased performance if only used locally. That used to be the case, but modern X implementations are able to use unix domain sockets and shared memory (the MIT-SHM extension) to work around the network overhead[citation needed]. The must still explicitly activate and use those extensions in order to improve performance and must also provide fallback paths in order to stay compatible with older implementations.

Competitors to X

For graphics, Unix-like systems use X almost universally. However, some people have attempted writing alternatives to and replacements for X. Historical alternatives include Sun's , which failed in the market, and NeXT's Display PostScript, which was discarded in favor of Apple's entirely new in Mac OS X . Mike Paquette, one of the authors of Quartz, explained why Apple did not move from Display PostScript to X, and chose instead to develop its own window server, by saying that once Apple added support for all the features it wanted to include in to X11, it would not bear much resemblance to X11 nor be compatible with other servers anyway. Other attempts to address criticisms of X by replacing it completely include Berlin/ and the Y Window System. These alternatives have seen negligible take-up, however, and commentators widely doubt the viability of any replacement that does not preserve backward compatibility with X. Other competitors attempt to avoid the overhead of X by working directly with the hardware. Such projects include DirectFB and the very smallFBUI. The Direct Rendering Infrastructure (DRI), which aims to provide a reliable kernel-level interface to the , may make these efforts redundant. However, in Linux embedded systems requiring real-time capabilities (e.g. using RTAI), the use of hardware acceleration via DRI is discouraged; X may be unsuitable for such applications. Other ways to achieve network transparency for graphical services include: • the SVG Terminal, a protocol to update (SVG) content in a browser in near-real-time • Virtual Network Computing (VNC), a very low-level system which sends compressed bitmaps across the network; the Unix implementation includes an X server • Citrix XenApp , an X-like product for Microsoft Windows • Tarantella , which provides a client for use in web browsers • RAWT, IBM's Java-only Remote AWT, which implements a Java "server" and simple hooks for any remote Java client

Desktop Environments

The most common desktop environment on personal computers is the one provided by Microsoft Windows; another common environment is the one provided by Apple Mac OS X. Other mainstream desktop environments for Unix-like operating systems using the X Window System include KDE, GNOME, Xfce and CDE. A number of other desktop environments also exist, including (but not limited to): Aston, EDE, GEM, IRIX Interactive Desktop, Sun's , Jesktop, Mezzo, , ROX Desktop, UDE, Xito, XFast. X window managers that are meant to be usable stand-alone — without another desktop environment — also include elements reminiscent of those found in typical desktop environments, most prominently Enlightenment. Other examples include and AfterStep, which both feature the Nextstep GUI look and feel. The approach to desktop environment was noteworthy; the original Workbench desktop environment in AmigaOS evolved through time to originate an entire family of descendants and alternative desktop solutions. Some of those descendants are the AmigaOS 4.0 Workbench based on the ReAction_GUI object oriented GUI engine, the Ambient desktop of MorphOS based on the MUI (Magical User Interface) object- oriented GUI engine, the third-party desktop environment for Amiga, the graphical environment of the AROS open source OS, and the Feelinthird party programming environment which has its internal GUI engine built on the XML markup language. Third party software which was originally just a navigational program then evolved to became to a complete Amiga desktop replacement called DirOpus "Magellan". There is the that runs on IBM OS/2 or eComStation. The BumpTop project is an experimental desktop environment. Its main objective is to replace the 2D paradigm with a "real world" 3D implementation, where documents can be freely manipulated across a virtual table.

.GNOME Environment

The name “GNOME” was proposed as an acronym of GNU Network Object Model Environment. GNOME is... Free GNOME is Free Software and part of the GNU project, dedicated to giving users and developers the ultimate level of control over their desktops, their software, and their data. Find out more about the GNU project and Free Software at .org. Usable GNOME understands that usability is about creating software that is easy for everyone to use, not about piling on features. GNOME's community of professional and volunteer usability experts have created Free Software's first and only Human Interface Guidelines, and all core GNOME software is adopting these principles. Find out more about GNOME and usability at the GNOME Usability Project. Accessible Free Software is about enabling software freedom for everyone, including users and developers with disabilities. GNOME's Accessibility framework is the result of several years of effort, and makes GNOME the most accessible desktop for any Unix platform. Find out more at theGNOME Accessibility Project. International GNOME is used, developed and documented in dozens of languages, and we strive to ensure that every piece of GNOME software can be translated into all languages. Find out more at the GNOME Translation Project. Developer-friendly Developers are not tied to a single language with GNOME. You can use C, C++, Python, , Java, even C#, to produce high-quality applications that integrate smoothly into the rest of your Unix or GNU/Linux (commonly referred to as Linux) desktop. Organized GNOME strives to be an organized community, with a foundation of several hundred members, usability, accessibility, and QA teams, and an elected board. GNOME releases are defined by the GNOME Release Team and are scheduled to occur every six months. Supported Beyond the worldwide GNOME Community, GNOME is supported by the leading companies in GNU/Linux and Unix, including HP, IBM, Mandriva, , , and Sun. Find out more at foundation..org. A community Perhaps more than anything else, GNOME is a worldwide community of volunteers who hack, translate, design, QA, and generally have fun together. Find out more at GNOME Developer's site. -Source http://www.gnome.org/ History GNOME

In 1996, the KDE project was started. KDE was free software from the start, but members of the GNU project were concerned with KDE's dependence on the then non-free widget toolkit. In August 1997, two projects were started in response to this issue: the toolkit (a free replacement for the Qt libraries) and GNOME (a different desktop not using Qt, but built entirely on top of free software). The initial project leaders for GNOME were and Federico Mena. In place of the Qt toolkit, GTK+ was chosen as the base of the GNOME desktop. GTK+ uses the GNU Lesser General Public License (LGPL), a free that allows GPL-incompatible software (including ) to link to it. The GNOME desktop itself is licensed under the LGPL for its libraries, and the GPL for applications that are part of the GNOME project. Having the toolkit and libraries under the LGPL allows applications written for GNOME to use a much wider set of licenses (including proprietary software licenses). In 1998, Qt became open source. While Qt is dual-licensed under both the QPL and the GPL, the freedom to link proprietary software with GTK+ at no charge makes it differ from Qt. However proponents of the free software philosophy deem the LGPL a disadvantage for free softwaredevelopers. Using the ordinary GPL for a gives free software developers an advantage over proprietary developers: a library that they can use, while proprietary developers cannot use it. With Qt licensed under the GPL, the Harmony Project stopped its efforts at the end of 2000, as KDE did not depend on non- free software anymore. In contrast, as of 2009, the development of GNOME did not stop. Look and feel

Figure 4 The GNOME Desktop

GNOME is designed around the traditional computing desktop metaphor. Its handling of windows, applications and files is similar to that of contemporary desktop operating systems. In its default configuration, the desktop has a launcher menu for quick access to installed programs and file locations; open windows may be accessed by a along the bottom of the screen and the top-right corner features a notification area for programs to display notices while running in the background. However these features can be moved to almost anywhere the user desires, replaced with other functions or removed altogether. GNOME uses Metacity as its default window manager. Users can change the appearance of their desktop through the use of themes, which are sets consisting of an set, window manager border and GTK+ engine and parameters. Popular GTK+ themes include andClearlooks (the current default theme). GNOME puts emphasis on being easy for everyone to use. The HIG helps guide developers in producing applications which look and behave similarly, in order to provide a cohesive GNOME interface. Usability Since GNOME v2.0, a key of the project has been usability. As a part of this, the GNOME Human Interface Guidelines (HIG) were created, which is an extensive guide for creating quality, consistent and usable GUI programs, covering everything from GUI design to recommended pixel-based layout of widgets. During the v2.0 rewrite, many settings were deemed to be of little or no value to the majority of users and were removed. For instance, the preferences section of the Panel were reduced from a of six tabs to one with two tabs. summarized the usability work in his 2002 essay "Free Software UI", emphasizing the idea that all preferences have a cost, and it's better to "unbreak the software" than to add a UI preference to do that: A traditional free software application is configurable so that it has the union of all features anyone's ever seen in any equivalent application on any other historical platform. Or even configurable to be the union of all applications that anyone's ever seen on any historical platform ( *cough*). Does this hurt anything? Yes it does. It turns out that preferences have a cost. Of course, some preferences also have important benefits - and can be crucial interface features. But each one has a price, and you have to carefully consider its value. Many users and developers don't this, and end up with a lot of cost and little value for their preferences dollar. Some people believe that GNOME should be more functional. One of these is , creator of the , who commented in a usability-related discussion on the GNOME usability mailing list: This "users are idiots, and are confused by functionality" mentality of Gnome is a disease. If you think your users are idiots, only idiots will use it. I don't use Gnome, because in striving to be simple, it has long since reached the point where it simply doesn't do what I need it to do. Please, just tell people to use KDE. —Linus Torvalds

GNOME Applications -Basic Tools 1

File Manager: Nautilus

Figure 5 of Nautilus 2.22.1 in Spatial

Nautilus is the official file manager for the GNOME desktop. The name is a play on words, evoking the shell of a nautilus to represent anoperating system shell. Nautilus replaced in GNOME 1.4 and was the default from version 2.0 onwards. Nautilus was the flagship product of the now-defunct Inc. Released under the GNU Lesser General Public License, Nautilus is free software. History Version 1.0 was released on March 13, 2001, and incorporated into GNOME 1.4. Version 2.0 was a port to GTK+ 2.0. Version 2.2 saw a lot of changes to make it more compliant with User Interface Guidelines. Version 2.4 switched the desktop folder to ~/Desktop (the ~ represents the user's "Home" folder) to be compliant with freedesktop.orgstandards. In the version included with GNOME 2.6, Nautilus switched to a spatial interface. The "classic" interface is still available by a filing cabinetshaped icon, by an option in the "Edit -> Preferences -> Behavior" menu in Nautilus, in a folder's menu, and by using the "--browser" switch when started by a command via a launcher or shell. Several Linux distributions have made "browser" mode the default. GNOME 2.14 introduced a version of Nautilus with improved searching, integrated optional support and the ability to save searches asvirtual folders. With the release of GNOME 2.22, Nautilus has been ported to the newly introduced GVFS, the replacement virtual for the agingGnomeVFS. The latest stable release of Nautilus (2.24.0) adds some new features (tabbed browsing, better completion etc.). Features Nautilus supports browsing local filesystems as well as filesystems available through the GVFS system, including FTP sites, Windows SMBshares, ObexFTP protocol often implemented on cellphones, Files transferred over shell protocol, HTTP and WebDAV servers and SFTPservers. Bookmarks, window backgrounds, emblems, notes, and add-on scripts are all implemented, and the user has the choice between icon, list, or compact list views. In browser mode, Nautilus keeps a history of visited folders, similar to many web browsers, permitting easy access to previously visited folders. Nautilus can display previews of files in their icons, be they text files, images, sound or video files via thumbnailers such as Totem. Audio files are previewed (played back over GStreamer) when the pointer is hovering over them. For its own interface, Nautilus includes original vectorized icons designed by . With the use of the GIO library, Nautilus tracks modification of local files in real time, eliminating the need to refresh the display manually. GIO internally supports and FAM, Linux's , and Solaris' File Events Notification system. E- client: Evaluation Figure 6 Screen shot of evaluation

Evolution or Novell Evolution (formerly Evolution, prior to Novell's 2003 acquisition of Ximian) is the official personal information manager and workgroup information management tool for GNOME. It combines e-mail, calendar, address , and task list management functions. It has been an official part of GNOME since version 2.8 in September 2004. Evolution development is sponsored primarily by Novell. Its user interface and functionality are similar to . Features include: iCalendar support, full-text indexing of all incoming mail, powerful filters writable in Scheme, and a "Search Folders" feature (i.e., saved searches that look like normal mail folders). Evolution can be connected to a Microsoft Exchange Server using its web interface and an Evolution add-on formerly called Ximian Connector. Using gnome-pilot, it may be synchronized with Palm Pilot devices, and OpenSync enables it to be synchronized with mobile phones and otherPDAs. Licensed under the terms of the GNU General Public License, Evolution is Free software . Evolution 2 Evolution 2, which has been available since September 2004, delivers these features: integrated connectivity to Novell GroupWise integrated connectivity to Microsoft Exchange Server integrated support for GPG email encryption improved offline support for IMAP accounts numerous calendar improvements support for S/MIME, enhanced contact management integration improved desktop integration. improved compliance with GNOME's Human interface guidelines integrated SpamAssassin functionality (with user-defined spam score and whitelist rules in ~/.spamassassin/) a connector for is available

Distribution Evolution 2.22 was released on 2008-03-11, together with GNOME 2.22 (March 2008). GNOME is the default desktop environment for several Linux distributions, most notably , Fedora and . Foresight Linux showcases the latest releases of GNOME. Novell distributes Evolution with SUSE Linux Enterprise Desktop 10 and the openSUSE community project. Evolution 2.22 is also available as . Some pre-built install packages are available for other operating systems, but only for older versions.

X Window Manager : Metacity Figure 7 metacity enabled desktop

Metacity is a compositing window manager used by default in the GNOME desktop environment. The development of Metacity was started by Havoc Pennington and it is released under the GNU General Public License. Before the introduction of Metacity in GNOME 2.2, GNOME used Enlightenment and then as its window manager. Although Metacity is part of the GNOME project and designed to integrate into the GNOME desktop, it does not require GNOME to run, and GNOME can be used with different window managers provided that they support the part of the ICCCM specification that GNOME requires. Metacity uses the GTK+ toolkit to create its user interface components, which makes it themeable and makes it blend in with other GTK+ applications.

Philosophy Metacity's focus is on simplicity and usability rather than novelties or gimmicks. Its author has characterized it as a "Boring window manager for the adult in you. Many window managers are like Marshmallow Froot Loops; Metacity is likeCheerios.". What is Metacity’s role in GNOME Shell? GNOME Shell uses a fork of Metacity called (i.e. Metacity with ). Whether this will become the main Metacity in future, or whether the two will be developed in parallel, or whether it’ll be merged back upstream and have some way of controlling which control is taken, is not yet decided.

Widget Toolkit: GTK+ GTK+, or The GIMP Toolkit, is a cross-platform widget toolkit for creating graphical user interfaces. It is one of the most popular toolkits for theX Window System, along with Qt. GTK+ was initially created for the GNU Image Manipulation Program (GIMP), a , in 1997 by Spencer Kimball and Peter Mattis, members of eXperimental Computing Facility (XCF) at UC Berkeley. Licensed under the LGPL, GTK+ is free software and is part of the GNU Project. Design GTK+ is written in the C , and its design uses the GObject object system. The GNOME platform provides language bindingsfor: C++ () Perl (Gtk2-perl) Ruby (ruby-gtk2) Python (PyGTK) Java (java-gnome) (not available for Microsoft Windows) C# (Gtk#) PHP (PHP-GTK) Others have written bindings for many other programming languages (including Ada, , Haskell, Lua, Ocaml, Pascal, Pike, Javascript, ,Euphoria and all .NET programming languages). GTK-server provides a stream-based IPC interface to GTK+ allowing it to be used from any language with I/O capabilities, including shell scripts. Bindings for many languages can be generated automatically via GObject-introspection. Languages purpose-written for GObject and therefore GTK+ include Vala and GOB. Like Qt, but unlike several other widget toolkits, GTK+ is not based on Xt. This allows flexibility and allows GTK+ to be used on platforms where the X Window System is unavailable. However, without this dependency, GTK+ lacks access to the X resources , the traditional way for customizing X11 applications. GTK+ initially contained some utility routines that did not strictly relate to graphics, for instance providing such data structures as linked lists andbinary trees. Such general utilities, along with the object system called GObject, have now migrated into a separate library, GLib, which programmers can use to develop code that does not require a graphical interface. Platforms GTK+ was originally targeted at the X Window System, and this remains its primary target platform. Other targeted platforms are Microsoft Windows (Windows 2000 and upwards, near complete support), DirectFB, and Quartz (Mac OS X v10.4 and upwards, still under development). Look and feel The end-user can configure the look of the toolkit, down to offering a number of different display engines. Engines exist which try to emulate the look of other popular toolkits or platforms such as , Motif, Qt and NEXTSTEP. History GTK+ 2 has succeeded GTK+ 1. Its new features include improved text rendering using , a new theme engine, improved accessibility using the , complete transition to using UTF-8 strings and a more flexible API. However, GTK+ 2 lacks compatibility with GTK+ 1, and programmers must port applications to it. Starting with version 2.8, GTK+ 2 depends on the library for rendering with vector graphics in GTK+ 2. Releases Release Latest minor Initial release date Major enhancements series version 1.0.x ? ? 1.0.? 1.2.x 27 February 1999 ? 1.2.10 GObject, Unicode UTF-8 2.0.x 11 March 2002 2.0.9 support 2.2.x 22 December 2002 ? 2.2.4 2.4.x 16 March 2004 ? 2.4.14 2.6.x 16 December 2004 ? 2.6.10 2.8.x 13 August 2005 Cairo integration 2.8.20 2.10.x 3 July 2006 ? 2.10.14 14 2.12.x GtkBuilder 2.12.12 September 2007 4 Jpeg2000 load 2.14.x 2.14.7 September 2008 support Future developments Project Ridley is an attempt to consolidate several libraries that are currently external to GTK+, including: libgnome, libgnomeui, libgnomeprint22, libgnomeprintui22, libglade, libgnomecanvas, libegg, libeel and gtkglext. Developers are also considering new directions for the library, including breaking ABI, removing deprecated API components, and adding an integrated scene graph system, similar to the Clutter , effectively integrating GTK+ with OpenGL. GTK hello world GTK hello world in Linux #include

#include

/* * the main loop. */ static void on_destroy (GtkWidget * widget, gpointer data) { gtk_main_quit (); } int main (int argc, char *argv[]) { GtkWidget *window; GtkWidget *label;

gtk_init (&argc, &argv);

/* create the main, top level, window */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

/* give the window a 20px wide border */ gtk_container_set_border_width (GTK_CONTAINER (window), 20);

/* give it the title */ gtk_window_set_title (GTK_WINDOW (window), PACKAGE " " VERSION);

/* open it a bit wider so that both the label and title show up */ gtk_window_set_default_size (GTK_WINDOW (window), 200, 50);

/* load the icon for the window; here we just load one, default icon */ gtk_window_set_default_icon_from_file (PIXMAPS_DIR "/hello-icon.", NULL); /* Connect the destroy event of the window with our on_destroy function * When the window is about to be destroyed we get a notificaiton and * stop the main GTK loop */ g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (on_destroy), NULL);

/* Create the "Hello, World" label */ label = gtk_label_new ("Hello, World");

/* and insert it into the main window */ gtk_container_add (GTK_CONTAINER (window), label);

/* make sure that everything, window and label, are visible */ gtk_widget_show_all (window);

/* start the main loop */ gtk_main ();

return 0; }

Uses

Figure 8 Screenshot of GIMP 2.0. GTK+ is responsible for managing the interface components of the program, including the menus, buttons, input fields, etc.

Environments that use GTK+ GNOME is based on GTK+, meaning that GNOME programs use GTK+ Xfce is based on GTK+, though its applications typically do not depend on as many libraries (this is the difference between something being branded as a “GNOME program” or as a “GTK+ program”). LXDE is based on GTK+, stands for "Lightweight X11 Desktop Environment" ROX Desktop a lightweight desktop, with features from the GUI of RISC OS GNOME Applications- Basic Tools 2

Terminal Emulator: Gnome Terminal GNOME terminal, also identified as gnome-terminal, is a written by Havoc Pennington and others. It is part of the free software GNOME desktop environment software suite. This allows users of GNOME to execute commands using a real whilst still remaining on their graphical desktop. Along with this comes the benefits of being able to move the window, resize it and shift it to another desktop, just like any other window in GNOME. GNOME Terminal is similar to the xterm terminal emulator, and has a nearly identical feature set. Some of the more important features of the two include their support for coloured text (the output of a command such as ls -- color=auto shows the use of this feature well), and support for mouse events within the window. Mouse events are commonly used within based applications for using menus or buttons that normally would have been selected using the keyboard. The application makes use of this feature. GNOME Terminal emulates many, but not all, of the escape sequences supported by xterm, and provides a useful subset of the VT102 DEC terminal. Newer versions support compositing and real transparency, as well as multiple tabs. It also supports URL detection (i.e., making visible in the terminal clickable, and thus simpler to open in a web browser, ftp- or mail client than via copy-pasting). Much of GNOME Terminal's functionality is provided by the VTE widget.

Text Editor : G Edit is a free software, UTF-8 compatible for the GNOME desktop environment. It is mainly designed for editing program code, and structured text, such as markup languages. It is designed to have a clean, simple graphical user interface according to the philosophy of the GNOME project, and it is the default text editor for GNOME.

Features gedit includes for various program code and text markup formats. gedit also has GUI tabs for editing multiple files. Tabs can be moved between various windows by the user. It can edit remote files using GVFS (GnomeVFS is now deprecated) libraries. It supports a full undo and redo system as well as search and replace. Other typical code oriented features include line numbering, bracket matching, text wrapping, current line highlighting, automatic indentation and automatic file backup. Some advanced features of gedit include multilanguage spellchecking and a flexible pluginsystem allowing to dynamically add new features, for example snippets and integration with external applications including terminal. A number of plugins are included in gedit itself, with more plugins in the gedit-plugins package and online. gedit has an optional side pane displaying the list of open files and (in a different tab of the side pane) a file browser. It also has an optional bottom pane with a Python console and (using gedit-plugins) terminal. gedit automatically detects when an open file is modified on disk by another application and offers to reload that file. Using a plugin (in gedit-plugins package), gedit can save and load sessions, which are lists of currently open tabs.[citation needed] gedit supports printing, including print and printing to PostScript and PDF files. Printing options include text font, and page size, orientation, margins, optional printing of page headers and line , as well as syntax highlighting.[citation needed] Architecture Designed for the X Window System, gedit uses the GTK+ 2.0 and GNOME 2.0 libraries. The GNOME integration includes drag and dropbetween Nautilus, the GNOME file manager. gedit uses the GNOME help system for documentation. It also uses and GNOME printing framework. Currently, Windows and Mac versions are being built. GNOME Applications -Multimedia : Eye Of Gnome Eye of GNOME is the official image viewer for the GNOME desktop environment. Unlike some other image viewers, Eye of GNOME will only view images. It does, however, provide basic effects for improved viewing, such as zooming, fullscreen, rotation, and transparent image background control.

File formats Eye of GNOME supports the following file formats: ANI - Animation BMP - Windows Bitmap Graphics Interchange Format (GIF) ICO - Windows Icon JPEG - Joint Photographic Experts Group PCX - PC Paintbrush Portable Network Graphics (PNG) PNM - Portable Anymap from the PPM Toolkit RAS - Sun Raster Scalable Vector Graphics (SVG) TGA - Targa Tagged Image (TIFF) Wireless Application Protocol Bitmap Format (WBMP) X BitMap (XBM) X PixMap (XPM)

Some Screen shots of the Eye source: http://projects.gnome.org/eog/screenshots.html Eye of GNOME in action! Eye of GNOME's main window, showing a lovely hen.

The collection view, which allows you to browse your images. The properties dialog allows you to check the details of your image.

...And also the /XMP metadata of your images. With the print dialog, you can set the size and position of your image for printing.

Video player: Totem Totem is a media player (audio and video) for the GNOME computer desktop environment which runs on Linux, Solaris, BSD and other Unix and Unix-like systems. It is officially included in GNOME starting from version 2.10 (released in March 2005), but de facto it was already included in most GNOME environments. The default backend is GStreamer framework but Totem can also use libraries. Totem is included as the default media player in many desktop Linux distributions, includingUbuntu, and others. Release under the terms of the GNU Lesser General Public License, Totem is free software. Features There are two distinct versions of Totem, though the difference is not visible at the user interface level. One of them is based on GStreamer, which is a plugin-based multimedia framework. This version has superior extensibility and supports a larger variety of media formats. The other one is based on xine, which is a regular multimedia library. Currently it has better encrypted DVD playback support and can play some files the GStreamer version can't handle. An outstanding feature of Totem is its close integration with the GNOME desktop environment and its file manager, Nautilus. This includes generating thumbnails of video files when browsing in Nautilus and a video plugin for -compatible browsers (e.g. ). Thanks to a large number of plugins developed for GStreamer, Totem is able to play all mainstream media formats, both open and proprietary ones. It also understands numerous formats, including SHOUTcast, , XML Shareable Playlist Format (XSPF), SMIL, and RealAudio playlists. Playlists are easily manageable using drag-and-drop features. Full-screen video playback is supported on nearly all X configurations, including multi-headXinerama setups, and on displays connected to the TV- Out. Brightness, contrast and saturation of the video can be dynamically adjusted during playback. 4.0, 4.1, 5.0, 5.1 and stereo sound is supported. On computers with an infrared port, Totem can be remotely controlled via LIRC. Stills can be easily captured without resorting to external programs. There is also a plugin for telestrator-like functionality using Gromit. The loading of external SubRip , both automatic and manual (via the command-line), is also supported. This is the official documentation from Totem's Home page source: http://projects.gnome.org/totem/ Play any xine- or GStreamer-supported file (depending on the backend chosen) LIRC support Shoutcast, m3u, asx, SMIL and ra playlists support (also usable from a shipped LGPL library) DVD (with menus), VCD playback, disc-type automatically detected TV-Out configuration with optional resolution switching 4.0, 4.1, 5.0, 5.1, stereo and AC3 Passthrough audio output Fullscreen mode (move your mouse and you get nice controls) with , dual-head and Viewport support Remote operation mode to control a running Totem Seek and Volume controls Aspect ratio changing, Scaling based on the video's original size Full keyboard control Playlist with Repeat and Shuffle modes, with saving feature and drag'n'drop reordering GNOME and Nautilus integration (Totem registers the file-types, adds a menu item, uses the proxy configuration, saves sessions, and registers pnm, mms, uvox and rtsp schemes, removes playlist items from a disc that's getting ejected) Properties window (information about the current movie) Drag'n'drop and mousewheel actions Screenshot feature Brightness, Contrast, Hue and Saturation control Visualisation plugin when playing audio-only files Telestrator mode using Gromit Video thumbnailer Nautilus properties page Works on remote displays Automatic external subtitle load, or manual (only on the command-line, use like: totem file:///file.avi#subtitle:file.srt) DVD, VCD and /OGM subtitles and languages support Dialog for more accurate seeking Authentication dialogs when location requires it Online help (in English, German, Spanish, Russian, French and Bulgarian) Codecs Totem can display a variety of formats, based on what backend you use. To see what backend you are using check the "About" dialog of Totem. GStreamer When using the GStreamer backend, you can install multiple plugin packages. You can install them the same way as you would install totem. Some information about the -plugins packages can be found here. • gst-plugins-base the basic and essential plug-ins for GStreamer • gst-plugins-good the plug-ins for most Open formats • gst-plugins-ugly good-quality plug-ins that might pose distribution problems, needed for DVD playback • gst-plugins-bad a set of plug-ins that need more work, needed for YouTube videos • gst- FFmpeg-based plug-in, contains all the basic decoders for popular codecs, such as DivX and WMV • Pitfdll Plug-ins using the Windows codec DLLs for which no free software implementation exists yet. xine-lib Everything's included in this version, apart from some proprietary codecs that require Windows DLLs. Check the FAQ on xine-lib's website. That should sort most of you out. DVB support Using Totem, you can watch TV on over-the-air and satellite digital television. You'll need a DVB-T or DVB-S card supported by Linux, and a channels.conf file containing the channel tuning information. GStreamer You will need gst-plugins-bad 0.10.6, as well as Fluendo's MPEG demuxer to have playback working. The channels.conf file should be named ~/.gstreamer-0.10/dvb-channels.conf. xine-lib The channels.conf file should be placed in ~/.xine/.

YouTube support With the YouTube plugin you can browse YouTube and watch videos from it. You'll need gstreamer-plugins-bad 0.10.6 or a recent version of xine- lib. Even if videos play correctly, seeking may not yet work for them but work is ongoing to fix this.

Audio Player: Rhythmbox is an audio player that plays and helps organize digital . Originally inspired by Apple's iTunes, it is free software, designed to work well under theGNOME Desktop using the GStreamer media framework. It is currently under active development. Features Rhythmbox offers a growing number of features, including: Music playback Playback from a variety of digital music sources is supported. The most common playback is music stored locally as files on the computer (the 'Library'). Rhythmbox supports playing streamed and as well. The Replay Gainstandard is supported by using GConf-editor. Searching and sorting of music in the library is supported. Playlists may be created to group and order music. Users may also create 'smart playlists,' ones that are automatically updated (like a database query) based on a customized rule of selection criteria rather than an arbitrary list of tracks. Music may be played back in shuffle (random) mode or repeat mode. Track ratings are supported and used by the shuffle mode algorithm to play higher-rated tracks more often. Music importing Audio (requires the optional package) Comprehensive audio format support through GStreamer iPod support (experimental) Audio CD burning Since the 0.9 release, Rhythmbox can create audio CDs from playlists. Album Cover display Since the 0.9.5 release, Rhythmbox can display cover art of the currently playing album. However, rather than reading the embedded ID3 tags for album artwork, the plugin searches the internet to find corresponding artwork. Song Lyrics display Since the 0.9.5 release, Rhythmbox can provide song lyrics of the currently playing song (as long as they are stored in a lyrics database likeleoslyrics). Integration Rhythmbox has been extensively integrated with a number of external programs, services and devices including: Nautilus file manager context-menu integration (off by default in version 0.8.8), "hover mode" playback in Nautilus XChat , via an XChat plugin. Rhythmbox XChat Announcer (Perl) Pidgin-Rhythmbox automatically updates the Pidgin user profile with details of the currently playing track and Pidgin include options for automatically updating the user status with details of currently playing track Music (previously known as the Rhythmbox Applet), a GNOME panel applet that provides Rhythmbox playback controls from within the panel Shuffle, a gDesklet providing an interface for Rhythmbox resembling an iPod Shuffle Rhythmlet, another gDesklet that retrieves album art locally or from .com, has configurable display strings, playback controls, editable ratings and a seek bar SideCandyRhythmbox, a gDesklet-based Rhythmbox control and SideCandy display Rhythmbox XSLT allows the music library to be viewed as a -background-clip: initial; -webkit- background-: initial; background-color: initial; background- position:

GNOME Applications- CD Burners and Rippers

CD Burner: Brasero is a free disc-burning program for Unix-like systems, which serves as a graphicalfront-end (using GTK+) to , growisofs, and (optionally) libburn. The software itself has been reviewed in a few places. Features Data CD/DVD: Supports editing of disc contents (remove/move/rename files inside folders). Can burn data CD/ on the fly. Automatic filtering for unwanted files (hidden files, broken/recursive symlinks, files not conforming to the Joliet CD standard, ...). Supports multisession. Supports the Joliet extension. Can write the image to the hard drive. Audio CD: Writes CD-TEXT information (automatically found, thanks to GStreamer). Supports the editing of CD-TEXT information. Can burn audio CDs on the fly. Can use all audio files handled by GStreamer local installation (Ogg, FLAC, MP3, etc). Can search for audio files inside dropped folders. CD/DVD copy: Can copy a CD/DVD to the hard drive. Can copy DVD and CD on the fly. Supports single-session data DVDs. Supports any kind of CD. Others: Erases CD/DVDs. Can save/load projects. Can burn CD/DVD images and cue files. Song, image and video previewer. Device detection thanks to the HAL ( Layer). File change notification (requires kernel newer than 2.6.13). A customizable user interface (when used with GDL). Supports Drag-and-Drop / Cut 'n' Paste from Nautilus (GNOME file manager) (and other applications). Can use files on a network as long as the protocol is handled by gnome-vfs. Can search for files thanks to Beagle (search is based on keywords or on file type). Can display a playlist and its contents (note that playlists are automatically searched through Beagle). All disc input and output is done asynchronously (non- concurrently) to prevent the application from blocking. Brasero is the default CD/DVD application in Ubuntu.

The Official Page of Brasero source:http://projects.gnome.org/brasero/index.html Data CD/DVD: • supports edition of discs contents (remove/move/rename files inside directories) • can burn data CD/DVD on the fly • automatic filtering for unwanted files (hidden files, broken/recursive symlinks, files not conforming to joliet standard, ...) • supports multisession • supports joliet extension • can write the image to the hard drive • can check disc file integrity Audio CD: • write CD-TEXT information (automatically found thanks to gstreamer) • supports the edition of CD-TEXT information • can burn audio CD on the fly • can use all audio files handled by Gstreamer local installation (ogg, , , ...) • can search for audio files inside dropped folders • full edition of silences between tracks CD/DVD copy: • can copy a CD/DVD to the hard drive • can copy CD and DVD on the fly • supports single-session data DVD • supports any kind of CD Others: • erase CD/DVD • can save/load projects • can burn CD/DVD images and cue files • song, image and video previewer • device detection thanks to HAL • file change notification (requires kernel > 2.6.13) • a customisable GUI (when used with GDL) • supports Drag and Drop / Cut'n'Paste from nautilus (and others apps) • can use files on a network as long as the protocol is handled by gnome-vfs • can search for files thanks to beagle (search is based on keywords or on file type) • can display a playlist and its contents (note that playlists are automatically searched through beagle) • all disc IO is done asynchronously to prevent the application from blocking

Bugs The version of Brasero included in a standard installation of Ubuntu 8.10 as available for download in December 2008 suffers from a serious bug, with the effect of deleting the original files under certain circumstances

CD Ripper: Sound Juicer Sound Juicer is an application Front-End to the CD ripping library. It allows the user to extract audio from compact discs and convert it into audio files that a or digital audio player can understand and play. It supports ripping to any audio codec supported by a GStreamer plugin, such as mp3 (via LAME), Ogg , FLAC and uncompressed PCM formats. Sound Juicer is designed to be easy to use and to work with little user intervention. For example, if your computer is connected to the Internet, it will automatically attempt to retrieve track information from the freely- available MusicBrainz service. Sound Juicer is free and open source software and an official part of the GNOME desktop environment starting with version 2.10. Versions after 2.12 implement CD playing capability.

GNOME Office suite

Probably every is using open office org as their default office application but GNOME and has their own office suites.

In this section we are discussing only GNOME office. The openoffice org suite will be discussed later. Office Suite: GNOME Office Gnome office suite consists these application: : AbiWord

AbiWord is a free software word processor. The name "AbiWord" (pronounced "Abby Word") is derived from the root of the Spanish word "abierto" means "open". It currently runs on Linux, Mac OS X (PowerPC), Microsoft Windows, ReactOS, BeOS (unsupported), AmigaOS 4.0 (through its Cygnix X11 engine), and other operating systems . AbiWord was originally started by SourceGear Corporation as the first component of AbiSuite, as part of a plan to create a full Office Suite that would be free software. However, SourceGear gradually moved on to other business interests, and now the AbiWord project is run by a team of volunteer developers. AbiWord is part of GNOME Office, a collection of office applications with some degree of integration.

AbiWord

Figure 9 Screenshot of AbiWord on Ubuntu

Features AbiWord has a comprehensive language database with multiple languages. It also has support for tables and footnotes, as well as a and an advanced grammar checking system. Interface AbiWord has a similar user interface to classic versions (pre-Office 2007) of , which is intended to ease migration for new users. Although there are differences, the AbiWord developers to embrace and extend this de facto standard in business.

The interface is intended to follow user interface guidelines for each respective platform. File formats AbiWord is packaged with several import/export filters, including HTML, Microsoft Word (DOC), Office Open XML (DOCX), OpenDocument(ODT) and (RTF). LaTeX is supported for export only. Plug-in filters are available to deal with many other formats, notablyWordPerfect documents. The native file format, .abw, uses XML, so as to mitigate vendor lock-in concerns with respect to interoperability and also digital archiving. Version differences AbiWord 2.6.x does not support Windows 9x anymore. Users of these systems can still use AbiWord 2.4.6 : Gnumeric is a free spreadsheet program that is part of the GNOME desktop and has Windows installers available. It is intended to be a free replacement for proprietary spreadsheet programs such as , which it broadly and openly emulates. Gnumeric was created and developed by Miguel de Icaza, but he has since moved on to other projects. The current maintainer is Jody Goldberg.

Gnumeric Figure 10 Gnumeric 1.8.1

Gnumeric has the ability to import and export data in several file formats, including CSV, Microsoft Excel, HTML, LaTeX, Lotus 1-2- 3,OpenDocument and ; its native format is the Gnumeric file format (.gnm or .gnumeric), an XML file compressed with . It includes all of the spreadsheet functions of the North American edition of Microsoft Excel and many functions unique to Gnumeric. Pivot tables and conditional formatting are not yet supported but are planned for future versions. Gnumeric's accuracy has helped it to establish a niche among people using it for statistical analysis and other scientific tasks.For improving the accuracy of Gnumeric, the developers are cooperating with the Project. Gnumeric has a different interface for the creation and editing of graphs than the competing software. For editing a graph, Gnumeric displays a window where all the elements of the graph are listed. Other spreadsheet programs typically require the user to select the individual elements of the graph in the graph itself in order to edit them. Gnumeric version 1.0 was released December 31, 2001. The current stable release is version 1.8.x, the first to have basic Open XML support.

Database connector: GNOME-DB GNOME-DB is the database application of GNOME Office, the office suite of the GNOME desktop. The project aims to provide a free unified data access architecture to the GNOME project for all Unix platforms. GNOME-DB is useful for any application that accesses persistent data (not only , but data), since it now contains a data management API. GNOME Internet Applications

As Evaluation is discussed in earlier sections this application is not discussed nither here nor in office section we'll discuss the remaining application here

Web Browser: Epiphany

Though probably every linux distribution has firefox as their preinstalled browser Epiphany is used widely by the die-hard GNOME fans

Epiphany

Figure 11 Epiphany showing a .

Development Epiphany was developed from by Marco Pesenti Gritti (also the initiator of Galeon) with the aim of making a fully GNOME human interface guidelines compliant web browser and a very simple user experience. As a result, Epiphany does not have its own theme settings, like Firefox— it uses GNOME’s settings that are specified in the GNOME Control Center. It is one of a family of web browsers that use the layout engine from the Mozilla project to display web ; however, the Epiphany developers provide an experimental build of Epiphany 2.21.4 using the WebKit engine instead of Gecko. It provides a GNOME integratedfront- end to Gecko, instead of the Mozilla XUL interface. The Epiphany team intends to drop the Gecko back-end and continue forward only with the WebKit engine, by Epiphany 2.26. Epiphany supports tabbed browsing, cookie management, popup blocking and an extensions system. Epiphany can be extended with the Epiphany-extensions package Features Bookmarks While most browsers feature a hierarchical folder- based system, Epiphany uses categorized bookmarks, where a single bookmark (such as “Epiphany”) can exist in multiple categories (such as “Web Browsers”, “GNOME”, and “Computer Software”). Special categories include bookmarks that have been used frequently (“Most Frequent”) and bookmarks that have not yet been categorized. This is similar to the Firefox 3.0 Places feature which integrates bookmarks and history into a SQLite database. Another innovative concept supported by Epiphany (though originally from Galeon) is “Smart Bookmarks”. These take a single argument specified from the address bar or from a textbox in a . Epiphany-extensions Epiphany-extensions is a set of official extensions to the Epiphany web browser. Extensions include: Actions Ad filtering Auto-reload Autoscroll Certificate Viewer Dashboard Error Viewer . fallback Greasemonkey Imagebar Java console Mouse gestures Newsfeed extractor Tab Groups Tab States Page Info Permissions Python Console Sample, an extension designed to show how to write one's own extension Select Stylesheet Smart Bookmarks Instant Messenger Client: Pidgin Pidgin (formerly named Gaim) is a multi-platform instant messaging client. The software has support for many commonly used instant messaging protocols, allowing the user to log into various different services from one application. The number of Pidgin users was estimated to be over 3 million in 2007. Released under the terms of the GNU General Public License, Pidgin isfree software. Pidgin

Figure 12 Pidgin Screenshot

Features Figure 13 Pidgin's tabbed chat window inUbuntu

Pidgin supports multiple operating systems, including Windows as well as many Unix-like systems such as Linux, BSD, Mac OS X and AmigaOS(through the X11 engine). It is notable for its support for multiple instant messaging protocols. It has built-in support for NSS, offering client-to-server message encryption for protocols that support it. The program is extendable through plugins, including "Off-the-Record Messaging" and Pidgin encryption, providing end-to-end message encryption. Pidgin features some of the standard tools for an instant messaging client, such as tabbed conversations, a , file transfer on supported protocols, and conversation and chat logging. Tabbed conversations is an optional feature on Pidgin. The IM window consists of the message window, formatting tools, and an edit box. Contacts (usually known as "Buddies") are added by the "Buddy List" window or by the IM window. As a client that supports IRC and other chat programs, it can also add different IRC channels and IM Chats. Contacts with multiple protocols can be grouped into one single contact instead of managing multiple protocols and contacts can be given aliases as well or placed into groups. To reach users as they log on or a status change occurs (such as moving from "Away" to "Available"), Pidgin supports on-action automated scripts called Buddy Pounces to automatically reach the user in customizable ways. Pidgin supports some file transfers, with the ability to pause, resume, and cancel transfers and observe multiple transfers in a separate window, lacking more advanced features like folder sharing from Yahoo. However, when used through the MSN protocol, file transfers are slow, as data is routed through MSN servers to the receiver, instead of utilizing a faster peer- to-peer functionality. A Summer of Codeproject aimed to add peer-to- peer functionality in 2007. Support for MSNP15 was added in version 2.5.0 but did not include support for peer-to-peer transfers. Further features include support for themes, , spell checking and notification area integration. Supported protocols Bonjour (Apple's implementation of Zeroconf) Gadu-Gadu Lotus Sametime MySpaceIM .NET Messenger Service (commonly known as MSN Messenger or Messenger) (no multimedia support) Novell GroupWise OSCAR (AIM/ICQ/.Mac) QQ SIMPLE SILC XMPP (Jabber, ) Yahoo! (only basic chat and file transfers) History

Figure 14 Gaim 2.0.0 beta 6 running underGNOME 2.16.0

The program was originally written in or before 1999 by Mark Spencer, an Auburn University sophomore, as an emulation of AOL's IM programAOL Instant Messenger on Linux using the GTK+ toolkit. It was named GAIM (GTK+ AOL Instant Messenger) accordingly. The emulation was not based on reverse engineering, but instead relied on information about the protocol that AOL had published on the web; development was also assisted by some of AOL's technical staff. Support for other IM protocols was added soon thereafter. Naming dispute In response to pressure from AOL, the program was renamed to the acronymous-but-lowercase gaim. As AOL Instant Messenger gained popularity, AOL trademarked its acronym, "AIM", leading to a lengthy legal struggle with the program's creators, who kept the matter largely secret. On April 6, 2007, the project development team announced the results of their settlement with AOL, which included a series of name changes:Gaim became Pidgin, libgaim became libpurple, and gaim- text became . The name Pidgin was chosen in reference to the term "pidgin", which describes communication between people who do not a common language. It also harks back to its original name, as the pigeonbird is a popular game bird and messenger. The name "purple" refers to "prpl", the internal libgaim name for an IM protocol plugin. Due to the legal issues, version 2.0 of the software was frozen in beta stages. Following the settlement, it was announced that the first official release of Pidgin 2.0.0 was hoped to occur during the two weeks from April 8, 2007. However, Pidgin 2.0 was not released as scheduled; Pidgin developers announced on April 22, 2007 that the delay was due to the preferences folder ".gaim". Pidgin 2.0.0 was released on May 3, 2007. This was the first release version to be called Pidgin, and contained a completely new graphics design. Current deficiencies Due to the Pidgin project's use of reverse-engineering to interact with some proprietary protocols, there are disparities in functionality between official clients and the Pidgin client. Passwords are stored in a cleartext file. This password file is readable by anyone who has physical access to the computer, access to the user or administrative accounts, or (potentially) to anyone who is able to exploit security vulnerabilities on that computer. The developers recognize this as a security concern, but believe that the requirements of Pidign (and the nature of instant messaging) make it infeasible to encrypt the password file, though they have said that they welcome solutions to integrate Pidgin with application-level security solutions. A Google Summer of Code 2008 project has been approved for the Pidgin project to help address this issue by allowing libpurple to read passwords from external password safes (e.g. GNOME Keyring, Kwallet, or Apple ). Pidgin does not currently support video and audio conferencing, nor any form of audio/video communication. Parallel development was planned with the uncompleted gaim-vv library but the project has been declared dead by the developers. The developers plan on implementing multimedia messaging in the future. A Google Summer of Code project for 2008 attempted to provide this support and development continues using Farsight2. Pidgin does not currently support resume of downloads that are paused or the transfer of the file is broken, in chat protocols that support this feature. As of version 2.4 and later, the ability to manually resize the text input box of conversations has been altered - it now automatically resizes between a number of lines set in 'Preferences' and 50% of the window depending on how much is typed. Some users find this an annoyance rather than a feature and find this solution unacceptable. This issue led to the development of Carrier.

GNOME Applications: Other Utility Application

Archive Manager: File Roller

File Roller

Features File Roller Archive Manager can: Create and modify archives. View the content of an archive. File Formats File Roller supports the following file formats: (Note: Backend programs are needed. File Roller is only a frontend) (.7z) gzip (..gz , .tgz) bzip (.tar.bz , .tbz) (.tar.bz2 , .tbz2) (.tar.Z , .taz) LZO (.tar.lzo , .tzo) ZIP archives (.zip) JAR archives (. , .ear , .war) LHA archives (.lzh) RAR archives (.) Single files compressed with gzip, bzip, bzip2, compress, LZO ISO images (.iso) (read-only) Limitations File Roller doesn't support multi-volume archives for the 7z format (the ability to view or create archives divided into multiple files) PDF Viewer:

Evince Menas: "to conquer entirely, to prevail over, to prove exhaustively," (source: Wikitonary)

Evince is a PDF, PostScript, DjVu, TIFF and DVI document viewer for the GNOME desktop environment In developing the application the aim was to replace the multiple GNOME document viewers with a single and simple application. Evince has been included in GNOME since GNOME 2.12, released on 7 September 2005. It is written mainly in C, with a small part (the code that interfaces with ) written in C++. Released under the GNU General Public License, Evince is free software.

Evince Figure 15 Evince displaying a PDF

History Evince began as a rewrite of GPdf, which most people thought was getting unwieldy to maintain. In a short period of time it surpassed the functionality of GPdf. GPdf and GGV, the default Postscript viewer in GNOME, are no longer maintained.

Features Search: Integrated search that displays the number of results found and highlights the results on the page. Page thumbnails: Thumbnails of pages show quick reference for page navigation within a document. Evince's thumbnails are available in the left sidebar of the viewer. Page indexing: For documents that support indexes Evince gives the option of showing the document index for quick moving from one section to another. Selection: Evince allows selecting text in PDF files. Dual: Evince may show two pages (left, right) at a time. Supported document formats Evince supports many different single and multipage document formats. Here is the list of formats that are currently supported. Built-in support PDF using the poppler backend PostScript using the backend Multi-Page TIFF IDE : Ajunta

Figure 16 Screenshot of a class inheritance graph and terminal in Anjuta 2

Anjuta is an ide for the C and C++ languages, written for the GNOME project. It comes standard on base installation DVDs of major Linux distributions such as openSuse, Fedora, and Mandriva (amongst others). Anjuta features , application wizards, an interactive debugger built over gdb, and a powerful source code editor with source browsing, code completion and syntax highlighting. Distributed under the GNU General Public License, Anjuta is free software. Anjuta DevStudio (2.x) The goal of Anjuta DevStudio is to provide a customizable and extensible IDE framework and at the same time provide the implementations of common development tools. libanjuta is the framework that realizes the Anjuta IDE plugin framework and Anjuta DevStudio realizes many of the common development plugins. It integrates new programming tools including the and the Devhelp API help browser.

3.KDE

KDE Stands for K Desktop Environment

What is KDE?

General Overview KDE or the K Desktop Environment, is a network transparent contemporary desktop environment for UNIX workstations. KDE seeks to fulfill the need for an easy to use desktop for UNIX workstations, similar to desktop environments found on Macintosh and Microsoft Windows operating systems. The UNIX operating system is according to us the best available today. When it comes to stability, scalability and openness UNIX has no competition. In fact UNIX has been the undisputed choice of information technology professionals for many years. The lack of an easy to use contemporary desktop environment, however, has prevented UNIX from finding its way onto desktops of typical computer users in offices and homes. UNIX today dominates the server market and is the preferred for computing professionals and scientists alike. The Internet, a household name traces its heritage to UNIX. Inspite of such ubiquitous creations from the UNIX community, average computer users still expect it to be difficult to use and often stay away. This fact is particularly unfortunate since a number of implementations of UNIX, all of which are of exceptional quality and stability (Debian GNU/Linux, FreeBSD,NetBSD etc.) are freely available off the Internet.

KDE The Desktop Environment The KDE project aims to change all that. KDE now provides an easy to use contemporary desktop environment available for UNIX and compatible systems. Together with a free implementation of UNIX such as GNU/Linux, UNIX/KDE constitutes a completely free and open computing platform available to anyone free of charge. Source code is available for anyone to look at, learn from, modify and improve. Whilst there is always room for improvement, KDE today delivers a viable feature packed alternative to the more commonly found commercial operating systems/desktops combinations available. It is our hope and continued ambition that KDE will bring open, reliable, stable and monopoly-free computing enjoyed by scientists and computing professionals world-wide to the everyday user.

KDE The Application Development Framework KDE also brings to the forefront many innovations for application developers. An entire infrastructure has been designed and implemented to help programmers create robust and comprehensive applications in the most efficient manner, eliminating the complexity and tediousness of general UNIX application development. KDE recognizes the fact that a computing platform is only as good as the first class applications available to users. KDE's , implements the latest advances in framework technology positioning it in direct competition with popular development frameworks like Microsoft's MFC/COM/ActiveX technology etc. KDE's innovative KParts compound document technology enables developers to quickly create first rate applications using cutting edge technology.

KDE The Office Application Suite Leveraging the KDE application development framework a great number of applicationshave been built for the K Desktop Environment. A selection of those applications is contained in the KDE base distribution. At this moment KDE is developing a complete office application suite based on KDE's innovative KParts technology. This modern day office suite offers spread-sheet applications, presentation creators, organizers, news clients and much more. KPresenter, a part of this application suite has already been successfully used for many presentations.

Source: http://www.kde.org/whatiskde/ KDE History

KDE was founded in 1996 by , who was then a student at the Eberhard Karls University of Tübingen. At the time, he was troubled by certain aspects of the Unix desktop. Among his qualms was that none of the applications looked, felt, or worked alike. He proposed the formation of not only a set of applications, but rather a desktop environment, in which users could expect things to look, feel, and work consistently. He also wanted to make this desktop easy to use; one of his complaints with desktop applications of the time was that his girlfriend could not use them. His initial post spurred a lot of interest, and the KDE project was born. The name KDE was intended as a word play on the existing Common Desktop Environment, available for Unix systems. CDE was an X11-based user environment jointly developed by HP, IBM, and Sun, through the X/Open Company, with an interface and productivity tools based on the Motif graphical widget toolkit. It was supposed to be an intuitively easy- to-use environment. The K was originally suggested to stand for "Kool", but it was quickly decided that the K should stand for nothing in particular. Additionally, one of the tips in certain versions of KDE 3 incorrectly states that the K currently is just meant to be the letter before L in the Latin alphabet, the first letter in the word Linux (which is where KDE is usually run). Matthias Ettrich chose to use the Qt toolkit for the KDE project. Other programmers quickly started developing KDE/Qt applications, and by early 1997, a few applications were being released.

First series

Figure 17 KDE 1.0 On 12 July 1998 KDE 1.0 was released. In the release announcement the KDE team outlined the project and its reasons for creation: KDE is a network transparent, contemporary desktop environment for UNIX workstations. KDE seeks to fill the need for an easy to use desktop for Unix workstations, similar to the desktop environments found under the MacOS or Window95/NT. We believe that the UNIX operating system is the best operating system available today. In fact UNIX has been the undisputed choice of the information technology professional for many years. When it comes to stability, scalability and openness there is no competition to UNIX. However, the lack of an easy to use contemporary desktop environment for UNIX has prevented UNIX from finding its way onto the desktops of the typical computer user in offices and homes. With KDE there is now an easy to use, contemporary desktop environment available for UNIX. Together with a free implementation of UNIX such as Linux, UNIX/KDE constitutes a completely free and open computing platform available to anyone free of charge including its source code for anyone to modify. While there will always be room for improvement we believe to have delivered a viable alternative to some of the more commonly found and commercial operating systems/desktops combinations available today. It is our hope that the combination UNIX/KDE will finally bring open, reliable, stable and monopoly free computing to the average computer.

In November 1998, the Qt toolkit was dual-licensed under the free/open source (QPL) & a commercial-license for proprietary software developers. The same year, the KDE Free Qt foundation was created which guarantees that Qt would fall under a variant of the very liberal BSD license should Trolltech cease to exist or no free/open source version of Qt be released during 12 months. Debate continued about compatibility with the GNU General Public License (GPL), so in September 2000, Trolltech made the Unix version of the Qt libraries available under the GPL, in addition to the QPL, which eliminated the concerns of the .

Second and third series Figure 18 KDE 2.0

The second series of releases, KDE 2, introduced significant technological improvements. These includedDCOP (Desktop COmmunication Protocol), KIO, an application I/O library, KParts, a , allowing an application to embed another within itself, and KHTML, an HTML rendering and drawing engine.

Figure 19 KDE 3.2 with and the About screen. This has been described as a watershed release.

The third series was much larger than the previous series, consisting of six major releases. The API changes between KDE 2 and KDE 3 were comparatively minor, meaning that the KDE 3 can be seen as largely a continuation of the KDE 2 series. All releases of KDE 3 were built upon Qt 3, which was only released under the GPL for Linux and Unix-like operating systems, including Mac OS X. For that reason, KDE 3 was only available on Windows through ports involving an X server.

Fourth series

Figure 20 KDE 4.0 with and System Settings KDE 4 is based on Qt 4 which is also released under the GPL for Windows and Mac OS X. Therefore KDE 4 applications can be compiled and run natively on these operating systems as well. KDE 4 includes many new technologies and technical changes. The centerpiece is a redesigned desktop and panels collectively called Plasma which replaces Kicker, KDesktop, and SuperKaramba by integrating their functionality into one piece of technology, and is intended to be more configurable for those wanting to update the decades-old desktop metaphor. There are a number of new frameworks, including , a new multimedia interface making KDE independent of any one specific media backend, Solid, an API for network and portable devices, and Decibel, a new communication framework to integrate all communication protocols into the desktop. Also featured is a metadata and search framework, incorporating as a full- indexing service, and NEPOMUK with KDE integration. The release of KDE 4.0 was met with a mixed reception. While early adopters were tolerant of the lack of finish for some of its new features, the release was widely criticised because of a lack of stability and its "beta" quality. Many expected it to be an upgrade of KDE 3.5, when in fact features regressed due to its extensive changes - some of which are still works in progress. The criticism has emerged in spite of the environment being labelled as non-final in distributions such as openSUSE. On the other hand favourable reviews praised KDE 4.0 for its revolutionary changes. KDE Applications-Basic Tools 1

File Manager: Konqueror(Default for KDE 2 &3)

Figure 21 A screenshot of Konqueror 4.2 showing the wikipedia homepage

Konqueror is a web browser, file manager and designed as a core part of the K Desktop Environment. It is developed by volunteers and can run on most Unix-like operating systems. Konqueror, along with the rest of the components in the KDEBase package, is licensed and distributed under the GNU General Public License. The name "Konqueror" is a reference to the two primary competitors at the time of the browser's first release: "first comes the Navigator, then Explorer, and then the Konqueror". It also follows the KDE naming convention: the names of most KDE programs begin with the letter K. Konqueror came with the version 2 of KDE, released on October 23, 2000. It replaces its predecessor, KFM (KDE file manager).

User interface Konqueror's user interface is somewhat reminiscent of Microsoft's (in turndesigned after and NCSA ), though it is more customizable. It works extensively with "panels", which can be rearranged or added. For example, one could have an Internet bookmarks panel on the left side of the browser window, and by clicking a bookmark, the respective web page would be viewed in the larger panel to the right. Alternatively, one could display a hierarchical list of folders in one panel and the content of the selected folder in another. The panels are quite flexible and can even include a console window. Panel configurations can be saved, and there are some default configurations. (For example, "Midnight Commander" displays a screen split into two panels, where each one contains a folder, Web site, or file view.) Navigation functions (back, forward, history, etc.) are available during all operations. Most keyboard shortcuts can be remapped using a graphical configuration, and navigation can be conducted through an assignment of letters to nodes on the active file by pressing the . The address bar has extensive autocompletion support for local directories, past , and past search terms. The application uses a tabbed document interface, wherein a window can contain multiple documents in tabs. Multiple document interfaces are not supported, however it is possible to recursively divide a window to view multiple documents simultaneously, or simply open another window. Web browser

Figure 22 Konqueror displaying the Wikipedia Main page

Konqueror has been developed as an autonomous web browser project. It uses KHTML as its layout engine, which is compliant with HTML and supports JavaScript, Java , CSS, SSL, and other relevantopen standards. Konqueror integrates several customizable search services which can be accessed by entering the service's abbreviation code (for example, gg: for Google) followed by the search term(s). One can add their own search service; for instance, to retrieve Wikipedia articles, a may be added with the URLhttp://en.wikipedia.org/wiki/Special:Search? search=\{@}&go=Go. Konqueror's rendering speed is on par with that of competing browsers, but sites with malformed HTML are sometimes leniently rendered than by other browsers.[citation needed] Problems can also result from the use of plugins on a web site which cannot be run under the operating system on which Konqueror is run; the use of QuickTime movies, or Shockwave animations can result in such problems. However, SWF (Flash), PDF, Java applets, and other plugins are supported if the respective software is installed. Konqueror is replaced as the primary web browser by Firefox in many distributions, though it is generally present for dependency reasons. Konqueror also allows browsing the local directory hierarchy—either by entering locations in the address bar, or by selecting items in the file browser window. It allows browsing in different views, which differ in their usage of icons and layout. Files can also be executed, viewed, copied, moved, and deleted. The user can also open an embedded version of in which they can directly execute shell commands. Although this functionality is not removed from it, in KDE 4 Konqueror is replaced by Dolphin as the default file manager. File manager

Figure 23 Konqueror's file manager profile

Konqueror also allows browsing the local directory hierarchy—either by entering locations in the address bar, or by selecting items in the file browser window. It allows browsing in different views, which differ in their usage of icons and layout. Files can also be executed, viewed, copied, moved, and deleted. The user can also open an embedded version of Konsole in which they can directly execute shell commands. Although this functionality is not removed from it, in KDE 4 Konqueror is replaced by Dolphin as the default file manager.

File viewer Using the KParts object model, Konqueror executes components that are capable of viewing (and sometimes editing) specific filetypes and embeds their client area directly into the Konqueror panel in which the respective files have been opened. This makes it possible to, for example, view an OpenDocument (via KOffice) or PDF document directly from within Konqueror. Any application that implements the KPartsmodel correctly can be embedded in this fashion. KParts can also be used to embed certain types of multimedia content into HTML pages; for example, KMPlayer's KPart enables Konqueror to show embedded video on web pages.

KIO Figure 24 Konqueror displaying the contents of an audio CD

In addition to browsing files and web sites, Konqueror utilizes KIO plugins to extend its capabilities well beyond those of other browsers and file managers. It uses components of KIO, the Konqueror I/O plugin system, to access different protocols such as HTTP and FTP (support for these is built-in). Similarly, Konqueror can use KIO plugins (called IOslaves) to access ZIP files and other archives, smb (Windows) shares, to ed2k links (edonkey/), or even to browse audio CDs, ("audiocd:/") andrip them via drag-and-drop. The FISH ("fish://user@host") IOslave allows Konqueror to manage files on remote secure shell servers, and the "man:" and "info:" IOslaves are handy for fetching nicely formatted documentation. A complete list is available in the KDE Info Center's Protocols section. Platforms

Figure 25 Konqueror displaying Wikipedia in

Konqueror has traditionally been developed for Linux, but it supports all platforms that KDE supports. This includes other Unix-like systems, such as BSD and Solaris, as well as Mac OS X. Konqueror can be run under Windows as part of the KDE on Windows project.

File Manager : Dolphin (Default for KDE 4.0s) Figure 26 Screen shot of Dolphin Unlike Konqueror, Dolphin is focused purely on file management.

Dolphin is a file manager for KDE. It is the default file manager for the current version, KDE 4, and can be optionally installed on KDE 3. Although replaced as the default file manager for KDE 4, Konqueror is still the default web browser, and can be used as an alternative file manager for power users. Under previous KDE versions, Konqueror had served both as the default file manager and web browser. However, for many years users have criticized that Konqueror was too complex for simple file navigation. As a response, the two functions were divided into two separate applications. Under KDE 4, Dolphin was streamlined for browsing files, while sharing as much code as possible with Konqueror. Konqueror continues to be developed primarily as a web browser.

Dolphin and KDE 3 As development of the KDE 4 version was underway, the KDE 3 version of Dolphin was discontinued. However, the program continues to be unofficially available for KDE 3 under the slightly modified name of "D3lphin". D3lphin contains many bugfixes and a new sidebar, but is no longer maintained. Features bar - each part of the URL is clickable 3 view modes (Icons, Details and Columns), remembered for each folder File Previews Split views (for copying and moving files) Network transparency - using KDE's KIO slaves Undo/Redo functionality Tabbed navigation Renaming of a variable number of selected items in one NEPOMUK integration E-Mail Client

Kontact is a personal information manager and groupware software suite for KDE. It supports calendars, contacts, notes, to-do lists, news, and email. It uses KParts to embed the various applications (KMail, KAddressBook, Akregator, etc.) into the container application. History The initial groupware container application was written in an afternoon by Matthias Hölzer-Klüpfel and later imported into the KDE source repository and maintained by Daniel Molkentin. This container application is essential for Kontact to operate, but without embedded components is not useful by itself. The first embedded components were created by . He modified the KAddressBook and KOrganizer applications to create the initial addressbook and organizer components. At this stage no mail client component existed so KDE still lacked a functional integrated groupware application. However Cornelius' groundbreaking work acted as a prototype for other developers to base their efforts on. Don Sanders created the missing mail client component by modifying the KMail application. He then integrated the mail client component with the other components, and the groupware container application, assembled and released the initial Kontact packages, and created the initial Kontact website. Daniel Molkentin, Cornelius Schumacher and Don Sanders then formed the core Kontact team. The KMail and container application changes were imported into the KDE source repository, and Kontact was released as part of KDE 3.2. During the construction of the Kontact application suite, the groupware server was being worked on by Erfrakon, Intevation andKlarälvdalens Datakonsult simultaneously and was completed at approximately the same time. This work was done as part of the Kroupwareproject that also involved modifying the KMail and KOrganizer applications to enhance them with additional groupware features. The core Kontact team, the Kolab consortium, and several independent KDE PIM developers then worked together to enhance Kontact by integrating the Kroupware functionality and making Kolab the primary Kontact server. Additionally a news component was created from the KNode application by KDE developer Zack Rusin, and Kontact was modified to support an array of mainly web based suites of collaboration software. E-Mail KMail Figure 27 KMail using the default layout: the folder list on the left side and the preview pane below the message list (top right)

KMail is the e-mail client of the KDE desktop environment. It supports folders, filtering, viewing HTML mail, and international character sets. It can handle IMAP, dIMAP, POP3, and local mailboxes for incoming mail. It can send mail via SMTP or . Spam and filtering KMail uses two special filters to provide a modular access to spam- filtering programs: Send this e-mail to a program allows any program to be specified, and when that KMail filter is activated, the program will be run and supplied with the contents of the e-mail as its standard input. Pipe this e-mail through a program not only sends the e-mail to a specified program, but replaces the e-mail with the output of that program. This allows the use of systems such as SpamAssassin which can add their own headers to a piece of e-mail. These modular filters can be combined with text filters to detect (for example) e-mail which has been flagged by SpamAssassin by looking for the special headers it added. KMail allows manual filtering of spam directly on the mail server, a very interesting feature for dial-up users. that exceed some threshold size (standard is 50 kb, but it may be set any value) are not automatically copied to the local computer. With "get, decide later, delete" options, KMail lists them but does not download the whole message, which allows the deletion of spam and over-sized without wasting time. Cryptographic support Figure 28 KMail's built-in encryption and signature support

KMail supports the OpenPGP standard and can automatically encrypt, decrypt, sign, and verify signatures of email messages and its attachments via either the inline or OpenPGP/MIME method of signing/encryption. KMail depends on GnuPG for this functionality. As a visual aid, KMail will colour verified email messages green for trusted signatures; yellow for untrusted signatures; red for invalid signatures; and blue for encrypted messages. KMail also supports S/MIME messages as well as Chiasmus, a proprietary cryptographic system created by the German Federal Office for Information Security (BSI).

Address Book KAddressBook

KAddressBook is an address book software application made for the K Desktop Environment. Features Exports and imports cards to and from vCard format. Uses DCOP to interface with other applications. Interoperable with KMail and , as well as Kontact. Customize fields and categories. Automatic formatting of names. Filter ability, to search for addresses. Capability to query an LDAP database containing person information. Description KAddressBook is a graphical interface to organizing the addresses and contact information of family, friends, business partners, etc. It integrates with KDE, allowing interoperability with other KDE programs, including the e- mail client KMail – allowing one-click access to composing an e-mail – and the instant messenger Kopete – showing the online status of and easy access to instant messaging contacts. It can be synchronized with other software or device using Kitchensync and OpenSync. A contact may be classified into customizable categories, such as Family, Business, or Customer. Many of the fields can have multiple entries, for example, if the contact has several e-mail addresses. A contact's fields are separated into four tabs and one tab for custom fields.

Organizer KOrganizer

Figure 29 KOrganizer’s Calendar view

KOrganizer is the personal organizer of the KDE desktop environment. It has the ability to manage calendars, journals, and a to do list. News Feed Aggregator Akregator

Figure 30 Akregator running under KDE 4.2

Akregator is an open source feed aggregator which is part of KDE. It supports both RSS and . Feeds can be sorted into categories. Akregator will aggregate all feeds in a particular category into a single list of new entries so that, for example, all news in the category "Politics" can be shown in one list. It has an feature for the titles of all the entries in its database. Akregator can be configured to fetch feeds within regular intervals. The user can also manually request to fetch all feeds, individual ones, or those in a selected category. It supports feed icons and embeds KHTML as an internal, tabbed web browser. Any external browser can also be called. Akregator is part of KDE since the 3.4 release, and it is distributed with the kdepim module.

X-Window Manager: KWin

In Unix computing, KWin is a window manager for the X Window System. It is an integral part of the K Desktop Environment (KDE), although it can be used on its own or with other desktop environments. History Nam Versi KDE Details e on Version KWM 1.0 1.0 1 KWin 2.0 2.0 Extended support for themes and window effects. Improved support for the KWin 3.0 3.2 extended ICCCM standards from freedesktop.org KWin 4.0 4.0 Compositing support and -like effects.

Look and feel There are many window decorations for KWin, including the default Plastik, Microsoft Windows-like Redmond, and Keramik. IceWM themes can also be used with it, provided the kdeartwork package is installed.

Widget Toolkit: QT

Qt (pronounced "cute") is a cross-platform application development framework, widely used for the development of GUIprograms (in which case it is known as a widget toolkit), and also used for developing non-GUI programs such as console tools and servers. Qt is most notably used in KDE, , Google Earth, , , Album,VirtualBox and OPIE. It is produced by the Norwegian company Qt Software, formerly known as Trolltech, a wholly owned subsidiary of since June 17, 2008

Distributed under the terms of the GNU Lesser General Public License (among others), Qt is free and open source software. Varieties • Qt/X11 – Qt for X Window System (Unix / Linux) • Qt/Mac – Qt for Apple Mac OS X • Qt/Windows – Qt for Microsoft Windows • Qt/Embedded – Qt for embedded platforms (PDA, , etc.) • Qt/WinCE – Qt for Windows CE • – Qt for Java • Qt Extended – Application platform for Embedded Linux- based mobile computing devices (Discontinued) Qt software on October 20, 2008 announced a version of Qt on S60 platform.

License Until version 1.45, source code for Qt was released under the FreeQt license — which was viewed as not compliant with the open source principle by the and the free software definition by Free Software Foundation, because while the source was available it did not allow the redistribution of modified versions. With the release of version 2.0 of the toolkit, the license was changed to the Q Public License (QPL), a free software license but one regarded by the Free Software Foundation as incompatible with the GPL. Compromises were sought between KDE and Trolltech whereby Qt would not be able to fall under a more restrictive license than the QPL, even if Trolltech were bought out or went bankrupt. This led to the creation of theKDE Free Qt foundation, which guarantees that Qt would fall under a BSD-style license should no free software/open source version of Qt be released during 12 months. Later Qt became available under a dual license, the GPL v2 or v3 with special exception and a proprietary commercial license on all supported platforms. The commercial license allows the final application to be licensed under various free software/open source licenses such as the LGPL or the Artistic License, or a proprietary software license. As announced on January 14, 2009, Qt version 4.5 adds another option, the LGPL, which should make Qt more suitable for non-GPL open source projects and for commercial users. All editions support a wide range of , including the GCC C++ and the Visual Studio suite. Current Trolltech released Qt 4 on June 28, 2005 and introduced five new technologies in the framework: Tulip A set of template container classes. Interview A model/view architecture for item views. Arthur A 2D painting framework. A Unicode text renderer with a public API for performing low- level text layout. MainWindow A modern action-based main window, toolbar, menu, and docking architecture. Qt 4.1, released on December 19, 2005, introduced integrated SVG Tiny support, a PDF backend to Qt's printing system, and a few other features. Qt 4.2, released on October 4, 2006, introduced Windows Vista support, introduced native CSS support for widget styling, as well as the QGraphicsView framework for efficient rendering of thousands of 2D objects onscreen, to replace Qt 3.x's QCanvas class. Qt 4.3, released on May 30, 2007, improved Windows Vista support, improved OpenGL engine, SVG file generation, added QtScript (ECMAScriptscripting engine based on QSA). Qt 4.4, released on May 6, 2008. Features included are improved multimedia support using Phonon, enhanced XML support, a concurrency framework to ease the development of multi-threaded applications, an IPC framework with a focus on shared memory, and WebKit integration. Qt 4.5, released on March 3, 2009. Major included features are QtCreator, improved graphical engine, improved integration with WebKit,OpenDocument Format read support and new licensing options. Mac OS X Cocoa Framework support. Design The innovation of Qt when it was first released relied on a few key concepts. Use of native UI-rendering APIs Qt used to emulate the native look of its intended platforms, which occasionally led to slight discrepancies where that emulation was imperfect. Recent versions of Qt use the native APIs of the different platforms to draw the Qt controls, and so do not suffer from such issues. Meta object compiler Known as the moc, this is a tool that is run on the sources of a Qt program prior to compiling it. The tool will generate C++ code with "Meta Information" about the classes used in the program. This meta information is used by Qt to provide programming features not available natively in C++: The /slot system (which has also been implemented in native C++ by other parties), introspection and asynchronous function calls. Criticism The use of an additional tool has been criticized for making Qt programming different from pure C++ programming. In particular, the choice of an implementation based on macros has been criticized for its absence of type safety and pollution of the namespace. Trolltech viewed this as a necessary trade-off to provide introspection and the dynamically generated slot and signal mechanism. Qt hello world #include #include

int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel label("Hello, world!"); label.show(); return app.(); } Applications built using Qt opular examples of applications which use Qt include: Adobe Photoshop Album , an image organizing application , a Free Software program designed for multi- purpose video editing and processing, has a Qt frontend since version 2.4 Doxygen , an API document generator Freemat , a free numerical computing environment and programming language Gadu-Gadu , a popular Polish instant messaging client Google Earth , a 3D map program KDE , a popular desktop environment for Unix-like operating systems KDELibs , a library base for many KDE applications including , , KDevelop and KOffice Last.fm Player , the desktop client for the popular internet radio and music community website. , the open source keystroke launcher for Windows LMMS , a free open source sequencer and software synthesis package LyX , a GUI frontend to LaTeX Mathematica , Linux version uses Qt for the GUI front-end Mixxx , cross-platform open source DJ mixing software A760 , uses Qt/Embedded in its UI MythTV , an open source digital video recorder Opera , a web browser (only Linux and *BSD builds) Psi , an instant messaging client for XMPP Quantum GIS , a free desktop GIS , a application Skype , a P2P VOIP application TeamSpeak , cross-platform voice communication software Tlen.pl , a popular Polish instant messaging client TOra , a database administration tool VirtualBox , a PC application VisIt , an interactive parallel visualization tool for viewing scientific data VisTrails , a scientific workflow management and visualization system VLC Media Player , an open source media player, Qt frontend since version 0.9 , Linux Kernel configuration tool

KDE Application-Basic Tools 2

Terminal Emulator: Konsole

Figure 31 Konsole on openSUSE 11.1

Konsole is a free terminal emulator which is part of KDE. Konsole was originally written by Lars Doelle. The KDE applications Konqueror, , , and KDevelop use Konsole to provide embedded terminal functionality. Features Tabbed terminals. Tab titles update dynamically depending on the current activity in the terminal. Split-view mode. Directory and SSH bookmarking Customizable color schemes. Customizable key bindings. Notifications about silence or activity in a terminal Incremental search Can open Dolphin or the user's preferred file manager at the terminal program's current directory Export of output in plain text or HTML format.

Text Editor : Kate And Kwrite Kate

In computing, Kate is a text editor for KDE. The acronym "Kate" stands for "KDE advanced text editor". Kate has been part of the kdebase package since KDE release 2.2 (August 15, 2002). Because of the KParts technology which is part of KDE, it is possible to embed Kate as an editing component in any other KDE application. The integrated development environment KDevelop, the web development environment , and the LaTeX front-end are three of the major KDE applications that make use of Kate as an editing component.

Features of Kate include: Syntax highlighting engine, extensible via XML files Search and replace text using regular expressions MDI, window splitting, window tabbing CR, CRLF, LF support column selections (aka block selection) Encoding support (utf-8, utf-16, etc.) Encoding conversion Column selections capabilities for Java, C++, C, PHP, Python and others. Shell integration Keep multiple documents open in one window Named session support (known as "projects" before KDE version 2.5) Drag and drop text editing Interpuncts are used to denote space characters HTML export Plugin architecture for the application and editor component, including: Basic word completion Thesaurus / spell checking Wide protocol support (http, ftp, ssh, etc.) Customizable shortcuts Scriptable using JavaScript (KDE 3.5) Kate is built using the KatePart widget in KDE which provides the bulk of the applications' editing support. KWrite KWrite

KWrite 4.3

KWrite is a lightweight text editor for the K Desktop Environment (KDE). Features export to HTML, PDF, PostScript Block selection mode (see screenshot) Code folding Bookmarks Syntax highlighting Encoding selection End-of-line mode selection (Unix, Windows, Macintosh) Word completion KParts technology In KDE 2.x, KWrite didn't use KParts technology, which allows embedding one application into another. Then, KWrite was rewritten to use this technology. It allows the user to choose, for example, to be embedded into KWrite. Other options include Qt Designer based text editor and KDE advanced text editor (KATE). The latter is the default option, and makes use of Kate text editor. Location of KWrite KWrite is a part of kdebase package. Recently, it has been merged with Kate, and as such, its source code is located in the kate/ directory.

KDE Applications-Multimedia

Image viewer : Gwenview

Figure 32 Gwenview

Gwenview is an image viewer for the KDE desktop environment. The current maintainer is Aurélien Gâteau. The word "Gwen" means "white" in the Breton language and is commonly used as a first name. While it was available in KDE 3, the KDE 4 version has a simplified user interface, making it more suitable for quickly browsing through collection of images. Gwenview is also used to display images. It provides full-screen interface that can be used to display images as a slide-show. Major features: Directory browser Image viewer Metadata comment editor Thumbnail image view of current directory Use of KIPI (KDE Image Plugins Interface) plugins for manipulating images Versions Version 1.4.0, released in September 2006, adds several new major features, including: SVG and video support Filtering based on file type, file name pattern, and date. Latest version for KDE 3 is 1.4.2, released in September 2007 Video Player: And kaffeine

Kaffeine

Figure 33 Kaffeine title screen on Ubuntu

Kaffeine is a media player for Unix-like operating systems running KDE. By default it uses xine-lib media framework but also supportsGStreamer. It also supports the use of MPlayer project's binary codecs for proprietary formats. Kaffeine developers have also produced aMozilla plugin to start the player for streaming content over the web. Features include streaming, DVB, DVD, Video CD and CD audio. Kaffeine 0.8.7 released The kde4 version taking more time than expected, this is a new kde3 release. It introduces some important features.

Dragon Player Dragon Player

Figure 34 Dragon view's screenshot

Dragon Player is a simple media player for the KDE desktop environment. It is the renamed continuation of a video player for KDE 3 called Codeine, which was originally created and developed by Max Howell, and is now developed by Ian Monroe under the new name for KDE 4.Because Dragon Player makes use of Phonon—a multimedia API that itself connects to any of several multimedia frameworks—it will play anything the particular connected multimedia framework supports. It is the default video player in the KDE 4 version of 8.04. Features Simple interface Resuming videos Support for subtitles Video display settings (brightness, contrast) Due to using Solid and Phonon, Dragon Player is independent of any multimedia framework or hardware abstraction layer Supports playing CDs and DVDs

Audio Players : Amorak And JuK

JuK JuK

Figure 35 A screenshot of JuK audio jukebox for KDE

JuK is a free software audio player for KDE, the default player since KDE 3.2 part of the kdemultimedia package. JuK supports collections ofMP3, Ogg Vorbis, and FLAC audio files. JuK was started by Scott Wheeler in 2000, and was originally called QTagger — however, it was not until 2002 that the application was moved into KDE CVS, where it has grown into a mature audio application. It was first officially part of KDE in KDE 3.2. Features of JuK Though an able music player, JuK is primarily an audio jukebox application, with a strong focus on management of music. The following features reflect this: Collection list and multiple user defined playlists. Ability to scan directories to automatically import playlists (.m3u files) and music files on start up. Dynamic Search Playlists that are automatically updated as fields in the collection change. A Tree View mode where playlists are automatically generated for sets of albums, artists and genres. Playlist history to indicate which files have been played and when. Inline search for filtering the list of visible items. The ability to guess tag information from the file name or using MusicBrainz online lookup. File renamer that can rename files based on the tag content. ID3v1, ID3v2 and Ogg Vorbis tag reading and editing support (via TagLib).

Amarok

Amarok

Figure 36 Screenshot of Amarok audio player, showing the playlist, dynamic playlist editor, and several applets.

Amarok is a free software music player for Linux and other varieties of Unix. It makes use of core components from the K Desktop Environment, but is released independently of the central KDE release cycle. Despite the fact that Amarok uses wolf-based artwork, and that the name "amarok" or "amaroq" literally refers to the Inuktitut word for "wolf", it was originally named after the album Amarok by Mike Oldfield. The 1.2 release originally had a wolf icon, but this was later withdrawn due to similarity with the logo of WaRP Graphics Inc. Amarok's wolf logo has now been modified sufficiently so as not to infringe on WaRP's trademarked logo, and reinstated. Originally named amaroK, it was renamed to Amarok in June 2006. The latest version of the software called Amarok 2 was released on 2008-12-10 and it is a complete aesthetic and functional redesign of the Amarok 1.4x series. Amarok 1.4 established a reputation for innovation after its release, but maintaining development with the old framework became more difficult as Amarok grew. With the release of KDE4 the developers decided to give Amarok a complete overhaul aesthetically as well as functionally leading to the birth of a new, improved and robust media player named Amarok 2. Features Basic uses and functions Amarok serves many functions rather than just playing music files. For example, Amarok can be used to organize a library of music into folders according to genre, artist, and album, can edit tags attached to most music formats, associate album art, attach lyrics, and automatically "score" music as it is played. Although a more technical list of features is listed below, here are the primary functions or uses for Amarok: Playing media files in various formats including but not limited to (depending on the setup) FLAC, Ogg, MP3, AAC, WAV, , , WavPack, TTA and . Amarok does not play digital music files embedded with DRM. Tagging digital music files (currently FLAC, Ogg, WMA, AAC, MP3, and RealMedia). Associating cover art with a particular album, and retrieving the cover art from Amazon Creating and editing playlists, including smart and dynamic playlists. The dynamic playlists can use such information as the "score" given to a song by an Amarok script, and the playcount which is stored with the song. Synchronizing, retrieving, playing, or uploading music to the following digital music players: iPod, iFP, Creative NOMAD, , MTP, Rio Karma and USB devices with VFAT (generic MP3 players) support. Displaying artist information from Wikipedia and retrieving song lyrics. Last.fm support, including submitting played tracks (including those played on some digital music players) to Last.fm, retrieving similar artists and playing Last.fm streams. From version 1.4.4, Amarok introduced the integration of , a non-DRM digital music store, enabling users to purchase music in Ogg,FLAC, WAV and MP3 formats. Some of these features depend on other programs or libraries that must be installed on the computer to operate. Amarok 2.0 Amarok 2 was released on 10 December 2008 bringing along a plethora of new features and a completely redesigned interface. New features include: Tight integration with online services such as Magnatune, , MP3tunes, Last.fm and Shoutcast. Completely overhauled scripting API and plugin support to allow better integration into Amarok. Migration from the KDE 3 to KDE 4 framework, and utilization of core technologies such as Solid, Phonon, and Plasma. The user interface has been redesigned to make context information like lyrics and albums from the same artist more accessible and allows the user to decide which information is available by adding applets to the Context View in the middle. The new Biased Playlists offer a way to let Amarok take care of the playlist in an intelligent way similar to Dynamic Playlists in previous versions. New services can easily be added via GetHotNewStuff in Amarok or from kde-apps.org. The migration to the KDE 4 framework allows Amarok 2 to make use of technologies like Plasma, Phonon, and Solid which make Amarok easier to use and maintain.

KDE Applications- CD Burner and Ripper

CD Burner and ripper- K3b Figure 37 Screenshot of K3b 1.0

K3b (from KDE Burn Baby Burn) is a CD and DVD authoring application for the KDE desktop environment for Unix-like computer operating systems. It provides a graphical user interface to perform most CD/DVD burning tasks like creating an Audio CD from a set of audio files or copying a CD/DVD, as well as more advanced tasks such as burning eMoviX CD/DVDs. It can also perform direct disc-to-disc copies. The program has many default settings which can be customized by more experienced users. The actual disc recording in K3b is done by thecommand line utilities cdrecord or wodim, , and growisofs. As of version 1.0, K3b features a built-in DVD ripper. As is the case with most KDE applications, K3b is written in the C+ + programming language and uses the Qt GUI toolkit. Released under theGNU General Public License, K3b is free software. A finalized KDE 4 version of K3b is expected sometime around April or May. Features Some of K3B's features include: Data CD/DVD burning Audio CD burning CD Text support DVD-R /DVD+R/DVD-RW/DVD+RW support CD-R /CD-RW support Mixed Mode CD (Audio and Data on one disk) Multisession CD Video CD /Video DVD authoring eMovix CD/eMovix DVD Disk to Disk CD and DVD copy Erasing CD-RW/DVD-RW/DVD+RW ISO image support Ripping Audio CDs, Video CDs, Video DVDs K3B can also burn data CDs that support Linux/Unix based OS, Windows, DOS, Very Large Files (UDF), Linux/Unix + Windows, Rock Ridge,Joliet file systems.

KDE Applications-Office Application KOffice Figure 38 KWord screenshot

KOffice is an office suite for the K Desktop Environment (KDE). All its components are released under free software/open source licenses and use OpenDocument as their native file format when possible. The latest version of KOffice is 1.6.3, which was released on June 7, 2007. KOffice is released separately from KDE and can be downloaded at the KOffice homepage. KOffice 2.0 The current KOffice 1.6.x series is designed for Unix, but the upcoming 2.0 release is expected to add compatibility for Mac OS X and Windows. In addition, KOffice is undergoing a large overhaul to use and Pigment as much as possible within applications. KOffice developers plan to share as much infrastructure as possible between applications to reduce bugs and improve the user experience. They also want to create an OpenDocument library for use in other KDE applications that will allow developers to easily add support for reading and outputting OpenDocument files to their applications. Automating tasks and extending the suite with custom functionality can be done with dbusor with scripting languages like Python, Ruby, and JavaScript. KOffice components KOffice includes the following components:

A word processor with style sheets and KWord -support for DTP-style editing of complex layouts.

A spreadsheet application with multiple KSpread sheet support, templates and more than 100mathematical formulas. A with image and KPresenter effect support.

A programmable drawing program with dynamically loadable stencils. Developed Kivio bytheKompany, which offers additional (non-free) stencils for sale.

A vector drawing application with a variety Karbon14 of drawing and editing tools.

(Formerly known as Krayon and KImageshop). A bitmap graphics manipulation program, primarily designed as a painting program, with some image processing features.

Kugar andK Integrated report and chart generators. Chart

KFormula An integrated mathematical .

An integrated data management application, designed as a or FileMakercompetitor. It can be used for designing and implementing databases, inserting and processing data and performing queries. It has limited compatibility with the MS Access file format.

A project management application that can KPlato create Gantt-style charts. KOffice includes import filters for some file formats provided by competitors.

KDE Applications- Internet Applications

All the main internet applications i.e web browser and e mail client are discussed earlier in the section

Instant Messanger - Kopete Kopete is a multi-protocol, free software instant messaging client. Although it can run in numerous environments, it was designed for and integrates with the KDE desktop environment. According to the Kopete FAQ, the name Kopete comes from the Chilean word Copete, a word to refer to alcoholic drinks. Protocols Kopete allows users to connect to the following protocols: .NET Messenger Service AOL Instant Messenger Bonjour Gadu-Gadu (mostly broken in current releases) ICQ Jabber (XMPP) with for voice (same as Google Talk uses) Lotus Sametime via the Meanwhile plugin Novell GroupWise QQ SMS Skype (via Kopete Skype) (deprecated) Winpopup Windows' legacy network messenger service. Yahoo! Messenger

Features Grouping messages within a window, with tabs for easy switching of conversations. Accounts option allows user to log on with multiple accounts. Ability to define/handle multiple accounts of the same transport (e.g. 3 of ICQ and 2 of Jabber) at the same time. Alias nicknames for contacts. Grouping different contacts who are really the same person as one meta contact. Custom notifications for meta contacts. KAddressBook and KMail integration. Logging conversations supported using the History plugin. Style chat window appearance via XSL and CSS. Custom emoticons supported. Custom notification feature pops up a notification, plays a sound, or sends contact a message based on contact's status changes. MSN and Yahoo! messenger support. Spell checking on-the-fly in chats. Plugins By default, Kopete supports the following plugins. Auto Replace Connection Status Contact Notes Cryptography Highlight History KopeteTeX Motion Auto-Away Now Listening Statistics Text Effect Translator Web Presence With a third party plugins Kopete supports: Off-the-Record Messaging enabling for encrypted conversations with deniable authentication and perfect forward secrecy. Antispam by asking simple question to unknown contacts.

KDE Applications Other utility apps

Archive Manager- Figure 39 A screenshot of Ark in KDE 4.1

Ark is an archiving tool for KDE, included into kdeutils package. Features Ark does not intrinsically understand any archive format, but instead acts as a frontend to command-line archivers. It can work with many backends, including 7z, tar, rar, zip, gzip, bzip2, , , and . Ark can be integrated into Konqueror, through KParts technology, if the appropriate plugin from kdeaddons package is installed. After installing it, files can be added or extracted in/from the archives using Konqueror's context menus. Support for editing files in archive with external programs. Files can also be deleted from the archive. Archives creation with drag and drop.

PDF Reafer KPDF and KPDF Figure 40 Screenshot.

KPDF is a free PDF reader based on . It is integrated with the KDE desktop environment, so it embeds very well in Konqueror as KPart. Feature highlights: Three different ways of searching: find dialog, thumbnail filter and type-ahead find. Capture images and text easily with kpdf by dragging a rectangle around what is desired to be captured. Choosing the default background/text colors, like a CSS style sheet. Ability to add bookmarks to pages. KPDF allows text in to be read through KTTS text-to-speech. KPDF has been replaced in KDE 4 by Okular.

Okular Figure 41 Okular showing a PDF in KDE 4

Okular is the document viewer for KDE 4. It is based on KPDF and it replaced KPDF, KGhostView, KFax, KFaxview, KDVI in KDE 4. Its functionality can be easily embedded in other applications. Okular was started for the Google Summer of Code of 2005; Piotr Szymanski was the accepted student. Okular is a successful story of the 2007 Season of Usability. In this season the Okular toolbar mockup was created based on an analysis of other popular document viewers and a usage survey. Okular has additional features, including commenting on documents, highlighting and drawing lines, geometric shapes, adding textboxes, and stamps.

Okular can also be used on GNOME desktop environment. It supports the following file formats: Portable Document Format (PDF) with the Poppler backend PostScript with the libgs backend Tagged Image File Format (TIFF) with the libTIFF backend Microsoft Compiled HTML Help (CHM) with the libCHM backend DjVu with the DjVuLibre backend Device independent file format (DVI) XML Paper Specification (XPS) OpenDocument format (ODF) FictionBook ComicBook EPUB Various image formats IDE KDevelop

Figure 42 Screenshot of KDevelop

KDevelop is a free software integrated development environment for the KDE desktop environment for Unix-like computer operating systems. KDevelop does not include a compiler; instead, it uses an external compiler such as gcc to produce executable code. The current version, 3.5, supports many programming languages such as Ada, , C, C++, , Java, Pascal, Perl, PHP, Python and Ruby. Released under the GNU General Public License, KDevelop is free software. Features KDevelop uses an embedded text editor component through the KPart framework. The default editor is KDE Advanced Text Editor, which can optionally be replaced with a Qt Designer-based editor. This list focuses on the features of KDevelop itself. For features specific to the editor component, see the article on Kate. Source code editor with syntax highlighting and automatic indentation (Kate). Project management for different project types, such as , for Qt based projects and Ant for Java based projects. Class browser. GUI Designer Front-end for the GNU Compiler Collection. Front-end for the GNU Debugger. Wizards for generating and updating class definitions and application framework. Automatic code completion (C/C++). Built-in Doxygen support. Revision control (also known as SCM) support. Supported systems include CVS, Subversion, Perforce and ClearCase. KDevelop 3 is a completely plugin-based architecture. When a developer makes a change, he only has to compile the plugin. There is a possibility to keep several profiles each of which determines which plugins to be loaded. KDevelop does not come with a text editor, but instead uses a plugin for this purpose as well. KDevelop is programming language- independent and build system-independent, supporting KDE, GNOME, and many other technologies such as Qt, GTK+, and wxWidgets. KDevelop has a variety of supported languages, including C, C+ +, Perl, Python, PHP, Java, Fortran, Ruby, Ada, Pascal, SQL, and Bash scripting. Supported build systems include GNU (automake), , qmake, and make for custom projects (KDevelop does not destroy your own Makefilesif that's what you want to use) and scripting projects which don't need one. Code completion is available for C and C++. Symbols are kept in a Berkeley DB file for quick lookups without re-parsing. KDevelop also offers a developer framework which helps to write new parsers for other programming languages. An integrated debugger lets you graphically do all the debugging with breakpoints and backtraces. It even works with dynamically loaded plugins unlike command line GDB. Quick Open allows quick navigation between files. Currently, 50 to 100 plugins exist for the IDE. Major ones include persistent project-wide code bookmarks, Code abbreviations which let you quickly expand text, a Source formatter which reformats your code to a style guide before it is saved, Regular expressions search, and project- wide search/replace which helps with refactoring code. 4.The battle GNOME vs. KDE

It appears this old argument is flaring up again. On Linux.com there was an article discussing some recent posts on the Linux Foundation’s Desktop Architects mailing list: Christian Schaller suggested Linus Torvalds should try using Gnome for a month and then report back on his experiences at the forthcoming GAUDEC conference in the UK. Inspired by this I’ve decided to take up the challenge – all be it in the opposite direction (and I won’t be reporting back at GAUDEC!). I haven’t used KDE in well over a year, and when I did I only used it for a few days, so I have very few expectations about what I’m going to find. The reason I’ve never really tried KDE before is that Gnome hasn’t given me any reason to switch: I’ve always been very happy with it and I guess it might be fair to say I’m something of a Gnome fan. Despite this I promise to try and stay as impartial as possible! I’ve just installed KDE on this system and this week I plan to report back on my first impressions. I’m hoping that things I might find different or difficult to begin with will be highlighted here and some kind people will point me in the right direction so I can have the best possible experience. Logging in for the first time seemed to take quite a while to reach the desktop so this persuaded me to compare the two desktops in terms of speed: this first login was a bit of a fluke because when I switched back to compare this with Gnome the second login seemed a lot quicker. In fact I would say that KDE actually feels a bit sharper than Gnome across the entire desktop with applications starting quicker, specifically Firefox – a great start for KDE! My first major gripe, though, is the desktop pager and keyboard short- cuts! I’m a big fan of multiple desktops and find it to be very useful in Gnome; I’m also a big fan of being able to very easily switch desktops with the keyboard short-cut ctrl+alt+right which is set by default in Gnome. This seems as obvious and important to me as ctrl+alt is for switching open windows - yet in KDE it was not set by default. I’ve heard this sort of point raised before with people suggesting that Gnome opts for sensible defaults where as KDE expects the user to configure everything just the way they like it; I’m starting to believe this is true! I was able, however, to quickly find the Keyboard and Mouse options menu and set the short-cut myself. At this point in my journey I’m leaning more towards the Gnome way of doing things; perhaps after a month I will have been seduced by the infinite configurability of KDE and the satisfaction of making things just so. While trying to sort out the above problem I found the System Settings menu which I actually thought was very good, as are all the settings’ dialogues throughout: although I’m not convinced they’re laid out in the most intuitive way they are very thorough and give quite a few more options than is immediately obvious in Gnome’s menus and and applications. For example Kopete’s options were clearly labelled and I immediately discovered how to change my screen name and set a display picture, something which is not that apparent in Gaim (although this has been improved in version 2). I’m also looking forward to giving Konqueror a good work out. I’ve heard lots of positive things about its speed and the quality of its rendering engine so I’m interested to see what these are like in the real world; not forgetting to mention its reputation as a brilliant file manager! I haven’t really had much need for Konqueror yet so you’ll have to wait until my final thoughts in a month’s time (bet you can’t wait!!). I guess the final point I’ll make regarding my first experiences with KDE is that it seems messy: everything looks very busy and I’m finding it quite difficult to pick out individual applications from the K menu, to pick out individual users in Kopete, icons in the system tray etc which makes navigation as a whole a bit less natural. Still I hear it’s all customizable so I’ll start playing around and see if I can set things up how I like! It would seem to me at this early stage that Gnome makes a lot more sense out of the box… I realise this was very brief but I’ve not been using KDE for long! I’ll write again in a months time and let you know all the things that have driven me crazy, the things that I’ve loved, and whether or not I’ll decide to stay with KDE 5.XFACE-the underdog DE Figure 43 A typical Xfce 4.4 desktop. Various Xfwm effects are visible (drop shadows behind windows, semi-transparent windows and panel).

Xfce is a free software desktop environment for Unix and other Unix- like platforms, such as Linux,Solaris and BSD. It aims to be fast and lightweight, while still being visually appealing and easy to use. The current version, 4.6, is modular and reusable. It consists of separately packaged components that together provide the full functionality of the desktop environment, but which can be selected in subsets to create the user's preferred personal working environment. Xfce is mainly used for its ability to run a modern desktop environment on relatively hardware. It is based on the GTK+ 2 toolkit (as is GNOME). It uses the Xfwm window manager, described below. Its configuration is entirely mouse- driven, and the configuration files are hidden from the casual user. Xfce is somewhat similar to the commercial CDE, but has been getting a little further away from that comparison with each new major version.

History started the project in 1996. The name "Xfce" originally stood for "XForms Common Environment", but since that time Xfce has been rewritten twice and no longer uses that toolkit. The name survived, but it is no longer capitalized as "XFce", but rather as "Xfce". The developers' current stance is that the initialism no longer stands for anything specific. First versions Xfce began as a simple project created with XForms, meant to be a free Linux of CDE. Fourdan released the program, a simple toolbar, toibiblio (then "SunSITE"). Version 2 Fourdan continued developing the project, and in 1998, Xfce 2 was released with the first version of Xfce's window manager, Xfwm. He requested to have the project included in , but was refused because the project was based on XForms. Red Hat only accepted software that was free and open source, but, at the time, XForms was closed source and free only for personal use. For the same reason, Xfce was not in Debian before version 3. Xfce 2 was only distributed in Debian's contrib component. Version 3 In March 1999 Fourdan began a complete rewrite of the project based on GTK+, a non-proprietary toolkit whose popularity was increasing. The result was Xfce 3.0, which was licensed under the GNU GPL. Along with being based completely on open-source software, the project gained GTK+'s drag- and-drop support, native language support, and improved configurability. Xfce was uploaded to SourceForge.net in February 2001, starting with version 3.8.1. Version 4 In version 4.0.0, Xfce was upgraded to use the GTK+ 2 libraries. Changes in 4.2.0 included a compositing manager for Xfwm which added built-in support for transparency and drop shadows, as well as a new default SVG icon set. In January 2007, Xfce 4.4.0 was released. This included the file manager, a replacement for Xffm. Support for desktop icons was added. Also, various improvements were made to the panel to prevent buggy plugins from crashing the whole panel. Applications

Mousepad

Xfce provides a development framework for applications. Other than Xfce itself, there are third-party programs which use the Xfce libraries, most notably the Mousepad text editor, Xfmedia audio player, Orage Calendar and Terminal. One of the services provided to applications by the framework is a red banner across the top of the window when the application is running with root privileges warning the user that they could damage system files. Other Xfce components include: Xfmedia, a xine-based media player for Xfce Xfprint, a print manager Xfburn, a CD/DVD burner Mousepad Figure 44 Screen shot mouse pad

Mousepad is a simple text editor written by Erik Harrison. It is the default text editor of the Xfce desktop environment. According to the Xfce website, Mousepad is based on an older text editor called , and was developed in order to provide printing support. Mousepad has had a handful of maintainers since its introduction. The next version of Mousepad, version 0.3.x, is a rewrite being conducted by Nick Schermer. Orage Starting with version 4.4, Xfcalendar was renamed to Orage and several features were added. Orage has alarms and uses the iCalendarformat, making it compatible with many other calendar applications. It also includes a panel clock plugin and an international clock application capable of simultaneously showing clocks from several different time zones. Thunar Thunar is a file manager for Linux and other Unix-like systems, written using the GTK+ 2 toolkit and shipped with Xfce version 4.4 RC1 and later. Thunar is developed by Benedikt Meurer, and was originally intended to replace XFFM, Xfce's previous file manager. Thunar was initially called Filer but was changed to Thunar due to a name clash. The main goal of the Thunar project is to create a file manager that is fast, clean, and easy to use. It is designed to start up faster and be more responsive than other Linux file managers, such as Nautilus and Konqueror . Accessibility, another goal of the project, is accomplished using Assistive Technologies (i.e., GNOME Accessibility Toolkit). Like the rest of Xfce, Thunar is designed to comply with standards, such as those stated at freedesktop.org. Thunar is simple and lightweight by design, but its functionality can be extended through plugins. Thunar is named after the god of thunder in Norse mythology. Xfwm Starting with version 4.2, Xfwm integrates its own compositing manager. At its inception, many users called it the most stable one available, though at the time, in late 2004, xcompmgr was the only other compositing manager available.

Midori ( Japanese for green) is a web browser that aims to be lightweight and fast. It uses the WebKit rendering engine and the GTK+ 2 interface. Midori is part of the Xfce desktop environment's Goodies component. As of February 2009, the project is still at alpha status. Features ]

Figure 45 Midori Passing the Test

Among the latest features are: toggle full image zoom graphically add and remove items from the toolbar there is a plugin panel the sidepanel can be moved to the right side internationalized domain names are supported a mouse gestures extension integration with if you're on a mobile device find as you type.

Conclusion Every day we see our computer and see the desktop many times a day. But do we think which technology is working here. This is the day when we see the X desktop around. Windows and Mac don’t have variety in their desktop environments but Linux has. Here you can only two as they are the leaders here. You have seen the reason also. It’s easy to enjoy the Linux Desktop Environments.

Bibliography w en.wikipedia.org w torwaldsfamily.blogspot.com w www.linuxforyou.com M Linux For You Dec ’08 Jan ‘09 M Digit’s supplement on Linux April 2004 and February 2009