Das X-Window-System

Total Page:16

File Type:pdf, Size:1020Kb

Das X-Window-System X – Window Programmierung Medieninformatik – Hochschule Rhein-Main Systemprogrammierung 2010 Christine Bauers Jan Nowag Kathleen Oehring X – Window Programmierung Gliederung 1. Einführung X Window System 2. Geschichte 3. Archtikektur 4. X – Lib Programmierung 5. Toolkits 6. Verschiednes 1. Einführung in das X – Window - System 1. Einführung X – Window System ● Netzwerkprotokoll ● Client – Server – strukturiert ● Standartbaukasten zur Erstellung graphischer Benutzeroberflächen ● Windowmanager ● Netzwerktransparent Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 2. Geschichte 2. Geschichte ● 1984 – Entwicklung von u.a. MIT ● 1987 – Version X11 ● 1988 – Gründung des nicht – kommerzielle X – Konsortiums The Open Group ● 1994 – TheOpenGroup uebernahem die Entwicklung Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 2. Geschichte ● 1994 – Xfree86 erlangt immer größeren wird Standart der X – Implementierung ● 2003 – Xfree löst sich auf X.Org Foundation ● 2004 – Die X – Org Foundation wird gegründet ● 2005 – Die Weiterentwicklung von X.Org, X.Org -Server, ist die meistverbreitete X - Implementierung Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 3. Architektur 3.1 Client 3.2 Server 3.3 X – Protokoll 3.4 Windowmanager 3.5 Kommunikationsmodell 3.1 Client ● Anwendungsprogramme ● Benutzt graphische Ein – und Ausgabe des Servers ● Kann auf selben Rechener laufen wie Server ● Beispiele: xclock, xcalc, xcalendar ● Spezieller Client: WindowManager Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 3.1 Client xcalc xeyes xcalendar Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 3.2 Server ● Läuft auf Rechner am Arbeitsplatz ● Stellt graphische Dienste zur Verfügung ● Enthält Grafikkarten – Maus und Tastaturtreiber ● Steuert Ein – und Ausgabegeräte Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 3.3 X - Protokoll ● Sorgt für Kommunikation zwischen Client und Server ● Geräteunabhänig ● Basiert auf TCP/IP oder UNIX – Domain - Sockets ● 4 Arten zur Kommunikation – Request – Reply – Event – Error Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 3.3 X - Protokoll Request ● Vom Benutzer ausgelöst ● Von X – Lib erzeugt ● Informationen für den Server z.B. Anweisung wie ein Fenster verschoben wurde ● Round – Trip – Request (erwartet Antwort – z.B. Veränderung der Fenstergröße) ● One – Way – Request (erwartet keine Antwort – z.B Linie zeichnen) Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 3.3 X - Protokoll Reply ● Serverseitige Antwort ● Nur bei Round – Trip - Request Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 3.3 X - Protokoll Events ● Vom Benutzer ausgelöste Aktionen (Mausbewegung, Tastendruck) ● Server kontrolliert sämtliche Eingabegeräte ● Server schickt registrierte Events an Anwendugsprogramm ● Events werden im Client in eine Warteschlange gelegt Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 3.3 X - Protokoll Error ● Ähnlich zu Events ● Xlib stellt Funktionen zur Fehlerbehebung bereit ● Unterscheidung zwischen behebbaren und fatalen Fehlern Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 3.3 X - Protokoll Pufferung ● Anfragen werden gesammelt ● Gesammelte Anfragen werden verschickt, wenn Puffer voll ist ● Ausnahmen – Kein passendes Ereignis in der Warteschlange – Round – Trip – Request – Client entleert Puffer manuell Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 3.4 Windowmanager ● Spezieller X – Client ● Verwaltung der Fenster am Bildschirm ● Stellt Funktionen wie Minimieren, Vergrößern und Schließen zur Verfügung ● Kwin (KDE) ist bekanntester Windowmanager Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 3.4 Windowmanager ● Kwin – Bildschirmhintergrund ist kein root – Window, sondern KDE – Desktop selbst ● Aktionen wie Drag & Drop sind dadurch möglich ● Kann in verschiedenen Stilen angepasst werden Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 3.4 Windowmanager KDE 4.1.3 Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 3.5 Kommunikationsmodell Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 4. Xlib – Programmierung 4.1 Xlib 4.2 Funktionsweise 4.3 Nachteile 4.4 XCB 4.1 Xlib • Basis des X Window Systems auf der Client-Seite ● in C geschriebene Programmbibliothek, die Funktionen und Datenstrukturen zur Kommunikation mit dem X-Server bereitstellt ● erfordert vom Programmierer keine Kenntnisse über das X-Protokoll ● bleibt den Entwicklern von grafischen Anwendungen normalerweise verborgen, da diese gegen Toolkits und andere Bibliotheken programmieren, welche auf der Xlib aufbauen ● Referenzimplementierung der X.Org Foundation Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 4.1 Xlib Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 4.2 Funktionsweise Erzeugen eines einfachen Fensters: 1. Verbindung zum X-Server aufbauen 2. Fenster definieren 3. Informationen für den Windowmanager (optional) 4. Fenster anzeigen 5. Fenster schließen, Verbindung beenden Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 4.2 Funktionsweise Wichtige Begriffe ● Host: Name des Servers im Netzwerk ● Display: X-Server aus Softwaresicht, mehrere X-Server auf einem Rechner erfordern Hardware, die Ein- und Ausgabegeräte für mehrere Benutzer bereitstellt ● Screen: Bildschirm an einem Display, wobei ein Display mehrere Bildschirme haben kann, die dann einem Benutzer zur Verfügung stehen Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 4.2 Funktionsweise Host „eins“ Host „zwei“ Host „drei“ Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 4.2 Funktionsweise Verbindung mit dem Server aufbauen Display *XOpenDisplay(char *display_name) Für POSIX-konforme Systeme gilt: - display_name: hostname:display_number:screen_number (TCP) - display_name: hostname::display_number:screen_number (DECnet) - display_name: display_number:screen_number (UNIX Domain Socket) Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 4.2 Funktionsweise Fenster definieren int XDefaultScreen(Display *display) - Liefert die Nummer des Standardbildschirms zurück - wird bei vielen Funktionsaufrufen benötigt Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 4.2 Funktionsweise Window XRootWindow(Display *display, int screen_number) - jedes zu erzeugende Fenster benötigt einen Vorfahren - bei Client-Fenstern auf oberster Ebene ist das der Windowmanager bzw. der ganze Bildschirm - verschachtelte Fenster sind möglich Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 4.2 Funktionsweise Window XCreateSimpleWindow(Display *display, Window parent, int x, int y, unsigned int width, unsigned int height, unsigned int border_width, unsigned long border_color, unsigned long background) - x und y geben die Position der linken oberen Ecke des Fensters an (wird von den Windowmanagern meistens ignoriert) - border_width gibt die Dicke des Rahmens an (wird auch meistens ignoriert) - Rückgabewert ist die Kennungs-ID des Fensters Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 4.2 Funktionsweise Informationen für den Windowmanager ● dem Windowmanager können Informationen zu Fenstern übergeben werden ● z.B.: Fenstertitel, Icon, minimale oder maximale Größen, Gravitation etc. ● Funktionen zum Setzen einzelner Werte oder ganzer Strukturen Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 4.2 Funktionsweise void XStoreName(Display *display, Window win, char *window_name) - teilt dem Windowmanager den Namen des Fensters mit Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 4.2 Funktionsweise Fenster anzeigen void XMapWindow(Display *display, Window win) - Zeigt das Fenster win an, vorausgesetzt alle Vorfahren werden auch angezeigt. - Handelt es sich um ein Fenster mit Nachfahren, für welche diese Funktion bereits aufgerufen wurde, dann werden diese jetzt auch angezeigt. Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 4.2 Funktionsweise Fenster schließen void XDestroyWindow(Display *display, Window win) - zerstört das Fenster win und alle Nachfahren - guter Stil, Fenster würden beim Beenden der Verbindung ohnehin zerstört werden Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 4.2 Funktionsweise Verbindung beenden void XCloseDisplay(Display *display) - beendet die Verbindung zum X-Server - alle Fenster und Ressourcen werden zerstört - guter Stil (gibt ggf. noch nicht gemeldete Fehler aus), Verbindung würde beim Beenden des Clients automatisch beendet werden Einführung → Geschichte → Architektur → X-lib Programmierung → Toolkits → Verschiedenes 4.2 Funktionsweise Events ● Nachrichten vom X-Server an den Client ● ausgelöst durch Ereignisse: – Benutzereingaben (Maus, Tastatur) – Seiteneffekte von Benutzereingaben (z.B.
Recommended publications
  • Porting a Window Manager from Xlib to XCB
    Porting a Window Manager from Xlib to XCB Arnaud Fontaine (08090091) 16 May 2008 Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version pub- lished by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". Contents List of figures i List of listings ii Introduction 1 1 Backgrounds and Motivations 2 2 X Window System (X11) 6 2.1 Introduction . .6 2.2 History . .6 2.3 X Window Protocol . .7 2.3.1 Introduction . .7 2.3.2 Protocol overview . .8 2.3.3 Identifiers of resources . 10 2.3.4 Atoms . 10 2.3.5 Windows . 12 2.3.6 Pixmaps . 14 2.3.7 Events . 14 2.3.8 Keyboard and pointer . 15 2.3.9 Extensions . 17 2.4 X protocol client libraries . 18 2.4.1 Xlib . 18 2.4.1.1 Introduction . 18 2.4.1.2 Data types and functions . 18 2.4.1.3 Pros . 19 2.4.1.4 Cons . 19 2.4.1.5 Example . 20 2.4.2 XCB . 20 2.4.2.1 Introduction . 20 2.4.2.2 Data types and functions . 21 2.4.2.3 xcb-util library . 22 2.4.2.4 Pros . 22 2.4.2.5 Cons . 23 2.4.2.6 Example . 23 2.4.3 Xlib/XCB round-trip performance comparison .
    [Show full text]
  • X Meets Z: Verifying Correctness in the Presence of POSIX Threads
    X Meets Z: Verifying Correctness In The Presence Of POSIX Threads Bart Massey Robert Bauer Computer Science Department Rational Software Corporation Portland State University 1920 Amberglen Pkwy, Suite 200 Portland, Oregon USA 97207–0751 Beaverton, Oregon USA 97006 [email protected] [email protected] Abstract and guide the development of resulting code. While this approach is not a panacea, it typically does dramatically The engineering of freely-available UNIX software nor- reduce the likelihood of defects and increase confidence mally utilizes an informal analysis and design process in the developed system. A more surprising finding of coupled with extensive user testing. While this approach most of these case studies, confirmed by the authors’ ex- is often appropriate, there are situations for which it pro- perience in teaching formal methods to industrial prac- duces less-than-stellar results. titioners, is that Z-like lightweight formal methods are quite accessible to reasonably experienced software en- A case study is given of such a situation that arose dur- gineers. In fact, in many studies, the savings in time and ing the design and implementation of a thread-safe li- effort due to reduced defect rates has exceeded the extra brary for interaction with the X Window System. XCB cost of judiciously-applied formal analysis. is a C binding library for the X protocol designed to work transparently with either single-threaded or multi- Thus, using the Z notation to construct a lightweight threaded clients. Managing XCB client thread access to problem model can enable the construction of an algo- the X server while honoring the constraints of both XCB rithm for controlling client thread access to the server and the X server is thus a delicate matter.
    [Show full text]
  • The New String Unicode Type
    The new string unicode type Marco van de Voort December 3, 2010 Version: 0.06 1 Contents 0.1 Introduction . 3 0.1.1 Tiburón . 3 0.1.2 The encodings . 5 0.1.3 Economics of the encodings . 5 0.1.4 Granularity of [] . 6 0.1.4.1 Meaning 1: index means codepoints . 6 0.1.4.2 Meaning II: index means granularity of the en- coding . 6 0.1.4.3 Meaning III: index means character . 6 0.1.4.4 Granularity conclusion . 6 0.2 Requirements . 7 0.2.1 Required new functions. 8 0.2.2 The Windows W problem . 8 0.3 The proposals . 9 0.3.1 Felipe's proposal. 9 0.3.2 Marco's proposal . 10 0.3.2.1 Aliases . 10 0.3.3 Florian's proposal. 11 0.3.3.1 The biggest problem: can't declare what type to expect. 12 0.3.3.2 Existing code . 12 0.3.3.3 The granularity . 12 0.3.3.4 Performance . 13 0.3.3.5 Alternate encodings. 14 0.3.3.6 Florian's response . 14 0.3.3.7 The good points . 15 0.3.4 Yury's proposal . 15 0.3.5 The hybrid model . 15 0.3.5.1 Problems of hybrid: var . 17 2 0.1 Introduction Lately there has been some discussion about a new unicode type, mostly due to a request from the Lazarus team to support unicode in le operations (for lenames, not handling of unicode les). A few proposals were made on the fpc-pascal maillist, abd some discussion followed, but it died out, and there a lot of details of the proposals were only discussed on subthreads.
    [Show full text]
  • Original File Was Cvddn.Tex
    Paul Bowman Durao email: [email protected] Phone: (301) 412-6312 or SKYPE: paul.durao Maryland / Washington DC / Remote Senior Software Architect / Engineer / Software Developer 30+ years of experience full life-cycle software development Exceptionally well-qualified senior software architect engineer with extensive programming skills. Subject matter expert in applying methodologies, processes, and procedures in the execution of full life-cycle approach. There is no substitute for a proper engineering degree, first-rate hands on experience, and sophisticated problem solving methodology, but it’s not for everyone, and that’s where I shine and come through for the team. Flexible Working Classifications 1. 1099 Contract Worker 2. Corp to Corp Contract Worker 3. Statutory Employee 4. At Will Employee 5. Contract ± Sub Contract W-2 Employee 6. Regular W-2 Employee 7. Remote and work at home preferred 8. Willing to travel part, or full time. Technical Qualifications Languages: C, C++, Java, JavaScript, ( Angular Js, DOJO, JQuery), Html, CSS, Ruby, XML, Perl, Python, lisp, Assembly (ARM/Intel), SQL; Operating Systems: Linux, Unix, BSD, OSX. iOS, Motif, Embedded; Database: PL/SQL, Oracle; Library, Middleware and API’s: Java EE, ROR; Additional skills: Data Modeling; MVC; UML, TDD, O/R mapping; Miscellaneous: 508 Compliance (web accessibility). Career Highlights Work Chronology – Independent consulting, and some full time, sometimes there is a mix. I have done consulting on a full/long time basis too, for NASA and IBM for example, as my skill level has improved relative to the market. I have tended to do more independent contracting work as my skill level, comprehension, and abilities are just different, and more specialized, and therefore higher in fidelity, and in quality (Linux, UNIX, OSX, iOS 8 / xcode 6, development centric, all things UNIX related).
    [Show full text]
  • Review: Classic Mac OS the X Window System ("X") X
    Review: Classic Mac OS The X Window System ("X") • Designed for the user, not the developer • Asente, Reid (Stanford): W window system for V OS, (1982) • First commercially successful GUI system • W moved BWS&GEL to remote machine, replaced local library calls with • Technically few advances synch. communication • One address space, one process, “no” OS • Simplified porting to new architectures, but slow under Unix • But revolutionary approach to UI consistency (HI Guidelines) • MIT: X as improvement over W (1984) • Macintosh Toolbox • Asynchronous calls: much-improved performance • Pascal procedures grouped into Managers, ROM+RAM • Application = client, calls X Library (Xlib) which packages and sends GEL • Extended as technology advanced (color, multiprocessing,...), but calls to the X Server and receiving events using the X Protocol. architecture was showing its age by late 90s • Similar to Andrew, but window manager separate • Inspiration for other GUIs, esp. MS Windows • X10 first public release, X11 cross-platform redesigned Jan Borchers 1 media computing group Jan Borchers 2 media computing group X: Architecture X Server • X11 ISO standard, but limited since static protocol Application • X server process combines GEL and BWS • X is close to Widget Set • Responsible for one keyboard (one EL), but n physical screens UITK our 4-layer WM Xt Intrinsics (GLs) architecture • One machine can run several servers Xlib model Xlib • Applications (with UITK) and WM are clients Network • GEL: Direct drawing, raster model, rectangular clipp. X Server BWS+GEL • X-Server layers: Device-dependent X (DDX), device-independent X (DIX) HW • BWS can optionally buffer output regions Jan Borchers 3 media computing group Jan Borchers 4 media computing group Typical Xlib application (pseudocode) X Protocol #include Xlib.h, Xutil.h Display *d; int screen; GC gc; Window w; XEvent e; main () { • Between X server process and X clients (incl.
    [Show full text]
  • Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference
    USENIX Association Proceedings of the FREENIX Track: 2002 USENIX Annual Technical Conference Monterey, California, USA June 10-15, 2002 THE ADVANCED COMPUTING SYSTEMS ASSOCIATION © 2002 by The USENIX Association All Rights Reserved For more information about the USENIX Association: Phone: 1 510 528 8649 FAX: 1 510 548 5738 Email: [email protected] WWW: http://www.usenix.org Rights to individual papers remain with the author or the author's employer. Permission is granted for noncommercial reproduction of the work for educational or research purposes. This copyright notice must be included in the reproduced paper. USENIX acknowledges all trademarks herein. XCL : An Xlib Compatibility Layer For XCB Jamey Sharp Bart Massey Computer Science Department Portland State University Portland, Oregon USA 97207–0751 fjamey,[email protected] Abstract 1 The X Window System The X Window System [SG86] is the de facto standard technology for UNIX applications wishing to provide a graphical user interface. The power and success of the X model is due in no small measure to its separation of The X Window System has provided the standard graph- hardware control from application logic with a stable, ical user interface for UNIX systems for more than 15 published client-server network protocol. In this model, years. One result is a large installed base of X applica- the hardware controller is considered the server, and in- tions written in C and C++. In almost all cases, these dividual applications and other components of a com- programs rely on the Xlib library to manage their inter- plete desktop environment are clients.
    [Show full text]
  • A Bibliography of O'reilly & Associates and O
    A Bibliography of O'Reilly & Associates and O'Reilly Media. Inc. Publishers Nelson H. F. Beebe University of Utah Department of Mathematics, 110 LCB 155 S 1400 E RM 233 Salt Lake City, UT 84112-0090 USA Tel: +1 801 581 5254 FAX: +1 801 581 4148 E-mail: [email protected], [email protected], [email protected] (Internet) WWW URL: http://www.math.utah.edu/~beebe/ 08 February 2021 Version 3.67 Title word cross-reference #70 [1263, 1264]. #70-059 [1263]. #70-068 [1264]. 2 [949]. 2 + 2 = 5986 [1456]. 3 [1149, 1570]. *# [1221]. .Mac [1940]. .NET [1860, 22, 186, 342, 441, 503, 591, 714, 716, 721, 730, 753, 786, 998, 1034, 1037, 1038, 1043, 1049, 1089, 1090, 1091, 1119, 1256, 1468, 1858, 1859, 1863, 1899, 1900, 1901, 1917, 1997, 2029]. '05 [461, 1532]. 08 [1541]. 1 [1414]. 1.0 [1009]. 1.1 [59]. 1.2 [1582]. 1000 [1511]. 1000D [1073]. 10g [711, 710]. 10th [2109]. 11 [1385]. 1 2 2 [53, 209, 269, 581, 2134, 919, 940, 1515, 1521, 1530, 2023, 2045]. 2.0 [2, 55, 203, 394, 666, 941, 1000, 1044, 1239, 1276, 1504, 1744, 1801, 2073]. 2.1 [501]. 2.2 [201]. 2000 [38, 202, 604, 610, 669, 927, 986, 1087, 1266, 1358, 1359, 1656, 1751, 1781, 1874, 1959, 2069]. 2001 [96]. 2003 [70, 71, 72, 73, 74, 279, 353, 364, 365, 789, 790, 856, 987, 1146, 1960, 2026]. 2003-2013 [1746]. 2004 [1195]. 2005 [84, 151, 755, 756, 1001, 1041, 1042, 1119, 1122, 1467, 2120, 2018, 2056]. 2006 [152, 153]. 2007 [618, 726, 727, 728, 1123, 1125, 1126, 1127, 2122, 1973, 1974, 2030].
    [Show full text]
  • Upgrading and Performance Analysis of Thin Clients in Server Based Scientific Computing
    Institutionen för Systemteknik Department of Electrical Engineering Examensarbete Upgrading and Performance Analysis of Thin Clients in Server Based Scientific Computing Master Thesis in ISY Communication System By Rizwan Azhar LiTH-ISY-EX - - 11/4388 - - SE Linköping 2011 Department of Electrical Engineering Linköpings Tekniska Högskola Linköpings universitet Linköpings universitet SE-581 83 Linköping, Sweden 581 83 Linköping, Sweden Upgrading and Performance Analysis of Thin Clients in Server Based Scientific Computing Master Thesis in ISY Communication System at Linköping Institute of Technology By Rizwan Azhar LiTH-ISY-EX - - 11/4388 - - SE Examiner: Dr. Lasse Alfredsson Advisor: Dr. Alexandr Malusek Supervisor: Dr. Peter Lundberg Presentation Date Department and Division 04-02-2011 Department of Electrical Engineering Publishing Date (Electronic version) Language Type of Publication ISBN (Licentiate thesis) X English Licentiate thesis ISRN: Other (specify below) X Degree thesis LiTH-ISY-EX - - 11/4388 - - SE Thesis C-level Thesis D-level Title of series (Licentiate thesis) 55 Report Number of Pages Other (specify below) Series number/ISSN (Licentiate thesis) URL, Electronic Version http://www.ep.liu.se Publication Title Upgrading and Performance Analysis of Thin Clients in Server Based Scientific Computing Author Rizwan Azhar Abstract Server Based Computing (SBC) technology allows applications to be deployed, managed, supported and executed on the server and not on the client; only the screen information is transmitted between the server and client. This architecture solves many fundamental problems with application deployment, technical support, data storage, hardware and software upgrades. This thesis is targeted at upgrading and evaluating performance of thin clients in scientific Server Based Computing (SBC). Performance of Linux based SBC was assessed via methods of both quantitative and qualitative research.
    [Show full text]
  • X Toolkit Intrinsics – C Language Interface
    X Toolkit Intrinsics – C Language Interface X Window System Joel McCormack, Digital Equipment Corporation Paul Asente, Digital Equipment Corporation Ralph R. Swick, Digital Equipment Corporation X Toolkit Intrinsics – C Language Interface: X Window System by Joel McCormack, Paul Asente, and Ralph R. Swick X Version 11, Release 7.7 X Toolkit Intrinsics Version 1.2.0 XWindow System is a trademark of X Consortium, Inc. Copyright © 1985, 1986, 1987, 1988, 1991, 1994 X Consortium Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Except as contained in this notice, the name of the X Consortium shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the X Consortium.
    [Show full text]
  • A Distinct Approach for X/Motif Application Gui Test Automation
    IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308 A DISTINCT APPROACH FOR X/MOTIF APPLICATION GUI TEST AUTOMATION K.V. Maruthi Prasad1 1ISRO Satellite centre, HAL Airport road, Bangalore-17, India Abstract This paper titled “A distinct approach for X/Motif application GUI test automation” presents the research results of the innovative approach applied on X/Motif applications under test automation. It is the excerpts of the results obtained on X/Motif GUI software test automation without record & playback technique. This approach is based on virtualisation of mouse button and key board key events using “XSendEvent” Xlib routine. It also presents the details about the software that has been developed for X/Motif GUI application testing automated through a tester input file of identified keywords with the necessary input as test cases. The paper identifies the limitations and future plans for the expansion of the work. Keywords: X/Motif, test automation, XSendEvent, record & playback, GUI. ----------------------------------------------------------------------***---------------------------------------------------------------------- 1. INTRODUCTION Test automation can enable some testing tasks to be performed more efficiently than by testing manually. Automation of ISRO (Indian Space Research Organisation) is the premier testing makes the effort involved in performing regression government institute involved in space research and tests at minimal. GUI based applications test automation development activities. ISRO has been known for it’s allows the tester to run more tests in less time and also to accomplishments in nation building through science & execute them more often. Automation of GUI based technological innovations in space field. GEOSCHEMACS application testing enables us to execute test cases of input (Geostationary Earth Orbit SpaCecraft HEalth Monitoring entry with greater accuracy, run difficult or impossible test Analysis and Control Software) is the in-house developed end cases to do manually.
    [Show full text]
  • Spack a flexible Package Manager for HPC
    Spack A flexible package manager for HPC Overview & Introduc0on to Basic Spack Concepts Todd Gamblin Center for Applied Scien0fic Compu0ng LLNL-PRES-806064 This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory github.com/LLNL/spack under contract DE-AC52-07NA27344. Lawrence Livermore National Security, LLC Spack is a flexible package manager for HPC § How to install Spack: $ git clone https://github.com/scalability-llnl/spack.git § How to install a package: $ cd spack/bin $ ./spack install hdf5 § HDF5 and its dependencies are installed Get Spack! within the Spack directory. hp://github.com/LLNL/spack § No addi0onal setup required! 2 LLNL-PRES-806064 github.com/LLNL/spack What is the proDucon environment for HPC? § Someone’s home directory? § LLNL? LANL? Sandia? ANL? LBL? TACC? — Environments at large-scale sites are very different. § Which MPI implementaon? § Which compiler? § Which dependencies? § Which versions of dependencies? — Many applicaons require specific dependency versions. Real answer: there isn’t a single production environment or a standard way to build. 3 LLNL-PRES-806064 github.com/LLNL/spack HPC soware is becoming increasingly complex § Not much standardizaon in HPC — every machine/applicaon has a different so[ware stack § Sites share unique hardware among teams with very different requirements — Users want to experiment with many exo0c architectures, compilers, MPI versions — All of this is necessary to get the best performance § Example environment for some LLNL codes: 48 third party packages x 3 MPI versions x 3-ish Platforms mvapich mvapich2 OpenMPI Linux BlueGene Cray Up to 7 compilers Oh, and 2-3 versions of x Intel GCC XLC Clang x each package = ~7,500 combinations PGI Cray Pathscale We want an easy way to quickly sample the space, to build configurations on demand! 4 LLNL-PRES-806064 github.com/LLNL/spack Most exisEng tools Do not support combinatorial versioning § Tradi0onal binary package managers — RPM, yum, APT, yast, etc.
    [Show full text]
  • Migrating from Qt 4 to Qt 5
    Migrating from Qt 4 to Qt 5 Nils Christian Roscher-Nielsen Product Manager, The Qt Company David Faure Managing Director and migration expert, KDAB France 2 © 2015 Moving to Qt 5 Motivation • New user interface requirements • Embedded devices • New technologies available • 7 years of Qt 4 • Time to fix many smaller and larger issues with a new major release 3 © 2015 QML / Qt Quick Age of the new User Interfaces • New industry standards • More devices than ever • 60 frames per seconds • Multi modal interaction • Enter the SceneGraph • Powerful QML User Interfaces • Full utilization of OpenGL hardware • Full control of your User Interface on all devices 4 © 2015 Embedded Devices Qt powers the world • Qt Platform Abstraction • Enables easy porting to any platform or operating system • Modular architecture • Easier to tailor for embedded HW • Boot to Qt • Premade embedded Linux based stack for device creation • Device deployment • Greatly improved tooling • On device debugging and profiling 5 © 2015 Wide Platform support • Seamless experiences across all major platforms • Windows, Mac, Linux • Windows Phone, iOS and Android • Jolla, Tizen, Ubuntu Touch, BB10, and more • VxWorks and QNX • High DPI Support • Dynamic GL switching • Simplified deployment process • Charts and 3D Visualization • Location and positioning 6 © 2015 Increased speed of development For your own applications and for Qt itself • Qt Creator 3 • Stable Plugin API • Qt Quick Designer • QML Profiler • Modularization • More stable and reliable Qt code base • Faster module development • Easier to create and maintain new modules • Qt Open Governance model 7 © 2015 Qt UI Offering – Choose the Best of All Worlds Qt Quick Qt Widgets Web / Hybrid C++ on the back, declarative UI Customizable C++ UI controls for Use HTML5 for dynamic web design (QML) in the front for traditional desktop look-and-feel.
    [Show full text]