👁️
pierreinside
  • Introduction
  • Workbench
    • VirtualBox
    • Linux
      • Linux-Paketverwaltung
      • Linux Initialisierung
      • Ubuntu 14.10 LTS
      • Ubuntu 16.04 LTS
      • Ubuntu 18.04 LTS
      • Ubuntu 20.04 LTS
      • Ubuntu - Netzwerk
    • Konsole
      • ssh
      • zsh
      • cygwin
      • Babun
      • terminator
      • Terminal Multiplexer
      • Linux Tools
    • awesome
    • Entwicklungsumgebungen
      • Texteditors
      • Visual Studio Code
      • IntelliJ - IDEA
  • Softwareentwicklungsprozess
    • Schätzungen
    • Eventstorming
    • OKR
  • Architektur
    • Uncle Bob
    • Microservices
    • NoSQL
      • ElasticSearch
    • Hystrix
    • Reactive Programming
    • AngularJS
    • Service Mesh
  • Networking
    • Dependency Injection
  • Programming
    • Java Core/EE
      • Java 8
      • Java Annotationen
      • Bean Validation
      • Enterprise Java Beans Specification
      • Dependency Injection
    • JRebel
    • Webservices
      • HTTP
      • REST
      • Spring MVC REST
      • Swagger
      • Postman
    • Spring Ecosystem
      • Spring Core
      • Spring Boot
        • Programming
        • Production Ready
        • Testing
      • Spring Cloud
      • Spring Cloud Config
      • Spring MVC
      • Spring Data
      • Spring Petclinic
    • NodeJS
    • UI-Technologie
      • Thymeleaf
      • ionic
      • Web Fonts
      • Jinja Templates
      • Twitter Bootstrap
    • Python Ecosystem
      • Python Libraries
      • Python Testing
      • Python Best-Practices
      • Python Snippets
      • Python Selenium
      • Kivy UI
      • FastAPI
      • Typer CLI
      • Django
    • Groovy
    • Persistenz
      • Transactions
        • Java TX
        • JPA TX
      • TX Handling
      • JPA
        • Eclipse Link
      • MySQL
        • MySQL Performance
        • Docker MySQL
      • Hazelcast
    • Glassfish
    • YAML
    • Angular
    • Camel
    • Zeichenkodierung
    • Kinder lernen Programmieren
  • Testen
    • Easymock
    • Mockito
  • Performance & Scalability
    • Java Performance
      • Heapdump Analysis
    • Java Concurrency
    • Instana
  • Sicherheit
    • Authentifizierung
      • OpenID Connect
      • Web-Authentication API
    • Authorisierung
      • OAuth
      • SAML
    • Spring Security
    • Zertifikate
    • Kali Linux
    • VPN
    • Zero-Trust-Networks
  • Build und Deployment
    • Maven
    • Bamboo
    • Jenkins
      • Jenkins Pipelines
      • Jenkins Pipelines Tips und Tricks
      • Jenkins-configuration-as-Code
      • Jenkins IDE
    • Travis CI
    • Shellprogrammierung
      • jq - JSON Parsing
    • Konfiguration Management
    • Vagrant
      • Vagrant-Ansible-Integration
      • Vagrant Box bauen
    • Ansible
      • Getting Started
      • Ansible Details
    • Saltstack
    • LinuxKit
    • Container
      • Docker
        • Docker Getting Started
        • Debugging Docker
        • Docker Build
        • Docker Registry
        • Docker run
          • docker run
          • docker network
        • Docker Compose
        • docker machine
        • Docker@Windows
        • Docker Host
        • Docker Scaling
        • Docker Ressources
        • Docker Logging
        • windowsContainer
      • Cloud Deployment Provider
        • AWS
          • Anwendungsdeployment
          • Workload
          • Permissions
          • Netzwerke
          • AWS CLI
            • aws-vault
          • RDS
          • Static Website Hosting
          • EKS - Elastic Kubernetes Service
          • S3
        • Google Cloud Platform
      • Docker Orchestrierung
        • CoreOS
        • Kubernetes
          • microK8s
          • minikube
          • autoscaler
          • Docker
          • k9s
        • Nomad
    • PHP
  • Operations
    • Proxy
      • NGINX
    • DNS
    • Logging
      • Graylog
      • Fluentd
    • Monitoring
      • Grafana
    • Infrastructure-as-Code
      • Terraform
        • AWS-Provider
        • GitHub-Provider
      • Packer
    • Deployment
      • Vault
      • Consul
        • Consul Template
      • Fabio
  • Rechtliches
    • Software-Lizenzen
  • Git Ecosystem
    • Git
      • Git Lifecycle Hooks
    • GitHub
      • GitHub Organizations
    • GitHub Actions
    • GitHub Pages
    • GitHub CLI
    • GitHub Copilot
    • GitHub-AWS OIDC
    • GitBook
    • GitLab
    • Bitbucket/Stash
  • Publishing
    • WordPress
    • Markdown
    • Static Site Generators
      • Hugo
      • Jekyll
    • Tiddly Wiki
    • Leanpub
    • Animationsfilme
  • Storage
    • Synology 2012
    • Synology 2021
  • Collaboration
    • Übersicht
    • Microsoft Teams
  • Konferenzen
    • Velocity Berlin 2019
  • IT mit Kindern
    • Projekt Sportstracker
    • Scratch
    • Pico Spielekonsole
  • Schule
    • Mathematik
  • Misc
    • Foto/Video
      • Foto/Video Sammlung bis 2023
        • Handbrake
        • Onedrive
      • Foto/Video Sammlung ab 2024
      • Gopro
      • Panasonic FZ1000 ii
        • als Webcam
      • AV Receiver
      • Videos erstellen
        • OBS Studio
        • Touch Portal
        • Game-Streaming
      • Kameratasche
      • Kamera 2020
    • Handy
      • 2016
      • 2018
      • 2019
      • 2021
      • 2022
    • Computer
      • Laptop
        • 2018
        • Chromebook
      • Monitor
        • 4k
      • Software
        • Command Line Interface
        • Google API
        • Plant UML
        • Chromium
        • Passwort-Manager
        • GPG
      • Dell CNF 2665 Farbdrucker
      • Dockingstation
      • Gaming PC 2021
      • Mobiles Büro
      • Mobiles Internet
      • Mobiler Router
    • Beamer Benq W1000+
    • Spielekonsole
      • 2017
        • Playstation 4
      • Pico Spielekonsole
    • Gadgets
      • iPad Pro 2015 und 2016
      • iPad Air 2024
      • Macbook Pro
      • Smartwatch
      • Slate
      • Mudi
    • Fahrrad
      • Jonas 2018
      • SQLab
    • Auto
      • Auto 2022
      • Camping
        • Camping Touren Ideen
          • Camping Tour - Gardasee 2021
        • Camper
          • Camper klein - keine Stehhöhe
            • VW Bus Erfahrungen
          • Camper gross - Stehhöhe
    • Haus
      • Klimaanlage
      • Swimming Pool
      • Quick Mill Orione 3000
      • Spülmaschine 2021
      • Hebe-Schiebetür
      • Gasgrill
      • Minibar / Mini-Kühlschrank
      • Glasfaseranschluss (Fiber-to-the-Home)
      • Smart-Home
        • Raspberry Pi
        • Heimnetzwerk
      • Homeoffice
      • Energie
        • Solar
        • Wärmepumpe
    • Freizeit
      • Musik Streaming
      • Sky
      • Online Lernplattformen
      • eScooter - ePowerFun
    • Fußball
      • Meine Arbeit als Fußball-Trainer
      • Fußball Tools
      • DFB Talentförderung
    • Google Impact Challenge
  • Englisch
