Tiling Window-Manager Im Vergleich

Total Page:16

File Type:pdf, Size:1020Kb

Tiling Window-Manager Im Vergleich Tiling Window-Manager im Vergleich Renke Grunwald Carl von Ossietzky Universität Oldenburg 22. September 2011 1 / 44 Motivation Viele Tiling Window-Manager Verschiedene Ansätze Unklar, was passiert 2 / 44 Window-Manager Verwaltet die Fenster von Anwendungen Bestimmt für ein Fenster I ob es angezeigt wird I ob es aktiv ist I die Größe und Position I (wie es aussieht) Primär im X Window System 3 / 44 Stacking Window-Manager Fenster können sich überlappen 4 / 44 Tiling Window-Manager Fenster können sich nicht überlappen 5 / 44 i3 Rotes Fenster nach rechts 6 / 44 i3 Gelbes und oranges Fenster nach links 7 / 44 i3 Grünes Fenster nach oben 8 / 44 i3 Oranges Fenster nach oben 9 / 44 i3 Linke Spalte nach rechts vergrößern 10 / 44 i3 ... 11 / 44 Musca, StumpWM, Ratpoison Violettes Fenster teilen 12 / 44 Musca, StumpWM, Ratpoison Rotes Fenster teilen 13 / 44 Musca, StumpWM, Ratpoison Violettes Fenster teilen 14 / 44 Musca, StumpWM, Ratpoison Gelbes Fenster nach links vergrößern 15 / 44 Musca, StumpWM, Ratpoison Rotes Fenster nach rechts vergrößern 16 / 44 Musca, StumpWM, Ratpoison ... 17 / 44 Awesome, xmonad, dwm Rotes Fenster erstellen 18 / 44 Awesome, xmonad, dwm Oranges Fenster erstellen 19 / 44 Awesome, xmonad, dwm Grünes Fenster erstellen 20 / 44 Awesome, xmonad, dwm Linke Hälfte vergrößern 21 / 44 Awesome, xmonad, dwm Mehr Fenster in der linken Hälfte anzeigen 22 / 44 Awesome, xmonad, dwm ... 23 / 44 Bereiche Rechteckiger Ausschnitt des Bildschirms Dient als Behälter (oder Rahmen) für Fenster Zeigt ein Fenster an Oft auch einfach als Frame bezeichnet 24 / 44 Operationen Stellen Tätigkeiten eines Window-Managers dar Beeinflussen Fenster und Bereiche Möglichst allgemein und abstrakt gehalten 25 / 44 frame(Window, Frame) Zeigt ein Fenster in einem Bereich an frame( , ) 26 / 44 frame(Window, Frame) Zeigt ein Fenster in einem Bereich an frame( , ) 27 / 44 frame(Window, Frame) Zeigt ein Fenster in einem Bereich an frame( , ) 28 / 44 frame(Window, Frame) Zeigt ein Fenster in einem Bereich an ... 29 / 44 split(Frame, Direction, Size) Erstellt einen neuen Bereich split( , $, 50%) 30 / 44 split(Frame, Direction, Size) Erstellt einen neuen Bereich split( , l, 50%) 31 / 44 split(Frame, Direction, Size) Erstellt einen neuen Bereich ... 32 / 44 select(Frame) Wählt einen Bereich aus Wählt den übergebenen Bereich aus 33 / 44 merge(Frame) Entfernt einen Bereich merge( ) 34 / 44 merge(Frame) Entfernt einen Bereich merge( ) 35 / 44 merge(Frame) Entfernt einen Bereich merge( ) 36 / 44 merge(Frame) Entfernt einen Bereich merge( ) 37 / 44 grow(Frame, Direction, Size) Vergrößert einen Bereich grow( , !, ...) 38 / 44 grow(Frame, Direction, Size) Vergrößert einen Bereich grow( , #, ...) 39 / 44 grow(Frame, Direction, Size) Vergrößert einen Bereich ... 40 / 44 shrink(Frame, Direction, Size) Verkleinert einen Bereich shrink( , !, ...) 41 / 44 shrink(Frame, Direction, Size) Verkleinert einen Bereich shrink( , , ...) 42 / 44 shrink(Frame, Direction, Size) Verkleinert einen Bereich ... 43 / 44 Zusammenfassung Bereich Rechteckiger Ausschnitt des Bildschirms, der ein Fenster anzeigt split(Frame, Direction, Size) Erstellt einen Bereich merge(Frame) Entfernt einen Bereich grow(Frame, Direction, Size) Vergrößert einen Bereich shrink(Frame, Direction, Size) Verkleinert einen Bereich frame(Window, Frame) Zeigt ein Fenster in einem Bereich an select(Frame) Wählt einen Bereich aus 44 / 44.
Recommended publications
  • Resurrect Your Old PC
    Resurrect your old PCs Resurrect your old PC Nostalgic for your old beige boxes? Don’t let them gather dust! Proprietary OSes force users to upgrade hardware much sooner than necessary: Neil Bothwick highlights some great ways to make your pensioned-off PCs earn their keep. ardware performance is constantly improving, and it is only natural to want the best, so we upgrade our H system from time to time and leave the old ones behind, considering them obsolete. But you don’t usually need the latest and greatest, it was only a few years ago that people were running perfectly usable systems on 500MHz CPUs and drooling over the prospect that a 1GHz CPU might actually be available quite soon. I can imagine someone writing a similar article, ten years from now, about what to do with that slow, old 4GHz eight-core system that is now gathering dust. That’s what we aim to do here, show you how you can put that old hardware to good use instead of consigning it to the scrapheap. So what are we talking about when we say older computers? The sort of spec that was popular around the turn of the century. OK, while that may be true, it does make it seem like we are talking about really old hardware. A typical entry-level machine from six or seven years ago would have had something like an 800MHz processor, Pentium 3 or similar, 128MB of RAM and a 20- 30GB hard disk. The test rig used for testing most of the software we will discuss is actually slightly lower spec, it has a 700MHz Celeron processor, because that’s what I found in the pile of computer gear I never throw away in my loft, right next to my faithful old – but non-functioning – Amiga 4000.
    [Show full text]
  • GNU Guix Cookbook Tutorials and Examples for Using the GNU Guix Functional Package Manager
    GNU Guix Cookbook Tutorials and examples for using the GNU Guix Functional Package Manager The GNU Guix Developers Copyright c 2019 Ricardo Wurmus Copyright c 2019 Efraim Flashner Copyright c 2019 Pierre Neidhardt Copyright c 2020 Oleg Pykhalov Copyright c 2020 Matthew Brooks Copyright c 2020 Marcin Karpezo Copyright c 2020 Brice Waegeneire Copyright c 2020 Andr´eBatista Copyright c 2020 Christine Lemmer-Webber Copyright c 2021 Joshua Branson 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 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 included in the section entitled \GNU Free Documentation License". i Table of Contents GNU Guix Cookbook ::::::::::::::::::::::::::::::: 1 1 Scheme tutorials ::::::::::::::::::::::::::::::::: 2 1.1 A Scheme Crash Course :::::::::::::::::::::::::::::::::::::::: 2 2 Packaging :::::::::::::::::::::::::::::::::::::::: 5 2.1 Packaging Tutorial:::::::::::::::::::::::::::::::::::::::::::::: 5 2.1.1 A \Hello World" package :::::::::::::::::::::::::::::::::: 5 2.1.2 Setup:::::::::::::::::::::::::::::::::::::::::::::::::::::: 8 2.1.2.1 Local file ::::::::::::::::::::::::::::::::::::::::::::: 8 2.1.2.2 `GUIX_PACKAGE_PATH' ::::::::::::::::::::::::::::::::: 9 2.1.2.3 Guix channels ::::::::::::::::::::::::::::::::::::::: 10 2.1.2.4 Direct checkout hacking:::::::::::::::::::::::::::::: 10 2.1.3 Extended example ::::::::::::::::::::::::::::::::::::::::
    [Show full text]
  • Suckless.Org Software That Sucks Less
    suckless.org software that sucks less markus schnalke <[email protected]> a website a couple of projects a community a philosophy . not a summary, but we’ll have one at the end what is suckless.org? something that Anselm R. Garbe started a couple of projects a community a philosophy . not a summary, but we’ll have one at the end what is suckless.org? something that Anselm R. Garbe started a website a community a philosophy . not a summary, but we’ll have one at the end what is suckless.org? something that Anselm R. Garbe started a website a couple of projects a philosophy . not a summary, but we’ll have one at the end what is suckless.org? something that Anselm R. Garbe started a website a couple of projects a community . not a summary, but we’ll have one at the end what is suckless.org? something that Anselm R. Garbe started a website a couple of projects a community a philosophy what is suckless.org? something that Anselm R. Garbe started a website a couple of projects a community a philosophy . not a summary, but we’ll have one at the end the website website www.suckless.org main page (links to everything else) lists.suckless.org the mailinglists archives code.suckless.org the source code repositories (Mercurial) the wiki the wiki software I hgiki (genosite) I self made by arg I shell script with 100 SLOC I uses markdown markup content I kept in Mercurial repo I write access to preview wiki (port 8000) I hg clone http://www.suckless.org:8000/hg/wiki I vi <some-file> I hg commit && hg push the couple of projects projects window managers I wmii I dwm IRC clients I sic I ii various tools I dmenu, slock, sselp, lsx, .
    [Show full text]
  • Using X for a High Resolution Console on Freebsd I
    Using X For A High Resolution Console On FreeBSD i Using X For A High Resolution Console On FreeBSD Using X For A High Resolution Console On FreeBSD ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME 2011-05-26 WB Using X For A High Resolution Console On FreeBSD iii Contents 1 Introduction 1 2 Minimal Window Managers 1 3 Setup 1 4 Usage 2 Using X For A High Resolution Console On FreeBSD 1 / 2 © 2011 Warren Block Last updated 2011-05-26 Available in HTML or PDF. Links to all my articles here. Created with AsciiDoc. High resolution VESA BIOS modes are rare. X11 can provide borderless screens and windows that look like a text-only console but have many more options. 1 Introduction FreeBSD’s bitmap console modes are limited to those provided by the video card’s VESA BIOS. 1280x1024 is a standard mode, but higher resolutions are not available unless the video card manufacturer has implemented them. Many vendors expect their cards to only be used in bitmap mode anyway, and don’t bother with extending the VESA modes. The end result is that console graphics modes higher than 1280x1024 are often not available. Fortunately, X can be used to provide a graphic console without requiring VESA BIOS support. Even better, basic X11 features like 2D acceleration and antialiased fonts are provided, and graphics-only applications like Firefox can be used. 2 Minimal Window Managers There are a selection of window managers that don’t bother with all the graphical gadgets. A quick look through the ports system shows aewm, antiwm, badwm, evilwm, lwm, musca, ratpoison, scrotwm, stumpwm, twm, w9wm, and weewm.
    [Show full text]
  • We've Got Bugs, P
    Billix | Rails | Gumstix | Zenoss | Wiimote | BUG | Quantum GIS LINUX JOURNAL ™ REVIEWED: Neuros OSD and COOL PROJECTS Cradlepoint PHS300 Since 1994: The Original Magazine of the Linux Community AUGUST 2008 | ISSUE 172 WE’VE GOT Billix | Rails Gumstix Zenoss Wiimote BUG Quantum GIS MythTV BUGs AND OTHER COOL PROJECTS TOO E-Ink + Gumstix Perfect Billix Match? Kiss Install CDs Goodbye AUGUST How To: 16 Terabytes in One Case www.linuxjournal.com 2008 $5.99US $5.99CAN 08 ISSUE Learn to Fake a Wiimote Linux 172 + UFO Landing Video Interface HOW-TO 0 09281 03102 4 AUGUST 2008 CONTENTS Issue 172 FEATURES 48 THE BUG: A LINUX-BASED HARDWARE MASHUP With the BUG, you get a GPS, camera, motion detector and accelerometer all in one hand-sized unit, and it’s completely programmable. Mike Diehl 52 BILLIX: A SYSADMIN’S SWISS ARMY KNIFE Build a toolbox in your pocket by installing Billix on that spare USB key. Bill Childers 56 FUN WITH E-INK, X AND GUMSTIX Find out how to make standard X11 apps run on an E-Ink display using a Gumstix embedded device. Jaya Kumar 62 ONE BOX. SIXTEEN TRILLION BYTES. Build your own 16 Terabyte file server with hardware RAID. Eric Pearce ON THE COVER • Neuros OSD, p. 44 • Cradlepoint PHS300, p. 42 • We've got BUGs, p. 48 • E-Ink + Gumstix—Perfect Match?, p. 56 • How To: 16 Terabytes in One Case, p. 62 • Billix—Kiss Install CDs Goodbye, p. 52 • Learn to Fake a UFO Landing Video, p. 80 • Wiimote Linux Interface How-To, p. 32 2 | august 2008 www.linuxjournal.com lj026:lj018.qxd 5/14/2008 4:00 PM Page 1 The Straight Talk People
    [Show full text]
  • Tychoish, Personal Stack Release
    tychoish, Personal Stack Release Sam Kleinman March 30, 2013 Contents 1 Releases ii 1.1 Downloads................................................ ii Packages................................................. ii Documentation.............................................. ii 2 Documentation ii 2.1 Emacs Stack................................................ ii Overview................................................. ii Release.................................................. iii Points of Interest............................................. iii Setup and Customization......................................... iii Internal Overview............................................. iv 2.2 StumpWM Stack............................................. iv Overview................................................. iv Release..................................................v Use....................................................v Points of Interest.............................................v Setup and Customization......................................... vi Indexvii The goal of the “Stack” project is to collect a number of “quality working defaults,” for programs like Emacs and StumpWM to provides users with a starting point for their own configuration and customization development. While both of these programs (and others) are very powerful tools, without some amount of configuration these tools are not particularly useful. I’m producing these configurations from the configurations I use every day. The methodology that I used for extracting and packaging
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • Code Generation and Model Driven Development for Constrained Embedded Software
    Code Generation and Model Driven Development for Constrained Embedded Software Andrzej W¡sowski FIRST PhD School Department of Innovation IT University of Copenhagen A dissertation submitted to IT University in partial fulfillment of the requirements for the degree of doctor of philosophy in Computer Science Copenhagen, January 31, 2005 keywords: statecharts, embedded systems, reactive synchronous systems, discrete control systems, execution contexts, semantics, code generation, model transformation, flattening, process algebra, process equivalence and refinement, context-dependent equivalence and refinement, color-blindness, software product lines, Unified Modeling Language, model driven development Code Generation and Model Driven Development for Constrained Embedded Software Copyright 2005 by Andrzej W¡sowski This revision includes improvements suggested by the defense committee. All rights reserved. Reproduction of all or part of this dissertation is permitted for educational or research use on condition that this copyright notice is included in any, even partial, copy. Copies may be obtained by contacting: Department of Innovation IT University of Copenhagen Rued Langgaard Vej 7 2300 Copenhagen S Denmark Abstract We consider statechart models of discrete control embedded programs oper- ating under severe memory constraints. There have been very few results in code generation for such systems. We analyze code generation methods for embededded processors utilizing C as an intermediate language and runtime interpreters. We choose a suitable subset of hierarchical statecharts and en- gineer an efficient interpreter for programs in it. An algorithm is provided that simplifies general models to our sublanguage removing dynamic scop- ing and transition conflicts. The resulting code generator improves over an industrial implementation provided by IAR A/S.
    [Show full text]
  • Deterministic Parallel Fixpoint Computation
    Deterministic Parallel Fixpoint Computation SUNG KOOK KIM, University of California, Davis, U.S.A. ARNAUD J. VENET, Facebook, Inc., U.S.A. ADITYA V. THAKUR, University of California, Davis, U.S.A. Abstract interpretation is a general framework for expressing static program analyses. It reduces the problem of extracting properties of a program to computing an approximation of the least fixpoint of a system of equations. The de facto approach for computing this approximation uses a sequential algorithm based on weak topological order (WTO). This paper presents a deterministic parallel algorithm for fixpoint computation by introducing the notion of weak partial order (WPO). We present an algorithm for constructing a WPO in almost-linear time. Finally, we describe Pikos, our deterministic parallel abstract interpreter, which extends the sequential abstract interpreter IKOS. We evaluate the performance and scalability of Pikos on a suite of 1017 C programs. When using 4 cores, Pikos achieves an average speedup of 2.06x over IKOS, with a maximum speedup of 3.63x. When using 16 cores, Pikos achieves a maximum speedup of 10.97x. CCS Concepts: • Software and its engineering → Automated static analysis; • Theory of computation → Program analysis. Additional Key Words and Phrases: Abstract interpretation, Program analysis, Concurrency ACM Reference Format: Sung Kook Kim, Arnaud J. Venet, and Aditya V. Thakur. 2020. Deterministic Parallel Fixpoint Computation. Proc. ACM Program. Lang. 4, POPL, Article 14 (January 2020), 33 pages. https://doi.org/10.1145/3371082 1 INTRODUCTION Program analysis is a widely adopted approach for automatically extracting properties of the dynamic behavior of programs [Balakrishnan et al.
    [Show full text]
  • System Fundamentals Resources
    System Fundamentals resources What is a server foss market Public servers on the Internet https://en.wikipedia.org/wiki/Usage_share_of_operating_systems#Public_servers_on_the_Internet Technologies Overview https://w3techs.com/technologies Frequently Asked Questions https://w3techs.com/faq OS Market Share and Usage Trends https://web.archive.org/web/20150806093859/http://www.w3cook.com/os/summary/ Usage of operating systems for websites https://w3techs.com/technologies/overview/operating_system/all processor dies Intel to Keep Its Number One Semiconductor Supplier Ranking in 2020 https://www.icinsights.com/news/bulletins/Intel-To-Keep-Its-Number-One-Semiconductor-Supplier-Ranking-In-2020/ Top Semiconductor Sales Leaders – 1Q2020 https://anysilicon.com/top-semiconductor-sales-leaders-1q2020/ x86 Linus Torvalds Switches To AMD Ryzen Threadripper After 15 Years Of Intel Systems https://www.phoronix.com/scan.php?page=news_item&px=Torvalds-Threadripper Linux 5.7-rc7 https://lore.kernel.org/lkml/CAHk-=whan1CiRtcgBt-5SkW-ga_GeLH5+AO26RmK7vOA5yw9ng@mail.gmail.com/T/ Compiling a Benchmark for RISC-V https://www.youtube.com/watch?v=Q0jHbGQY9u0 CPU 2020 Benchmarks https://www.anandtech.com/bench/CPU-2020/2974 numa INTRODUCTION 2016 NUMA DEEP DIVE SERIES https://frankdenneman.nl/2016/07/06/introduction-2016-numa-deep-dive-series/ NUMA DEEP DIVE PART 1: FROM UMA TO NUMA https://frankdenneman.nl/2016/07/07/numa-deep-dive-part-1-uma-numa/ NUMA Deep Dive Part 3: Cache Coherency https://frankdenneman.nl/2016/07/11/numa-deep-dive-part-3-cache-coherency/
    [Show full text]
  • Devops: Теперь Java Не Тормозит ПОТЕРЯННЫЙ МАНУАЛ О ТОМ, КОМУ РЕШАТЬ НЕУДОБНЫЕ ЗАДАЧИ Disclaimer
    DevOps: Теперь Java не тормозит ПОТЕРЯННЫЙ МАНУАЛ О ТОМ, КОМУ РЕШАТЬ НЕУДОБНЫЕ ЗАДАЧИ Disclaimer The following is intended to outline our general devops process direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release and timing of any features or functionality described for Sberbank-Technology’s products or services remains at the sole discretion of Sberbank-Technology. Информация предназначается чтобы обозначить наше общее направление формирования процесса DevOps. Она предоставляется только в целях ознакомления, и не может быть использована в контрактах или договорах любого вида. Эта информация не является попыткой предоставления какого-то материала, код, или функциональности, и не должна быть использована в принятии коммерческих решений. Разработка, выпуск, календарные сроки любых объектов или функциональности, описанных в контексте продуктов или услуг компании Сбербанк- Технологии, остается на усмотрение компании Сбербанк-Технологии. Кто здесь? Госуслуги (с обеих сторон баррикады) ЕГИСЗ - (Единая государственная информационная система в сфере здравоохранения), ИЭМК - (Интегрированная электронная медицинская карта). Интеграция с ГИБДД, МВД, итп IUPAT - (The International Union of Painters and Allied Trades) - главная информационная система профсоюзов Учствовал в разработке двух языков программирования, SDK для них, и плагинов для IDE Администрировал веб-приложения и видеостриминговые сервера Сейчас: Сбербанк-Технологии, система для выполнения BPMN бизнес-процессов Определение по Википедии DevOps (акроним от англ. development и operations) — набор практик, нацеленных на активное взаимодействие и интеграцию специалистов по разработке и специалистов по информационно-технологическому обслуживанию. https://ru.wikipedia.org/wiki/DevOps Определение по Википедии DevOps (акроним от англ.
    [Show full text]
  • Turbo-Charge Your Desktop
    Turbo-charge your desktop Turbo-charge your desktop rge ha -c p o to rb sk Enlightenment 0.16.8.14 u e Fluxbox 1.0.0 T d Ratpoison 1.4.3 r Mike Saunders explores the slick u Enlightenment, speedy Fluxbox o and keyboard-tastic Ratpoison y window managers. Aye caramba! anufacturers and PC vendors would have the internet. Click Applications > Accessories > Terminal (in you believe that there’s only one way to Gnome) to enter the commands. Then, after installing, log out speed up your machine: buy new kit! And and click Options > Select Session to choose the WM that M then, in 18 months, buy new kit again. runs when you log in. Let’s go! However, it’s usually our software that’s the real bottleneck. If you’ve been using Linux for a while, you’ll already have discovered lighter alternatives to some of DESKTOP ENVIRONMENT Builds upon the window manager, the platform’s bloatfests – for example, using AbiWord adding panels, system trays, and Gnumeric in the place of OpenOffice.org. a file manager and so on. But what about the desktop itself? To start with, let’s look at how the layers of the Linux GUI fit together, right. WINDOW MANAGER (AKA WM) Uses the widget tookit to produce title That’s the setup when you’re running one of the big three bars, resize handles and menus. desktops (Gnome, KDE, Xfce). However, if you choose a standalone window manager (WM), you can cut out the first WIDGET TOOLKIT and third layers in this stack.
    [Show full text]