Importance-Driven Compositing Window Management
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Desktop Migration and Administration Guide
Red Hat Enterprise Linux 7 Desktop Migration and Administration Guide GNOME 3 desktop migration planning, deployment, configuration, and administration in RHEL 7 Last Updated: 2021-05-05 Red Hat Enterprise Linux 7 Desktop Migration and Administration Guide GNOME 3 desktop migration planning, deployment, configuration, and administration in RHEL 7 Marie Doleželová Red Hat Customer Content Services [email protected] Petr Kovář Red Hat Customer Content Services [email protected] Jana Heves Red Hat Customer Content Services Legal Notice Copyright © 2018 Red Hat, Inc. This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. -
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. -
The Glib/GTK+ Development Platform
The GLib/GTK+ Development Platform A Getting Started Guide Version 0.8 Sébastien Wilmet March 29, 2019 Contents 1 Introduction 3 1.1 License . 3 1.2 Financial Support . 3 1.3 Todo List for this Book and a Quick 2019 Update . 4 1.4 What is GLib and GTK+? . 4 1.5 The GNOME Desktop . 5 1.6 Prerequisites . 6 1.7 Why and When Using the C Language? . 7 1.7.1 Separate the Backend from the Frontend . 7 1.7.2 Other Aspects to Keep in Mind . 8 1.8 Learning Path . 9 1.9 The Development Environment . 10 1.10 Acknowledgments . 10 I GLib, the Core Library 11 2 GLib, the Core Library 12 2.1 Basics . 13 2.1.1 Type Definitions . 13 2.1.2 Frequently Used Macros . 13 2.1.3 Debugging Macros . 14 2.1.4 Memory . 16 2.1.5 String Handling . 18 2.2 Data Structures . 20 2.2.1 Lists . 20 2.2.2 Trees . 24 2.2.3 Hash Tables . 29 2.3 The Main Event Loop . 31 2.4 Other Features . 33 II Object-Oriented Programming in C 35 3 Semi-Object-Oriented Programming in C 37 3.1 Header Example . 37 3.1.1 Project Namespace . 37 3.1.2 Class Namespace . 39 3.1.3 Lowercase, Uppercase or CamelCase? . 39 3.1.4 Include Guard . 39 3.1.5 C++ Support . 39 1 3.1.6 #include . 39 3.1.7 Type Definition . 40 3.1.8 Object Constructor . 40 3.1.9 Object Destructor . -
A Successor to the X Window System
Y: A Successor to the X Window System Mark Thomas <[email protected]> Project Supervisor: D. R¨uckert <[email protected]> Second Marker: E. Lupu <[email protected]> June 18, 2003 ii Abstract UNIX desktop environments are a mess. The proliferation of incompatible and inconsistent user interface toolkits is now the primary factor in the failure of enterprises to adopt UNIX as a desktop solution. This report documents the creation of a comprehensive, elegant framework for a complete windowing system, including a standardised graphical user interface toolkit. ‘Y’ addresses many of the problems associated with current systems, whilst keeping and improving on their best features. An initial implementation, which supports simple applications like a terminal emulator, a clock and a calculator, is provided. iii iv Acknowledgements Thanks to Daniel R¨uckert for supervising the project and for his help and advice regarding it. Thanks to David McBride for his assistance with setting up my project machine and providing me with an ATI Radeon for it. Thanks to Philip Willoughby for his knowledge of the POSIX standard and help with the GNU Autotools and some of the more obscure libc functions. Thanks to Andrew Suffield for his help with the GNU Autotools and Arch. Thanks to Nick Maynard and Karl O’Keeffe for discussions on window system and GUI design. Thanks to Tim Southerwood for discussions about possible features of Y. Thanks to Duncan White for discussions about the virtues of X. All company and product names are trademarks and/or registered trademarks of their respective owners. -
MIT 150 | Project Athena - X Window System Users and Developers Conference, Day 1 [3/4] 1/14/1987
MIT 150 | Project Athena - X Window System Users and Developers Conference, Day 1 [3/4] 1/14/1987 [MUSIC PLAYING] PALAY: My name is Andrew Palay I work at the Information Technology Center at Carnegie Mellon University. For those who don't know, the Information Technology Center is a joint project between Carnegie Mellon University and IBM. It also has some funding from the National Science Foundation. This talk is going to cover the Andrew toolkit. I'd like to begin this talk by providing a short example of what the toolkit's all about. In particular, how I made this slide. And actually some of the other slides. So I basically had the editor. In this case, I had typed in the text. And I selected a spot of the text and essentially asked to add a raster. This particular place, I added a raster. This object that we add into these will be referred to, and are referred to by the toolkit, as insets. The inset comes up as its default size, given that I've added nothing to it. I then request to read a known raster from the file, And this point, in this case the ITC logo. If you note, the actual inset itself hasn't increased in size to accommodate the raster image. The user has control over that size, can actually make it larger or smaller. Later in the talk, another slide you will see actually has a drawing. In this case, I selected areas that I wanted the drawing, actually created the drawing in place. -
Porting X Windows System to Operating System Compliant with Portable Operating System Interface
(IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 11, No. 7, 2020 Porting X Windows System to Operating System Compliant with Portable Operating System Interface Andrey V. Zhadchenko1, Kirill A. Mamrosenko2, Alexander M. Giatsintov3 Center of Visualization and Satellite Information Technologies Scientific Research Institute of System Analysis Moscow, Russia Abstract—Now-a-days graphical interface is very important separated process contexts [4]. Current graphical subsystem for any operating system, even the embedded ones. Adopting is server-client X windows system implementation named existing solutions will be much easier than developing your XFree86 with version 4.8.0. Although XFree86 [5] supports up own. Moreover, a lot of software may be reused in this case. to the X11R6.6 protocol version, which is barely enough to run This article is devoted to X Window System adaptation for modern applications, absence of many important extensions, Portable Operating System Interface (POSIX) compliant real- for example, Xrender [6], implies heavy limits upon software. time operating system Baget. Many encountered problems come from the tight connection between X and Linux, therefore it is expected to encounter these issues during usage of X on non- Nowadays existing free software solutions in display Linux systems. Discussed problems include, but not limited to servers for operating systems are limited to two options: X the absence of dlopen, irregular file paths, specific device drivers. Windows System and Wayland [7]. However, there is a big Instructions and recommendations to solve these issues are given. ideological difference between them. X started it’s history a A comparison between XFree86 and Xorg implementations of X long time ago in the ’80s and was developed as an all-around is discussed. -
Toward General Purpose 3D User Interfaces: Extending Windowing Systems to Three Dimensions
TOWARD GENERAL PURPOSE 3D USER INTERFACES: EXTENDING WINDOWING SYSTEMS TO THREE DIMENSIONS A Thesis presented to the Faculty of California Polytechnic State University San Luis Obispo In Partial Fulfillment of the Requirements for the Degree Master of Science in Computer Science by Forrest Reiling June 2014 c 2014 Forrest Reiling ALL RIGHTS RESERVED ii COMMITTEE MEMBERSHIP TITLE: Toward General Purpose 3D User Inter- faces: Extending Windowing Systems to Three Dimensions AUTHOR: Forrest Reiling DATE SUBMITTED: June 2014 COMMITTEE CHAIR: Assistant Professor Zo¨eWood, Ph.D., Department of Computer Science COMMITTEE MEMBER: Assistant Professor Chris Lupo, Ph.D., Department of Computer Science COMMITTEE MEMBER: Professor Franz Kurfess, Ph.D., Department of Computer Science iii ABSTRACT Toward General Purpose 3D User Interfaces: Extending Windowing Systems to Three Dimensions Forrest Reiling Recent growth in the commercial availability of consumer grade 3D user interface de- vices like the Microsoft Kinect and the Oculus Rift, coupled with the broad availability of high performance 3D graphics hardware, has put high quality 3D user interfaces firmly within the reach of consumer markets for the first time ever. However, these devices require custom integration with every application which wishes to use them, seriously limiting application support, and there is no established mechanism for mul- tiple applications to use the same 3D interface hardware simultaneously. This thesis proposes that these problems can be solved in the same way that the same problems were solved for 2D interfaces: by abstracting the input hardware behind input prim- itives provided by the windowing system and compositing the output of applications within the windowing system before displaying it. -
X11 and Wayland
X11 and Wayland A tale of two implementations 1 / 20 Concepts What is hikari and what am I trying to achieve? and Goals window manager / compositor started 1.5 years ago written from scratch stacking / tiling hybrid approach inspired by cwm tiling algorithmX11 inspired and by Waylandherbstluftwm keyboard driven, for fast navigation modal, inspired by vim waste little screen space allowsA tale to arbitrarily of two group implementations windows minimal dependencies energy efficient target FreeBSD X11 and Wayland implementation 2 / 20 Concepts What is hikari and what am I trying to achieve? Concepts What is hikari and what am I trying to achieve? and Goals window manager / compositor started 1.5 years ago written from scratch stacking / tiling hybrid approach inspired by cwm tiling algorithm inspired by herbstluftwm keyboard driven, for fast navigation modal, inspired by vim waste little screen space allows to arbitrarily group windows minimal dependencies energy efficient target FreeBSD X11 and Wayland implementation 3 / 20 X Window System Architecture 4 / 20 X Window System Architecture X Window System Architecture // TinyWM is written by Nick Welch <[email protected]> in 2005 & 2011. // // This software is in the public domain // and is provided AS IS, with NO WARRANTY. #include <X11/Xlib.h> #define MAX(a, b) ((a) > (b) ? (a) : (b)) int main(void) { Display * dpy; XWindowAttributes attr; XButtonEvent start; XEvent ev; if(!(dpy = XOpenDisplay(0x0))) return 1; XGrabKey(dpy, XKeysymToKeycode(dpy, XStringToKeysym("F1")), Mod1Mask, DefaultRootWindow(dpy), -
Development and Analysis of a Window Manager Concept for Consolidated 3D Rendering on an Embedded Platform
Institute of Parallel and Distributed Systems University of Stuttgart Universitätsstraße 38 D–70569 Stuttgart Master’s Thesis Nr. 0202-0001 Development and Analysis of a Window Manager Concept for Consolidated 3D Rendering on an Embedded Platform Han Zhao Course of Study: INFOTECH Examiner: Prof. Dr. Kurt Rothermel Supervisor: Dipl.-Inf. Simon Gansel, Dipl.-Inf. Stephan Schnitzer Commenced: 19. Jan. 2015 Completed: 21. July 2015 CR-Classification: I.3.2, C.3, D.4.9 Abstract Nowadays with the information technology rapidly developing, an increasing number of 2D and 3D graphics are used in automotive displaying systems, to provide vehicle information, driving assistance, etc. With the demand of 3D models interacting with each other, an implementation should have a 3D compositing capability. However, traditional 2D compositing implementations are not capable of 3D models compositing tasks. In order to composite 3D graphics on embedded platform, the 3D compositing implementation is necessary. Therefore, a concept of window manager is developed aiming to composite 3D graphics with an optimized efficiency for embedded platform. Specially for automotive platforms, a virtualization is made to unify multiple Electronic Control Units (ECUs) into one single ECU platform. On this platform, a server and multiple clients are implemented with dedicated Virtual Machines (VMs). The server is in charge of rendering tasks requested from clients. Based on this, a 3D compositing concept is implemented. It handles efficiently the multiple 3D applications situation using a method of off-screen rendering. A server-side virtualization is also implemented by replacing certain client-side commands during commands forwarding. With this virtualization implementation, multiple applications run simultaneously with accessing single 3D GPU only. -
Install GNOME GUI on RHEL 7 Linux Server
Install GNOME GUI on RHEL 7 Linux Server If you have performend a RHEL 7 Linux Server installation and did not include Graphical User Interface (GUI) you can do it later directly from command line using yum command and selecting an appropriate installation group. To list all available installation groups on Redhat 7 Linux use: [root@rhel7 ~]# yum group list Loaded plugins: product-id, subscription-manager This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. There is no installed groups file. Maybe run: yum groups mark convert (see man yum) Available environment groups: Minimal Install Infrastructure Server File and Print Server Basic Web Server Virtualization Host Server with GUI Available Groups: Compatibility Libraries Console Internet Tools Development Tools Graphical Administration Tools Legacy UNIX Compatibility Scientific Support Security Tools Smart Card Support System Administration Tools System Management Done From the above list select Server with GUI installation group: [root@rhel7 ~]# yum groupinstall 'Server with GUI' Transaction Summary ================= Install 261 Packages (+604 Dependent packages) Total download size: 527 M Installed size: 1.7 G Is this ok [y/d/N]: Just because gnome desktop environment is a default GUI on RHEL 7 linux system the above command will install gnome. Alternatively, you can run the below command to only install core GNOME packages: [root@rhel7 ~]# yum groupinstall 'X Window System' 'GNOME' Once the installation is finished, you need to change system's runlevel to runlevel 5. Changing runlevel on RHEL 7 is done by use of systemctl command. The below command will change runlevel from runlevel 3 to runelevel 5 on RHEL 7: [root@rhel7 ~]# systemctl set-default graphical.target Depending on your previous installations you may need to accept Redhat License after you reboot your system. -
Building a 3D Graphic User Interface in Linux
Freescale Semiconductor Document Number: AN4045 Application Note Rev. 0, 01/2010 Building a 3D Graphic User Interface in Linux Building Appealing, Eye-Catching, High-End 3D UIs with i.MX31 by Multimedia Application Division Freescale Semiconductor, Inc. Austin, TX To compete in the market, apart from aesthetics, mobile Contents 1. X Window System . 2 devices are expected to provide simplicity, functionality, and 1.1. UI Issues . 2 elegance. Customers prefer attractive mobile devices and 2. Overview of GUI Options for Linux . 3 expect new models to be even more attractive. For embedded 2.1. Graphics Toolkit . 3 devices, a graphic user interface is essential as it enhances 2.2. Open Graphics Library® . 4 3. Clutter Toolkit - Solution for GUIs . 5 the ease of use. Customers expect the following qualities 3.1. Features . 5 when they use a Graphical User Interface (GUI): 3.2. Clutter Overview . 6 3.3. Creating the Scenegraph . 7 • Quick and responsive feedback for user actions that 3.4. Behaviors . 8 clarifies what the device is doing. 3.5. Animation by Frames . 9 • Natural animations. 3.6. Event Handling . 10 4. Conclusion . 10 • Provide cues, whenever appropriate, instead of 5. Revision History . 11 lengthy textual descriptions. • Quick in resolving distractions when the system is loading or processing. • Elegant and beautiful UI design. This application note provides an overview and a guide for creating a complex 3D User Interface (UI) in Linux® for the embedded devices. © Freescale Semiconductor, Inc., 2010. All rights reserved. X Window System 1 X Window System The X Window system (commonly X11 or X) is a computer software system and network protocol that implements X display protocol and provides windowing on bitmap displays. -
Xfree86® on Darwin and Mac OS X Torrey T
XFree86® on Darwin and Mac OS X Torrey T. Lyons 15 December 2003 1. Introduction XFree86, a freely redistributable open-source implementation of the X Window System, has been ported to Darwin and Mac OS X. This document is a collection of information for anyone running XFree86 on Apple’s next generation operating system. Most of the current work on XFree86 for Darwin and Mac OS Xiscentered around the XonX project at SourceForge. If you areinterested in up-to-date status, want to report a bug, or are interested in working on XFree86 for Darwin, stop by the XonX project. 2. Hardware Supportand Configuration The X window server for Darwin and Mac OS Xprovided by the XFree86 Project, Inc. is called XDarwin. XDarwin can run in three different modes. On Mac OS X, XDarwin runs in parallel with Aqua in full screen or rootless modes. These modes arecalled Quartz modes, named after the Quartz 2D compositing engine used by Aqua. XDarwin can also be run from the Darwin con- sole in IOKit mode. In full screen Quartz mode, when the X Window System is active, it takes over the entirescreen. Youcan switch back to the Mac OS Xdesktop by holding down Command-Option-A. This key combination can be changed in the user preferences. From the Mac OS Xdesktop, click on the XDarwin icon in the Dock to switch back to the X window system. (You can change this behavior in the user preferences so that you must click the XDarwin icon in the floating switch window instead.) In rootless mode, the X window system and Aqua shareyour display.