Powered by GitBook
On this page
  • Motivation
  • Konzepte
  • Installation
  • Upgrade
  • Konfiguration
  • Vicious - Widgets
  • Task-Switcher

Was this helpful?

  1. Workbench

awesome

  • Keybindings: https://www.cheatography.com/fievel/cheat-sheets/awesome-window-manager-3-x/pdf/

    • die meisten findet man auch über man awesome

Motivation

Ich bin Softwareentwickler und bin es gewohnt mit Shortcuts statt mit der Maus zu arbeiten. An meinem Arbeitsplatz verwende ich nicht mal eine Maus, sondern eine Tastatur mit Trackpoint, weil ich den gelegentlichen Griff zur Maus optimieren wollte. Insofern wollte ich auch einen Fenstermanager, der die Tastaturbedienung unterstützt. Mit den sog. Tile-Window-Managern bin ich sehr gut klargekommen.

Konzepte

Window:

Ein Window ist das UI eines Programms. Ein Window ist immer der Master ... das die meiste Aufmerksamkeit hat.

Layout:

Client:

Tag:


Installation

sudo apt-get update
sudo apt-get install awesome
sudo apt-get install awesome-extra

Mit dem awesome-extra Paket kommen auch Komponenten wie Vicious mit, mit denen sich der Window-Manager noch mehr personalisieren läßt (z. B. Memory/CPU-Widget).

