X-Window-System

Total Page:16

File Type:pdf, Size:1020Kb

X-Window-System -WINDOW SystemprogrammierungSystemprogrammierung SS08SS08 Ahlam BEJJATI E- Mail: [email protected] Mustafa KADI E- Mail: [email protected] 03.06.08 -WINDOW GliederungGliederung ➢ 1. Einleitung ➢ 2. Geschichte ➢ 3. Einführung in Xlib ➢ 4. Toolkits ➢ 5. X-Display Manager ➢ 6. X-Window Manager ➢ 7. Client-Server Prinzip ➢ 8. Vor- und Nachteile ➢ 9. Live-Demo mit X-Win32 -WINDOW 1.1. EinleitungEinleitung Was ist das X-Window-System? ➢ System mit dem Grafische Benutzeroberflächen für Unixsysteme entwikelt werden können ➢ Wichtigste Komponenten X-Server X-Client X-Protokoll Xlib-Routinen 03.06.08 -WINDOW ➢ Netzwerktransparenz ➢ Client-Server-System ➢ Portierbarkeit 03.06.08 -WINDOW 2.2. GeschichteGeschichte ➢ Entwicklung begann 1984 am MIT(Projekt Athena) ➢ Die Sponsoren des Projektes waren IBM, MIT und die DEC (Digital EquipmentCorporation) 03.06.08 -WINDOW ➢ 1985 erschien die 10. Version. Diese wurde gegen eine geringe Gebühr vertrieben. ➢ 1987 Entwicklung der 11. Version die dann als Standard eingeführt wurde. Gründung des X- Konsortiums ➢ 1994 hat die Open Group die Entwicklung übernommen 03.06.08 -WINDOW Programmierung mit der Xlib ➢ Bibliothek die die Routinen beinhaltet, die zur Entwicklung einer Anwendung für X benötigt werden. ➢ C wird in der Regel als Programmiersprache verwendet ➢ Die Xlib besitzt eine niedrige Funktionalität 03.06.08 -WINDOW Im wesentlichen dient die Xlib: ➢ Der Erzeugung von Fenstern ➢ Dem Zeichnen einfacher Objekte ➢ Dem Übertragen von Maus- und Tastaturereignissen vom server an den Client 03.06.08 -WINDOW Xlib-Xlib- FunktionenFunktionen ➢ XopenDisplay() ➢ XcreateSimpleWindow() ➢ XmapWindow() ➢ Xflush() ➢ XcloseDisplay() 03.06.08 #include <stdio.h> #include <unistd.h> #include <X11/Xlib.h> int main(int argc, char *argv[]){ Display *dpy; Window win; if ((dpy = XOpenDisplay(NULL)) == NULL){ printf("Unable to open display\n"); return 1; } win = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0, 0, \ 400, 300, BlackPixel(dpy, DefaultScreen(dpy)), 0, WhitePixel(dpy, DefaultScreen(dpy))); XMapWindow(dpy, win); Xflush(dpy); return 0; } 03.06.08 file:///E:/7.Semester/Systemprogrammierung/Projekt/Präsentation/tux.png file:///E:/7.Semester/Systemprogrammierung/Projekt/Präsentation/180px-X11.svg.png -WINDOW 03.06.08 -WINDOW Xlib Events ➢ Ein Event ist eine Nachricht vom Server an den Client bei der dieser über ein bestimmtes Ereignis informiert wird ➢ Events können u.a Betätigen der Maus oder Tastatur sein ➢ Eventschleifen spielen hierbei eine wichtige 03.06.08 Rolle -WINDOW Eventschleife static void eventschleife(void){ XEvent event; int anzahl_event; anzahl_events = XPending (display); while ((anzahl_events > 0){ anzahl_events-- XNextEvent (display, &event); } } 03.06.08 -WINDOW Xlib Grafik ➢ Die Xlib stellt Zeichenfunktionen zur Verfügung mit denen Objekte wie punkte, Linien oder Kreise gezeichnet werden können 03.06.08 -WINDOW ➢ XdrawPoint() ➢ XdrawLine() ➢ XdrawArc() ➢ XdrawRectangle() 03.06.08 -WINDOW Über 200 Zeilen Code 03.06.08 -WINDOW Toolkits ➢ Toolkits sind GUI-Bibliotheken ➢ Entwicklung von Grafischen Oberfläche auf einer höheren Ebene als der Xlib ➢ Die meistverwendetsten Toolkits unter X- Window sind Motif,Qt und GTK 03.06.08 -WINDOW QT-Bibliothek ➢ C++ wird hauptsächlich als Programmiersprache verwendet ➢ Qt enthält Klassen für alle wichtigen grafischen Eingabeelemente und Klassen für den Zugriff auf angeschlossene Hardware ➢ Qt diente als Grundlage für die Entwicklung von KDE 03.06.08 -WINDOW KDE-Applikation KDE-Bibliothek QT-Bibliothek Xlib-Bibliothek X-Server 03.06.08 -WINDOW GTK ➢ GTK wurde in C geschrieben ➢ Anwendungen können in C entwickelt werden oder auch ➢ GTK diente u.a. als Vorlage für die Entwicklung von GNOME 03.06.08 -WINDOW 5.5. X-DisplayX-Display ManagerManager ➢ optionale Komponente des X-Window Systems ➢ verwaltet Sitzungen 03.06.08 -WINDOW ➢ grafische Anmeldemaske wird zur Verfügung gestellt 03.06.08 -WINDOW ➢ Einstellung des zu verwendenden Desktop- Environments ➢ Alternative zum XDM => KDM , GDM, WDM 03.06.08 -WINDOW 6.6. X-WindowX-Window ManagerManager ➢ ist ein gewöhnlicher Clientprozess ➢ Kontakt zu X-Servern sowie zu allen anderen Clientanwendungen auch 03.06.08 -WINDOW ➢ Funktion von X auch theoretisch ohne Window Manager ➢ der Window-Manager ist für das typische Look & Feel verantwortlich 03.06.08 -WINDOW ➢ optische Konfiguration über Startupfile (z.B. KDE, GNOME ...) 03.06.08 -WINDOW Zudem gibt es eine Reihe verschiedener Window Manager: ➢ Mwm - Motif Window Manager ➢ Twm, tvtwm - Tab Window Manager ➢ Olwm - Open Look Window Manager ➢ 4Dwm - IRIS Extended mwm ➢ Gwm,vuewm - sonstige 03.06.08 -WINDOW ➢ Window Manager => einzeln in Aktion ➢ Alten Window Manager abschiessen, neuen starten ➢ UNIX-Kommando kill oder Befehl zap z.B. zap mwm 03.06.08 -WINDOW Ein Fenster zu erstellen, ist im Prinzip recht einfach und lässt sich mit folgenden Schritten realisieren: 1. Eine Verbindung zum X-Server herstellen 2. Die Umgebung überprüfen 3. Das Fenster erzeugen 4. Das Fenster anzeigen 5. Das Fenster schließen und wieder freigeben 03.06.08 -WINDOW 7.7. Client-ServerClient-Server PrinzipPrinzip ➢ das X-Protokoll definiert eine Client-Server- Beziehung zwischen der Anwendung und seiner Darstellung ➢ der Server kümmert sich um die Darstellung ➢ der Client kümmert sich um das Dargestellte 03.06.08 -WINDOW ➢ X-Window System => Unterteilung des X- Servers in geräteabhängigen bzw geräteunabhängigen Teil ➢ Verdeckung des hardwerspezifischen Details und Besonderheiten des Betriebssytems 03.06.08 -WINDOW ➢ physische Kontrolle Bildschirm, Tastatur, Maus => X-Server ➢ Kommunikation Client-Server => X-Protokoll ➢ TCP/IP und DECnet 03.06.08 -WINDOW Client-Server Beispiel 03.06.08 -WINDOW Funktionsweise des X-Servers 03.06.08 -WINDOW Funktionsweise des X-Clients 03.06.08 -WINDOW Das X-Protokoll unterscheidet drei Arten von Nachrichten, die der Server an einen Client übermitteln kann: ➢ Reply 03.06.08 -WINDOW ➢ Event 03.06.08 -WINDOW ➢ Error 03.06.08 -WINDOW 8.8. Vor-Vor- undund NachteileNachteile ➢ X-System Konzept von Anfang an für den effizienten Netzwerkbetrieb ➢ Kommunikation über standardisiertem Protokoll 03.06.08 -WINDOW ➢ Quellcode ist zwar objektorientiert aber dennoch in C geschrieben ➢ X-System ist im Vergleich zu aktuellen MS- Versionen kein Betriebssystem 03.06.08 -WINDOW Folgendes ist durch den hierarchischen Aufbau des X-Systems möglich: ➢ Mehrere Bildschirm-Arbeitsplätze an einem X-Server ➢ X-Server kann in einem anderen X-Server laufen gelassen werden ➢ Hard- und Softwareunabhängige Bedienung 03.06.08 -WINDOW ➢ Start von X-Anwendung => langsam ➢ reduzierter Datentransfer ➢ resourceaufwändiger X-Server -WINDOW 9.9. Live-DemoLive-Demo X-Win32X-Win32 ➢ Leistungsstarker X-Server für die Windows- Plattform ➢ Zugriff auf unix-basierte Anwendungen sowie für x-server basierte Windows-Programme ➢ 30-tägige Demoversion 03.06.08 -WINDOW ➢ Nach der Installation X-Config aufrufen 03.06.08 -WINDOW ➢ X-Win32-Sitzungassistent starten und XDMCP (X display manager control protocol) wählen 03.06.08 -WINDOW ➢ Broadcast als Verbindungsmethode 03.06.08 -WINDOW ➢ X-WINDOW starten 03.06.08 -WINDOW ➢ Ergebnis aus dem Broadcast-Scan 03.06.08 -WINDOW ➢ Erlaubnis zum Verbindungsaufbau 03.06.08 -WINDOW ➢ Remote-Desktopverbindung X-Server 03.06.08 -WINDOW Quellen: http://www.openbsd.org/faq/de/faq11.html http://www.freebsd.org/doc/de/books/handbook/x11.html http://unix-docu.uibk.ac.at/zid/software/unix/x/x11.html http://wwwcip.informatik.uni-erlangen.de/old/tree/CIP/Manuals/xwin/ http://ara.informatik.tu-freiberg.de/vorlesungen/MurX/ http://gd.tuwien.ac.at/opsys/linux/tut/LinuxFibel/xcliserv.htm http://de.wikipedia.org/wiki/X_Window_System http://www.pronix.de www.eggdrop.ch/texts/xlib/ X Window Systemprogramming (Naba Barkalati) Das Benutzerhandbuch zum X Window System (Niall Mansfield) Einführung in das X Window System (Oliver Jones) Linux-Unix-Programmierung (Jürgen Wolf) 03.06.08 -WINDOW VielenVielen DankDank fürfür diedie Aufmerksamkeit!Aufmerksamkeit! 03.06.08.
Recommended publications
  • An Introduction to the X Window System Introduction to X's Anatomy
    An Introduction to the X Window System Robert Lupton This is a limited and partisan introduction to ‘The X Window System’, which is widely but improperly known as X-windows, specifically to version 11 (‘X11’). The intention of the X-project has been to provide ‘tools not rules’, which allows their basic system to appear in a very large number of confusing guises. This document assumes that you are using the configuration that I set up at Peyton Hall † There are helpful manual entries under X and Xserver, as well as for individual utilities such as xterm. You may need to add /usr/princeton/X11/man to your MANPATH to read the X manpages. This is the first draft of this document, so I’d be very grateful for any comments or criticisms. Introduction to X’s Anatomy X consists of three parts: The server The part that knows about the hardware and how to draw lines and write characters. The Clients Such things as terminal emulators, dvi previewers, and clocks and The Window Manager A programme which handles negotiations between the different clients as they fight for screen space, colours, and sunlight. Another fundamental X-concept is that of resources, which is how X describes any- thing that a client might want to specify; common examples would be fonts, colours (both foreground and background), and position on the screen. Keys X can, and usually does, use a number of special keys. You are familiar with the way that <shift>a and <ctrl>a are different from a; in X this sensitivity extends to things like mouse buttons that you might not normally think of as case-sensitive.
    [Show full text]
  • X 윈도 시스템 (X Window System)
    GNU/Linux X 윈도 시스템 (X Window System) Seo, Doo-Ok Clickseo.com [email protected] 목차 X 윈도 시스템 자유-오픈소스SW 패키지 2 운영체제 (1/5) 컴퓨터 소프트웨어 구성 시스템 소프트웨어와 응용 소프트웨어 Software System Software Application Software 운영체제 범용 소프트웨어 시스템 운영 프로그램 특정 목적 소프트웨어 시스템 지원 프로그램 시스템 개발 프로그램 3 운영체제 (2/5) 운영체제(OS, Operating System) 자원 관리(resource management) • 프로세스 관리 • 메모리 관리 (Memory management) “시스템 성능의 최적화” – 가상 메모리(Virtual memory) •장치관리: 디바이스 드라이버(Device drivers) •파일관리: 디스크 접근 및 파일 시스템 • 네트워크 및 보안 4 운영체제 (3/5) 운영체제 : 인터페이스 “사용자 편리성의 최적화” 사용자 인터페이스(User Interface) • 컴퓨터 하드웨어와 사용자(프로그램 또는 사람)간 인터페이스 제공 • CLI (Command Line Interface) • GUI (Graphical User Interface) [ CLI, Bash (Bourne-Again Sell) - UNIX Shell ] [ GUI, X11 and KDE ] 5 운영체제 (4/5) X 윈도 데스크톱 환경 : GNOME [ 출처 : GNOME, gnome.org ] 6 운영체제 (5/5) X 윈도 데스크톱 환경 : KDE [ 출처 : “KDE Plasma 5”, KDE, WIKIPEDIA. ] 7 X 윈도 시스템 X 윈도 시스템 디스플레이 서버 클라이언트 라이브러리 X 윈도 매니저 X 윈도 데스크톱 환경 자유-오픈소스SW 패키지 8 X 윈도 시스템 (1/2) X Window System : X11, X 주로 유닉스 계열 운영체제에서 사용되는 윈도 시스템 • 네트워크 프로토콜(X 프로토콜)에 기반한 그래픽 사용자 인터페이스 – GUI 환경의 구현을 위한 기본적인 프레임워크를 제공 • 1984년, 아데나 프로젝트(Athena Project)의 일환으로 시작 – 플랫폼 독립적으로 작동하는 그래픽 시스템 개발을 위해 DEC, IBM, MIT가 공동으로 진행 • 1986년, X10.4 공개 • 1987년, X11 발표 X 컨소시엄(X Consortium) • X11 버전 개정 : X11R2, X11R6 버전 발표 • 1996년 12월, X11R6.3 버전을 끝으로 X 컨소시엄 해체 일반적인 POSIX 시스템 : /etc/X11 • 현재, GNU/Linux를 비롯한 유닉스의 대부분이 X 윈도 시스템을 사용 9 X 윈도 시스템 (2/2) 클라이언트-서버 모델(Client-Server model) X 윈도 시스템은 사용자 컴퓨터에서 서버가 실행되는 반면 클라이언트는 원격 시스템에서 실행될 수 있다.
    [Show full text]
  • Teleporting in an X Window System Environment
    Teleporting in an X Window System Environment Tristan Richardson,∗ Frazer Bennett,∗ Glenford Mapp,∗ and Andy Hopper∗† ∗ Olivetti Research Laboratory y University of Cambridge Old Addenbrooke's Site Computer Laboratory 24a Trumpington Street Pembroke Street Cambridge Cambridge CB2 1QA CB2 3QG United Kingdom United Kingdom November 1993 Abstract Teleporting is the ability to redirect a windowing environment to different computer displays. This paper describes the implementation of a teleporting system developed at Olivetti Research Laboratory (ORL). We outline two particular features of the system that make it powerful. First, it operates with existing applications, which will run without any modification. Second, it incorporates sophisticated techniques of personnel and equipment location which make it simple to use. Teleporting may represent a development in attempts to achieve a ubiquitous, personalised computing environment for all. 1 Introduction In the near future, communication networks will make it possible to access computing services from almost anywhere in the world. In addition, the number of computers readily available within an office is increasing. We would like to allow individuals to make use of such networked computing facilities as they move from place to place, whilst retaining the familiarity of their own computing environment. A windowing environment offers a coherent means of interacting with a computer via a screen, keyboard and mouse. Typically, a user would run any number of applications within such a windowing environment. Traditionally, these applications have been bound to one display, offering output at and accepting input from only one fixed point within the building (i.e. the display on which they were started).
    [Show full text]
  • Learning Perl Tk.Pdf
    Learning Perl/Tk Nancy Walsh Beijing • Cambridge • Farnham • Köln • Paris • Sebastopol • Taipei • Tokyo Learning Perl/Tk by Nancy Walsh Copyright (c) 1999 O'Reilly & Associates, Inc. All rights reserved. Printed in the United States of America. Published by O'Reilly & Associates, Inc., 101 Morris Street, Sebastopol, CA 95472. Editor:Linda Mui Editorial and Production Services: TIPS-Technical Publishing, Inc. Production Editor: Ellie Fountain Maden Printing History: January 1999: First Edition. March 1999: Minor corrections. Nutshell Handbook, the Nutshell Handbook logo, and the O'Reilly logo are registered trademarks of O'Reilly & Associates. The use of an emu image in association with Perl/ Tk is a trademark of O'Reilly & Associates, Inc. Permission may be granted for non- commercial use; please inquire by sending mail to [email protected]. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O'Reilly & Associates, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher assumes no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. This book is printed on acid-free paper with 85% recycled content, 15% post-consumer waste. O'Reilly & Associates is committed to using paper with the highest recycled content available consistent with high quality. ISBN: 1-56592-314-6:[5/99] Table of Contents Preface xi 1. Introduction to Perl/Tk 1 A Bit of History About Perl (and Tk) 1 Perl/Tk for Both Unix and Windows 95/NT 2 Why Use a Graphical Interface? 2 Why Use Perl/Tk? 3 Installing the Tk Module 5 Creating Widgets 6 Coding Style 8 Displaying a Widget 9 The Anatomy of an Event Loop 9 Hello World Example 10 Using exit Versus Using destroy 12 Naming Conventions for Widget Types 12 Using print for Diagnostic/Debugging Purposes 13 Designing Your Windows (A Short Lecture) 14 2.
    [Show full text]
  • Adventures with Illumos
    > Adventures with illumos Peter Tribble Theoretical Astrophysicist Sysadmin (DBA) Technology Tinkerer > Introduction ● Long-time systems administrator ● Many years pointing out bugs in Solaris ● Invited onto beta programs ● Then the OpenSolaris project ● Voted onto OpenSolaris Governing Board ● Along came Oracle... ● illumos emerged from the ashes > illumos key differentiators ● ZFS – reliable and easy to manage ● Dtrace – extreme observability ● Zones – lightweight virtualization ● Standards – pretty strict ● Compatibility – decades of heritage ● “Solarishness” ● No systemd ;-) > Diverse distributions ● OpenIndiana – OpenSolaris ● OmniOS – server focus ● SmartOS – Joyent's cloud ● Delphix/Nexenta/+ – storage focus ● DilOS, osdyson – debian ● Tribblix – one of the small fry > Distro differences ● Packaging – IPS: OI, Omnios, XStreamOS – SVR4: OpenSXCE, Tribblix – Deb: DilOS, osdyson – Pkgsrc: SmartOS – Storage vendors don't have (exposed) packaging – (No active rpm distro – Belenix is inactive) > Distro differences ● X86/X64 – Pretty much everything ● SPARC – OpenSXCE or Tribblix ● X64 only – SmartOS ● Minimum memory depends on packaging – IPS needs > 1G – Others happy in 512M > Distro focus ● OpenIndiana – copy OpenSolaris ● OmniOS – server, supported ● OpenSXCE – copy Solaris 10 ● XStreamOS – modern OpenIndiana ● SmartOS – foundation for cloud ● Tribblix – what OpenSolaris should have been > Why do it yourself? ● Challenging and interesting ● Understand the inner workings ● Satisfy the target audience ● Make a flexible platform for development
    [Show full text]
  • Think Unix Associate Publisher Tracy Dunkelberger Jon Lasser Acquisitions Editor Copyright © 2000 by Que Corporation Katie Purdum All Rights Reserved
    00 2376 FM 11.30.00 9:21 AM Page i PERMISSIONS AND OWNERSHIP • USERS AND GROUPS HARD LINKS • SOFT LINKS • REDIRECTION AND PIPES REDIRECTING STDERR • NAME LOOKUP • ROUTING READING MAIL VIA POP3 • VI AND REGULAR EXPRESSIONS FILENAME GLOBBING VERSUS REGEXPS • INTERACTIVE COMMAND-LINE EDITING • HISTORY SUBSTITUTION • JOB CONTROL • VARIABLES AND QUOTING • CONDITIONAL EXECUTION • WHILE AND UNTIL LOOPS • ALIASES AND FUNCTIONS • THE X WINDOW CLIENT/SERVER MODEL WIDGETS AND TOOLKITS • CONFIGURING X • PERMISSIONS AND OWNERSHIP • USERS AND GROUPS • HARD LINKS • SOFT LINKS • REDIRECTION AND PIPES • REDIRECTING STDERR NAME LOOKUP • ROUTING READING MAIL VIA POP3 • VI AND REGULAR EXPRESSIONS FILENAME GLOBBING VERSUS REGEXPS • INTERACTIVE COMMAND-LINE EDITING • HISTORY SUBSTITUTION • JOB CONTROL • VARIABLES AND QUOTING CONDITIONAL EXECUTION • WHILE AND UNTIL LOOPS • ALIASES AND FUNCTIONS • THE X WINDOW CLIENT/SERVER MODEL WIDGETS AND TOOLKITS • CONFIGURING X • PERMISSIONS AND OWNERSHIP • USERS AND GROUPS HARD LINKS • SOFT LINKS • REDIRECTION AND PIPES • REDIRECTING STDERR • NAME LOOKUP • ROUTING READING MAIL VIA POP3 • VI AND REGULAR EXPRESSIONS • FILENAME GLOBBING VERSUS REGEXPS • INTERACTIVE COMMAND-LINE EDITING • HISTORY THINKSUBSTITUTION • JOB CONTROL • VARIABLES AND QUOTINGUnix READING MAN PAGES • ABSOLUTE AND RELATIVE P PERMISSIONS AND OWNERSHIP • USERS AND GRO HARD LINKS • SOFT LINKS • REDIRECTION AND PIPE JON LASSER REDIRECTING STDERR • NAME LOOKUP • ROUTING READING MAIL VIA POP3 • VI AND REGULAR EXPRE FILENAME GLOBBING VERSUS REGEXPS • INTERACT
    [Show full text]
  • Autoconf Creating Automatic Configuration Scripts for Version 2.62, 8 April 2008
    Autoconf Creating Automatic Configuration Scripts for version 2.62, 8 April 2008 David MacKenzie Ben Elliston Akim Demaille This manual is for GNU Autoconf (version 2.62, 8 April 2008), a package for creating scripts to configure source code packages using templates and an M4 macro package. Copyright c 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover texts being “A GNU Manual,” and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled “GNU Free Documentation License.” (a) The FSF’s Back-Cover Text is: “You have the freedom to copy and modify this GNU manual. Buying copies from the FSF supports it in developing GNU and promoting software freedom.” i Table of Contents 1 Introduction............................... 1 2 The GNU Build System .................... 3 2.1 Automake .................................................. 3 2.2 Gnulib ..................................................... 3 2.3 Libtool ..................................................... 4 2.4 Pointers .................................................... 4 3 Making configure Scripts................... 5 3.1 Writing ‘configure.ac’...................................... 6 3.1.1 A Shell Script Compiler ................................. 6 3.1.2 The Autoconf Language ................................. 7 3.1.3 Standard ‘configure.ac’ Layout ........................ 8 3.2 Using autoscan to Create ‘configure.ac’ .................... 9 3.3 Using ifnames to List Conditionals .......................... 10 3.4 Using autoconf to Create configure .......................
    [Show full text]
  • IED 4/1/1577 Information Engineering Advanced Technology Programme
    USER INTERFACE DESIGN ENVIRONMENT DTI/SERC Project: IED 4/1/1577 Information Engineering Advanced Technology Programme Recursive HyperMenus (The Hypermenu Command Interface) Aaron Sloman The University of Birmingham UIDE.BHAM.T910.1.20/8/93 UIDE.BHAM.T910.1.20/8/93 1 UIDE REPORT DATA SHEET Report Reference - UIDE.BHAM.T910.1.20/8/93 Author - Aaron Sloman Partners Involved - UoB Date - Aug 20 1993 UIDE.BHAM.T910.1.20/8/93 2 UIDE Uide Report UIDE.BHAM.T910.1.20/8/93 RECURSIVE HYPERMENUS Aaron Sloman The University of Birmingham 21 Aug 1993 CONTENTS -- Introduction -- -- NOTE on relevance to the UIDE project -- The general problem -- Types of option spaces -- The need for a better theory -- Purposes of an interface -- The Hypermenu Command Interface -- Assumptions about user requirements: activities, contexts, actions -- -- Contexts -- -- Action families and control panels -- -- Direct and mediated actions -- -- Action categories -- Problems with menu-based action systems -- -- Partial counter-example: TWM menus -- How the recursive hypermenu system helps -- Interface issues -- The RHM solution -- -- NOTES on the current implementation -- Unintended side-bene®t: an extendable menu interface to Unix -- A menu notation for RHM -- Format of menu de®nition list -- -- Menu Label -- -- Optional Screen Location -- -- <Menu description> -- -- <buttonlabel> -- -- Format of <action> speci®ers -- -- -- A word: -- -- -- A string: -- -- -- A procedure -- -- -- A vector containing a string UIDE.BHAM.T910.1.20/8/93 3 UIDE -- -- -- A list -- -- -- 1. [ENTER
    [Show full text]
  • Free and Open Source Software
    Free and open source software Copyleft ·Events and Awards ·Free software ·Free Software Definition ·Gratis versus General Libre ·List of free and open source software packages ·Open-source software Operating system AROS ·BSD ·Darwin ·FreeDOS ·GNU ·Haiku ·Inferno ·Linux ·Mach ·MINIX ·OpenSolaris ·Sym families bian ·Plan 9 ·ReactOS Eclipse ·Free Development Pascal ·GCC ·Java ·LLVM ·Lua ·NetBeans ·Open64 ·Perl ·PHP ·Python ·ROSE ·Ruby ·Tcl History GNU ·Haiku ·Linux ·Mozilla (Application Suite ·Firefox ·Thunderbird ) Apache Software Foundation ·Blender Foundation ·Eclipse Foundation ·freedesktop.org ·Free Software Foundation (Europe ·India ·Latin America ) ·FSMI ·GNOME Foundation ·GNU Project ·Google Code ·KDE e.V. ·Linux Organizations Foundation ·Mozilla Foundation ·Open Source Geospatial Foundation ·Open Source Initiative ·SourceForge ·Symbian Foundation ·Xiph.Org Foundation ·XMPP Standards Foundation ·X.Org Foundation Apache ·Artistic ·BSD ·GNU GPL ·GNU LGPL ·ISC ·MIT ·MPL ·Ms-PL/RL ·zlib ·FSF approved Licences licenses License standards Open Source Definition ·The Free Software Definition ·Debian Free Software Guidelines Binary blob ·Digital rights management ·Graphics hardware compatibility ·License proliferation ·Mozilla software rebranding ·Proprietary software ·SCO-Linux Challenges controversies ·Security ·Software patents ·Hardware restrictions ·Trusted Computing ·Viral license Alternative terms ·Community ·Linux distribution ·Forking ·Movement ·Microsoft Open Other topics Specification Promise ·Revolution OS ·Comparison with closed
    [Show full text]
  • User Guide for the X Test Suite
    Xlib and X Protocol Test Suite XVersion 11 Release 6.1 User Guide for the X Test Suite July 1992 Copyright © 1991, 1992 UniSoft Group Limited Permission to use, copy, modify,distribute, and sell this software and its documentation for anypurpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of UniSoft not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. UniSoft makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. User Guide for the X Test Suite User Guide for the X Test Suite 1. Introduction This document is a guide to installing and running X Version 11 Release 6.1 of the X Test Suite. In order to do this, please work through all of the steps described in this guide in order.Information on the content, purpose and goals of the X Test Suite is found in a series of appendices, which followthe installation instructions. Please read the "Release Notes for the X Test Suite", which describe particular features of this release. Further information, which would be required by a programmer to modify or extend the XTest Suite, is contained in a separate document, "Programmers Guide for the X Test Suite". Included in this release is a version of the "Test Environment Toolkit" (TET). This is required to build and execute the X Test Suite.
    [Show full text]
  • Customizing the SAS Windowing Environment
    71 CHAPTER 4 Customizing the SAS Windowing Environment Introduction 72 Understanding SAS in the X Environment 72 X Window Managers 72 SAS Window Session ID 73 Workspace and Gravity in a SAS Session 73 Window Types 73 Using X Resources to Customize the Motif Interface 74 Specifying X Resources 75 Editing the X Resource File 75 Using the Preferences Dialog Box to Modify X Resource Settings 75 Modifying the General Settings 75 Modifying the DMS Settings 77 Modifying the Editing Settings 78 Modifying the Results Settings 79 Modifying the Toolbox and Command Window Settings 80 Using the SAS ToolBox 82 Customizing Toolboxes and Toolsets 83 Specifying Toolbox X Resources 83 Using the Tool Editor 84 Changing the Appearance of the Entire ToolBox 85 Changing an Existing Tool 85 Adding Tool Icons to the Toolbox 86 Changing the Order of the Icons in the Toolbox 86 Deleting Tool Icons from the Toolbox 87 Returning to the Default Settings 87 Saving Changes to the Toolbox or Toolset 87 Creating a New ToolBox 88 Loading a Different ToolBox 88 Creating or Customizing an Application- or Window-Specific ToolBox 88 Creating or Customizing an Application- or Window-Specific Toolset 88 Customizing Key Definitions 89 Defining Key Translations 89 Determining Keysyms 90 Modifying the SAS.keyboardTranslations Resource 91 Modifying the SAS.keysWindowLabels Resource 92 SAS Keyboard Action Names 93 Default Keyboard Actions 97 Extended-Attribute Key Resources 98 Customizing Fonts 98 Using the Fonts Dialog Box 99 Specifying Font Resources 100 72 Introduction R Chapter
    [Show full text]
  • Desktop + Desktop +
    Desktop + Read Chapter 10 Screen layout called geometry it is a bitmap with certain size of pixels typical size is 1920 x 1200 addressing pixels specific position on screen, e.g., 500 x 200 position relative to corner of screen 1 Desktop + Screen layout e.g., +50+50 is 50 pixels away from the upper left corner of the screen in both X and Y direction 2 X Window System security Who can have access to your screen? X server running a system only allows X client on that system to talk to it. X server does not allow connections from other X clients unless you explicitly allow it. 3 X Window System security Utility: xhost [+|-][hostname] The xhost command allows or denies access to the X server on a system. With no arguments, xhost prints its current settings and which hosts (if any) have access. By specifying only +, you can give access to all hosts, or by specifying only -, deny access to all hosts. When a hostname is specified after a + or -, access is granted or denied, respectively, to that host. 4 X Window System security Utility: xhost [+|-][hostname] For example: $ xhost +bluenote allows X clients running on system "bluenote" to write to the display on the system where the xhost utility was run. Later, when whatever you needed to run is finished, you can disallow access with the command: $ xhost -bluenote 5 X Window System security Utility: xhost [+|-][hostname] You can allow any X client on the network to write to your display with the command: $ xhost + You can also take away access to all remote X clients with: $ xhost - Where does it make sense to do this? 6 Desktop Environment All programs that manage and render the desktop, e.g., the icons, windows etc.
    [Show full text]