Linux Desktop Environments Submitted By

Total Page:16

File Type:pdf, Size:1020Kb

Linux Desktop Environments Submitted By 2009 Linux desktop 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 Desktop Environment” in subject Seminar report and produced this report of year 2009 and submitted to S.S.E.C., BHAVNAGAR. DATE OF SUBMISSION: --------------------------------------------- STAFF IN CHARGE: HEAD OF DEPARTMENT: PRINCIPAL: 1 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 2 1. Desktop environment introduction In graphical computing, a desktop environment (DE) commonly refers to a style of graphical user interface (GUI) that is based on the desktop metaphor which can be seen on most modern personal computers today. Desktop environments are the most popular alternative to the older command-line interface (CLI) which today is generally limited in use to computer professionals. A desktop environment typically consists of icons, windows, toolbars, folders, wallpapers, and desktop widgets. Software which provides a desktop environment might also provide drag and drop 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 WIKIPEDIA 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 window manager, or a suite of programs which includes a window manager. 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 productivity software, 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 3 relation to computer science refers both to a type of user interface, and to a lesser extent a particular class of window manager. X Window System Figure 1 X Window System graphical user interface and applications common to the MIT X Consortium's distribution running under thetwm window manager: X Terminal, 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 raster graphics (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 Unix-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 basic 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 client programs handle 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 operating system 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 4 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 free software 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 web browser and a terminal emulator 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 touchscreen). 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. 5 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". Open-source clients such as Xnestand Xephyr 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 telnet 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 button, menu, or window title bar styles. Instead, application software – 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. 6 A window manager controls the placement and appearance of application windows. This may have an interface akin to that of Microsoft Windows or of the Macintosh (examples include Metacity in GNOME, KWin in KDE or Xfwm in Xfce) or have radically different controls (such as a tiling window manager, like wmii or Ratpoison). The window manager may be bare- bones (e.g. twm, 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. Enlightenment). 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
Recommended publications
  • Solaris 10 End of Life
    Solaris 10 end of life Continue Oracle Solaris 10 has had an amazing OS update, including ground features such as zones (Solaris containers), FSS, Services, Dynamic Tracking (against live production operating systems without impact), and logical domains. These features have been imitated in the market (imitation is the best form of flattery!) like all good things, they have to come to an end. Sun Microsystems was acquired by Oracle and eventually, the largest OS known to the industry, needs to be updated. Oracle has set a retirement date of January 2021. Oracle indicated that Solaris 10 systems would need to raise support costs. Oracle has never provided migratory tools to facilitate migration from Solaris 10 to Solaris 11, so migration to Solaris has been slow. In September 2019, Oracle decided that extended support for Solaris 10 without an additional financial penalty would be delayed until 2024! Well its March 1 is just a reminder that Oracle Solaris 10 is getting the end of life regarding support if you accept extended support from Oracle. Combined with the fact gdpR should take effect on May 25, 2018 you want to make sure that you are either upgraded to Solaris 11.3 or have taken extended support to obtain any patches for security issues. For more information on tanningix releases and support dates of old and new follow this link ×Sestive to abort the Unix Error Operating System originally developed by Sun Microsystems SolarisDeveloperSun Microsystems (acquired by Oracle Corporation in 2009)Written inC, C'OSUnixWorking StateCurrentSource ModelMixedInitial release1992; 28 years ago (1992-06)Last release11.4 / August 28, 2018; 2 years ago (2018-08-28)Marketing targetServer, PlatformsCurrent: SPARC, x86-64 Former: IA-32, PowerPCKernel typeMonolithic with dynamically downloadable modulesDefault user interface GNOME-2-LicenseVariousOfficial websitewww.oracle.com/solaris Solaris is the own operating system Of Unix, originally developed by Sunsystems.
    [Show full text]
  • Support for Mobile Augmented and Synthesized Worlds
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Illinois Digital Environment for Access to Learning and Scholarship Repository Support for Mobile Augmented and Synthesized Worlds December 17, 2007 Won J. Jeon and Roy H. Campbell {wonjeon, rhc}@uiuc.edu Department of Computer Science University of Illinois at Urbana-Champaign Abstract Virtual worlds provide 3D-immersive experiences to users and some of them already have already launched commercial service to users. As computing environment becomes more heterogeneous, more mobile users are anticipated to access the virtual world with their mobile devices. However, still there are challenges and problems to be addressed for mobile users. In this report, state-of-art virtual world platforms are presented and their key features are compared. We compare possible approaches to tackle these problems to support virtual worlds for mobile devices. Transcoding scheme at the proxy is presented and evaluated for a given computing and networking environment. 1. Introduction A virtual world is a computer-simulated or synthesized environment where multiple users inhabit and interact to each other via avatars. The world mimics the real world via simulated real world physics and the persistence of the world comes from maintaining and updating the state of the world around the clock. Historically this concept is rooted from distributed interactive simulation (DIS) and massively multiplayer online role- playing game (MMORPG). DIS is used mainly by military organizations whereas MMORPG has gained huge popularity among general users or gamers. The world is typically represented as 2D or 3D graphics to multiple users.
    [Show full text]
  • Changing Java Applications
    Menu Topics Archives Downloads Subscribe The code underpinning the Brazilian CODING healthcare system—and other world- changing Java applications The code underpinning the Brazilian Thanks for the memories healthcare system—and other world- Developer software for the win changing Java applications Banking on financial software Games and visualization Your reactions to the list of the 25 greatest Efficient communication Java apps ever written Science and AI applications by Alexa Morales August 28, 2020 It was with a smidge of trepidation that I offered my list of the 25 greatest Java applications, frameworks, platforms, and libraries ever written. After all, developers are a demanding audience. But the article received hundreds of comments on Reddit, Slashdot, Hacker News, and Twitter, and it inspired many letters to the editor. The piece even received happy social media posts from those who made the list, including the US National Security Agency and a.i. solutions. The US National Security Agency was secretly pleased we noticed its Ghidra binary decompilation tool. The team from a.i. solutions was happy its DSTE trajectory design tool made the list. The tenor of conversation was both positive and polite. That speaks volumes about the excellent character of Java developers, don’t you think? But, developers being who they are, opinions on what should have made the list abounded. The good news is, Java has transformed the world. The bad news is, my list didn’t represent enough of the world beyond the United States. For example, there’s the Java code written to manage the Brazilian Healthcare Information System and the Brazilian tax system (Duke’s Choice Award winner in 2005).
    [Show full text]
  • Proceedings of the Linux Symposium Volume
    Proceedings of the Linux Symposium Volume Two July 19th–22nd, 2006 Ottawa, Ontario Canada Contents Evolution in Kernel Debugging using Hardware Virtualization With Xen 1 Nitin A. Kamble Improving Linux Startup Time Using Software Resume (and other techniques) 17 Hiroki Kaminaga Automated Regression Hunting 27 A. Bowen, P. Fox, J. Kenefick, A. Romney, J. Ruesch, J. Wilde, & J. Wilson Hacking the Linux Automounter—Current Limitations and Future Directions 37 Ian Maxwell Kent & Jeff Moyer Why NFS Sucks 51 Olaf Kirch Efficient Use of the Page Cache with 64 KB Pages 65 Dave Kleikamp and Badari Pulavarty Startup Time in the 21st Century: Filesystem Hacks and Assorted Tweaks 71 Benjamin C.R. LaHaise Using Hugetlbfs for Mapping Application Text Regions 75 H.J. Lu, K. Doshi, R. Seth, & J. Tran Towards a Better SCM: Revlog and Mercurial 83 Matt Mackall Roadmap to a GL-based composited desktop for Linux 91 K.E. Martin and K. Packard Probing the Guts of Kprobes 101 A. Mavinakayanahalli, P. Panchamukhi, J. Keniston, A. Keshavamurthy, & M. Hiramatsu Shared Page Tables Redux 117 Dave McCracken Extending RCU for Realtime and Embedded Workloads 123 Paul E. McKenney OSTRA: Experiments With on-the-fly Source Patching 139 Arnaldo Carvalho de Melo Design and Implementation to Support Multiple Key Exchange Protocols for IPsec 143 K. Miyazawa, S. Sakane, K. Kamada, M. Kanda, & A. Fukumoto The State of Linux Power Management 2006 151 Patrick Mochel I/O Workload Fingerprinting in the Genetic-Library 165 Jake Moilanen X86-64 XenLinux: Architecture, Implementation, and Optimizations 173 Jun Nakajima, Asit Mallick GCC—An Architectural Overview, Current Status, and Future Directions 185 Diego Novillo Shared-Subtree Concept, Implementation, and Applications in Linux 201 Al Viro & Ram Pai The Ondemand Governor 215 Venkatesh Pallipadi & Alexey Starikovskiy Linux Bootup Time Reduction for Digital Still Camera 231 Chan-Ju Park A Lockless Pagecache in Linux—Introduction, Progress, Performance 241 Nick Piggin The Ongoing Evolution of Xen 255 I.
    [Show full text]
  • ICL Template
    Collaborative Virtual 3D Environment for Internet-accessible Physics Experiments 1,2 2 1,3 2 Tina Scheucher , Philip H. Bailey , Christian Gütl , V. Judson Harward 1 Graz University of Technology, Graz, Austria 2 Massachusetts Institute of Technology, Cambridge, USA 3 Curtin University of Technology, Perth, WA Abstract—Immersive 3D worlds have increasingly raised the user is able to interact within the environment. For interest of researchers and practitioners for various example, the user can enter and exit rooms, walk around learning and training settings over the last decade. These buildings, and open drawers to see what is inside. virtual worlds can provide multiple communication Increases in desktop 3D computer graphics and network channels between users and improve presence and infrastructure were the two main technological advances awareness in the learning process. Consequently virtual 3D that have enabled the development of 3D VEs and have environments facilitate collaborative learning and training generally increased the potential of the World Wide Web. scenarios. Such environments provide the illusion of being immersed within a 3D space, and enable the user to perform actions In this paper we focus on the integration of internet- and behaviors which are analogous to those she can accessible physics experiments (iLabs) combined with the initiate in the real world [16]. The fact that users can gain TEALsim 3D simulation toolkit in Project Wonderland, experience in the same way that they can in the real world Sun's toolkit for creating collaborative 3D virtual worlds. opens new and interesting opportunities for physics Within such a collaborative environment these tools provide education.
    [Show full text]
  • A Survey of Technologies for Building Collaborative Virtual Environments
    The International Journal of Virtual Reality, 2009, 8(1):53-66 53 A Survey of Technologies for Building Collaborative Virtual Environments Timothy E. Wright and Greg Madey Department of Computer Science & Engineering, University of Notre Dame, United States Whereas desktop virtual reality (desktop-VR) typically uses Abstract—What viable technologies exist to enable the nothing more than a keyboard, mouse, and monitor, a Cave development of so-called desktop virtual reality (desktop-VR) Automated Virtual Environment (CAVE) might include several applications? Specifically, which of these are active and capable display walls, video projectors, a haptic input device (e.g., a of helping us to engineer a collaborative, virtual environment “wand” to provide touch capabilities), and multidimensional (CVE)? A review of the literature and numerous project websites indicates an array of both overlapping and disparate approaches sound. The computing platforms to drive these systems also to this problem. In this paper, we review and perform a risk differ: desktop-VR requires a workstation-class computer, assessment of 16 prominent desktop-VR technologies (some mainstream OS, and VR libraries, while a CAVE often runs on building-blocks, some entire platforms) in an effort to determine a multi-node cluster of servers with specialized VR libraries the most efficacious tool or tools for constructing a CVE. and drivers. At first, this may seem reasonable: different levels of immersion require different hardware and software. Index Terms—Collaborative Virtual Environment, Desktop However, the same problems are being solved by both the Virtual Reality, VRML, X3D. desktop-VR and CAVE systems, with specific issues including the management and display of a three dimensional I.
    [Show full text]
  • Geoff Ulman.Pdf
    Browsing Data in 3D: An Immersive First Person File Browser GEOFFREY ULMAN Rose-Hulman Institute of Technology ADVISOR: DR. J.P. MELLOR Rose-Hulman Institute of Technology Draft: 3-23-2005 Abstract As the data typical computer users receive and store daily increases, traditional hierarchical file browsers are becoming less and less useful in helping organize and retrieve that data. People do not have the time to create sufficiently “deep” hierarchies which accurately reflect the semantic structure of their data. More fundamentally, file hierarchies impose a single organization on the data, meaning interaction with the data is based on how the data was stored, not which properties pertain to the current task. Numerous solutions to this problem have been proposed, ranging from complicated search and indexing schemes (Google Desktop Search) to Microsoft Longhorn’s WinFS file system and others. This paper, however, focuses on addressing the question “where is my data?” by fundamentally changing the file browser metaphor so that interaction with computer data takes place in a 3-D virtual space which simulates an actual physical desk/office. First, current similar solutions using 3-D techniques are discussed and evaluated. Second, possible benefits of 3-D file browser interfaces are suggested. Finally, a list of design principles for use in 3-D user interface development was created by condensing research from HCI, human cognition and perception, VR, and UI design. These form the basis of the prototype immersive 3-D first person file browser currently under development. Abstract............................................................................................................................... 1 1. Introduction..................................................................................................................... 3 2. Interface Metaphor and Design Paradigms..................................................................... 5 3.
    [Show full text]
  • SCHOOL of SCIENCE & ENGINEERING Installation and Configuration System/Tool for Hadoop
    SCHOOL OF SCIENCE & ENGINEERING Installation and configuration system/tool for Hadoop Capstone Design April 2015 Abdelaziz El Ammari Supervised by: Dr. Nasser Assem i ACKNOWLEDGMENT The idea of this capstone project would not have been realized without the continuous help and encouragement of many people: I would like first to thank my supervisor Dr. Nasser Assem for his valuable recommendations and pieces of advice and great supervising methodology. In addition, I would like to thank my parents, sister, aunt and grandmother for their psychological support during the hard times of this semester. Many thanks go to my very close friends: Salim EL Kouhen, Ahmed El Agri, soukayna Jermouni, Lamyaa Hanani. I would like also to thank Ms. Ouidad Achahbar and Ms. Khadija Akherfi for their assistance and support. Special acknowledgements go to all my professors for their support, respect and encouragement. Thank you Mr. Omar Iraqui, Ms. Asmaa Mourhir, Dr. Naeem Nizar Sheikh, Dr. Redouane Abid, Dr. Violetta Cavalli Sforza and Dr. Kevin Smith. ii Contents 1. Introduction ..................................................................................................................................... 1 1.1 Project Purpose ....................................................................................................................... 2 1.2 Motivation ..................................................................................................................................... 2 1.2 STEEPLE Analysis .....................................................................................................................
    [Show full text]
  • Rotating Windows and Billboarded Icons
    Using Perspective in 3D File Management: Rotating Windows and Billboarded Icons John R. Maltby School of Commerce and Management, Southern Cross University [email protected] Abstract make an interface more usable, or that they can improve efficiency or productivity. A key premise of many of the The evaluation and comparison of 2D and 3D workspace current designs is that 3D virtual environments can more environments is a hot topic. Much has been said effectively engage spatial cognition and perception than concerning the promise of 3D workspaces but much less can 2D environments. However, to date, research studies has been realised. Part of the problem appears to be the have provided conflicting conclusions: certain studies difficulty of developing 3D GUIs with high usabilities have indicated that spatial memory can help locate items and effective navigation mechanisms. Many early in a 3D environment (e.g. [6][12][13][14]); others have environments simulated a 3D office but all suffered from indicated the reverse (e.g. [15][16]). The result is that all a range of problems, from poor navigation to issues of of currently available 3D GUIs have been less than spatial cognition. Indeed, most researchers now consider successful, with many suffering from major navigation an office to be an inappropriate metaphor for an problems [17]. Part of the problem in obtaining evidence effective 3D computer environment. This paper describes that the use of 3D images can improve efficiency or the development of a 3D workspace based directly on the productivity is the large number of differences that arise WIMP metaphor as opposed to a desktop or office between a typical 3D environment and a normal 2D metaphor.
    [Show full text]
  • GTK Development Using Glade 3
    GTK Development Using Glade 3 GTK+ is a toolkit, or a collection of libraries, which developers can use to develop GUI applications for Linux, OSX, Windows, and any other platform on which GTK+ is available. Original Article by Micah Carrick Table of Contents Part 1 - Designing a User Interface Using Glade 3 ___________________________________________1 Quick Overview of GTK+ Concepts ______________________________________________________________1 Introduction to Glade3 _________________________________________________________________________3 Getting Familiar with the Glade Interface_______________________________________________________3 Manipulating Widget Properties________________________________________________________________5 Specifying Callback Functions for Signals _______________________________________________________6 Adding Widgets to the GtkWindow _____________________________________________________________9 How Packing Effects the Layout ______________________________________________________________ 13 Editing the Menu (or Toolbar) ________________________________________________________________ 15 Final Touches to the Main Window ___________________________________________________________ 18 Part 2 - Choosing a Programming Language for GT K+ Developm ent _____________ 19 Which is the BEST Language? ________________________________________________________________ 19 Language Choice Considerations _____________________________________________________________ 19 A Look at Python vs. C________________________________________________________________________
    [Show full text]
  • User Manual
    AVC, Application View Controller User Manual version 0.11.0 Fabrizio Pollastri <[email protected]> AVC, Application View Controller User Manual Copyright © 2007-2016 Fabrizio Pollastri Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 [19] or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is at the end of this document. AVC outline Current version is AVC 0.11.0, beta status, released 23-Feb-2016. Tested on: Kubuntu 14.04 LTS Trusty Tahr, FP 23-Feb-2016 python 2 version: 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] python 3 version: 3.4.3 (default, Oct 14 2015, 20:28:29) [GCC 4.8.4] jython version: 2.7.0 widget toolkits: GTK+ v2.24.23, GTK3 v3.10.8, Qt4 v4.10.4, Swing v1.7.0_80-b15 Tkinter v8.6, tkinter v8.6, wxWidgets v3.0.1.1 . author: Fabrizio Pollastri, e-mail: f.pollastri (at) inrim.it. The AVC web site is hosted at http://avc.inrim.it Logo: Author note The author will be happy to ear about any usage of AVC. Please, feel free to send questions, corrections and suggestions to the author. The poor English of this manual requires special indulgence. Document info author: Fabrizio Pollastri created: 2007-07-10-11.25.23 PM modified: 2016-02-23-11.38.46 version: 225 Fabrizio Pollastri 2/115 AVC, Application View Controller User Manual Table of Contents 1.
    [Show full text]
  • Python and GTK+
    Python and GTK+ Copyright © 2003 Tim Waugh This article may be used for Red Hat Magazine The traditional way of doing things in UNIX® is with the command line. Want a directory listing? Run “ ls”. Want to pause the listing after each screenful? Run “ ls | more” . Each command has a well-defined task to perform, it has an input and an output, and commands can be chained together. It is a very powerful idea, and one that Red Hat Linux builds on too. However, who wants to type things on the keyboard all the time and memorise all the options that different commands use? Today, most people prefer to be able to point and click with their mouse or touchpad. Graphical applications— with windows and buttons and so on— allow people to point and click. In the Red Hat Linux world we have a windowing system called, simply, X. It provides simple drawing services for programs to use, such as drawing a line, or a box, or a filled region. This level of control is a bit too fine-grained to appeal to the average programmer though, and toolkits are available to make the task easier. Some examples are Qt (which KDE uses), GTK+ (which GNOME uses), and Tcl/Tk. They provide routines for drawing buttons, text boxes, radio buttons, and so on. All these graphical elements are collectively called widgets. Drawing buttons on the screen is not the only task for an X toolkit. It also has to provide methods for navigating the graphical interface using just the keyboard, for adjusting the size and contrast of the widgets, and other things that make the interface more usable in general and, most importantly, accessible.
    [Show full text]