Upgrade

Jahrelang hatte ich mit der Version 3 gearbeitet habe (Ubuntu 14.10 + Ubuntu 16.04) hatte ich mit IDEA IntelliJ ein paar Probleme in der Bedienung der Menüs (wurden auf der falschen Stelle aufgeklappt) ... die üblichen Java-Probleme unter awesome ließen sich nicht mit wmname lösen. Deshalb habe ich der Version 4 eine Chance gegeben. Folgendermaßen habe ich den Umstieg problemlos erledigt (vorher habe ich die ~/.config/awesome verschoben, um Migrationsprobleme zu vermeiden und meine persönliche Konfiguration nicht zerschiessen zu lassen):

sudo add-apt-repository ppa:klaus-vormweg/awesome -y
sudo apt-get update
sudo apt-get install awesome -y

Danach einmal ab- und wieder anmelden und voilà ... problemlos. Die ersten Tests mit IDEA sahen vielversprechend aus. Jetzt nur noch die persönliche Konfiguration migrieren und dabei vielleicht etwas über die neuen Möglichkeiten lernen (siehe: .

Konfiguration

Gleich am Anfang kopiert man am besten die Default rc.lua in die perönliche Konfiguration (cp /etc/xdg/awesome/rc.lua ~/.config/awesome/). Auf diese Weise hat man einen guten Startpunkt, um die Konfiguration nach seinem Geschmack anzupassen ... die Syntax/Aufbau dieser Datei ist allerdings ein wenig gewöhnungsbedürftig - ich schaffe es immer wieder die Datei zu zerstören, deshalb mache ich immer nur kleine Änderungen und löse dann eine Syntaxprüfung aus.

Vicious - Widgets

Vicious ist im awesome-extra Package entahlten und bringt nützliche Widgets wie CPU, Memory, ... mit.

Nach der Installation des Packages (sudo apt-get install awesome-extra) müssen die Module in die lokale Konfiguration kopiert werden (cp -a /usr/share/awesome/lib/vicious ~/.config/awesome/).

Über local vicious = require("vicious") ganz oben in der persönlichen rc.lua wird die Vicious-Library geladen.

Ein Widget wird dann folgendermaßen erzeugt:

memwidget = wibox.widget.textbox()
vicious.cache(vicious.widgets.mem)
vicious.register(memwidget, vicious.widgets.mem, "$1 ($2MB/$3MB)", 13)

Task-Switcher

Per Default unterstützt awesome nur den Wechsel zwischen zwei Tasks. So kann man das erweitern:

  • http://stackoverflow.com/questions/11697102/awesome-alttab-just-switches-between-two-apps

PreviousLinux ToolsNextEntwicklungsumgebungen

Last updated 3 years ago

Was this helpful?