Main Page
From awesome
|
The goal of this wiki is to provide a community-made documentation and especially help new users with the configuration of awesome. We cover developer information too, including information about how-to build awesome (several related distributions), how-to debug, and so on.
Note: Due to spammers, you must create an account in order to edit pages. While having to create an account to edit is annoying, so is spam.
Feel free to register as a user and contribute to our documentation effort.
Current awesome releases:
- Stable: awesome 3.4.3 (Engines).
- Development: Development versions of awesome can be downloaded as tarballs using git snapshots.
- Screenshots: Screenshots
[edit] Documentation
Configuration and control of awesome have changed between major versions and may continue to evolve in future ones. Some of the following documents may try to describe all the existing versions. Please fix them if a missing version needs special explanations. Other documents may be bound to only one version of awesome. Please fix them if version indication is missing.
[edit] Installation & Basics For Users
- FAQ - Check here first if you're having problems!
- Building awesome - Instructions for building / installing awesome.
- awesome 3 configuration - Get help understanding awesome 3 configuration and API basics.
- awesome 2.X to 3.X Awesome Configuration Converter
- awesome 3.0 to 3.1 config options that changed between the releases
- awesome 3.3 to 3.4 configuration changes to the 3.4 version
- Quickly Setting up Awesome with Gnome - How to make awesome be used in your gnome session with a couple of commands.
- KDE and awesome
- awesome-menu basics
- My first awesome Tutorial for new users and beginners
[edit] Development Basics
[edit] Reviews & News
[edit] Customization
[edit] Statusbars and widgets
- Widgets in awesome - A brief guide on the implementation of widgets within awesome.
- Vicious - How to use the vicious widget library to add dynamic widgets.
- Obvious - How to use the Obvious repo (Widgets with community support).
- User Contributed Widgets
- Using Cairo within Awesome
- Titlebar and Statusbar height - Small how-to that helps you customize statusbar and titlebar height.
- Bashets - Small Lua library to empower you to use your existing shellscripts as content providers for widgets.
[edit] Theming awesome
- Theming with Beautiful - How to theme your awesome-3 with the beautiful library.
- User Contributed Themes - Several awesome themes for use with beautiful.
- Customizing Fonts - How to add new fonts to your system.
- Nice Icons - Where to find nice icons to use in your widgets.
[edit] User configuration files
Examples of other users' configuration files.
[edit] Other tips
- Autostart - Small function providing autostart functionality for awesome.
- Run or raise - Run a client, or pop to it if it is already running.
- Revelation - Implementing Mac OS X Exposé in awesome.
- Gradient - Visual feedback on numerical data (e.g. processor usage).
- Problems with Java - What to do if your java apps look grey.
- XRandR Screen Table - If you don't like using numbers for screens.
- Move Mouse - Move the mouse from the centre of the screen for mouseless working.
- Rotate Clients - Functions to rotate all visible clients to the next position and keep the focus in place.
- Dbus, naughty and logs - Display colorized notifications of your logs.
- Naughty log watcher - Native implementation (no shell scripts/dbus required).
- Using Xephyr - How to run nested X sessions - good for testing new builds of awesome or different config files.
- Using Multiple Screens - How to setup X with multiple screens/monitors for use with awesome.
- nm-applet - How to setup nm-applet to start automatically in awesome.
- Mcabber notifications - Cool notifications for mcabber via naughty.
- Drop-down terminal - Toggle a video game-like console on the top of your screen like Yakuake/Tilda.
- Scratchpad manager - Basic scratchpad manager for the awesome window manager.
- WMII-like tag management - Mimic WMII's way of tag managment.
- Coverart display - Display Cover Art for current mpd song.
- Urxvt tips - Tips for using rxvt-unicode with awesome.
- Irssi tips - Tips for using Irssi with awesome.
- IM tips - Tips for using instant messaging clients with awesome.
- Remove icons - How to remove icons from the tasklist and show only current client.
- Custom Prompts - Customized prompts you can use with awful's prompt.
[edit] Lua extensions
Lua is a fast, light-weight, embeddable scripting language. Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode for a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping.
Common uses of Lua are:
- A configuration language for applications.
- A standalone scripting language.
- An embedded language in applications to modify runtime behaviour.
To get introduced into Lua, please read this tutorial for the newcomers to the language. As a suggestion, please consider to get this Lua Short Reference. The Awesome framework is built with Lua as the extension language. Some of all extensions can be seen below:
- awful - the standard awesome Lua library.
- awful.menu - a popup menu library.
- Beautiful - a theming library.
- Obvious - a new implementation of a widget library made since Wicked.
- Vicious - a modular widget library derived from Wicked.
- Space Invaders - allows you to play Space Invaders with Awesome
- Naughty - a popup notification library
- Shifty - dynamic tagging library with advanced client matching and sane configuration
- Eminent - effortless wmii-style dynamic tagging library that does not require any rc.lua changes
- Rodentbane - a library for rapid control of the mouse cursor using just the keyboard
[edit] More
Most people these days are used to having a more complete desktop. This section includes links to various apps that are lightweight and useful from within awesome to fill the gaps between just a window manager and a full-blown desktop environment like KDE or GNOME.
- Customizing GTK Apps - How to use themes without gnome-settings-daemon.
- Terminals - Replacements for desktop environment terminals.
- File Managers - Lightweight stand-alone File Managers.
- Automounting - A replacement for "gnome-volume-manager", "thunar-volman", etc.






