MarketAwesome (window manager)
Company Profile

Awesome (window manager)

awesome, formerly jdwm, is a dynamic window manager for the X Window System developed in the programming languages C and Lua. Lua is also used to configure and extend the system. Its development began as a fork of dwm, though has diverged largely since. It aims to be very small and fast, yet highly customizable. It enables managing windows via keyboard.

Aim
awesome has emerged as a dwm fork featuring customization through external configuration files (see Configuration and customization below). Although highly extensible, the default setup of the window manager is deliberately simplified. In doing so, the author has created what he calls a framework window manager for users to expand and adapt to their own needs. ==Features==
Features
• Configured via a Lua configuration file. • Like dwm and wmii, awesome uses tags instead of workspaces. Windows can be assigned to several tags, and multiple tags can be selected at the same time. • As a dynamic window manager, awesome can switch between different layouts for each tag, including floating, several dynamic tiling layouts, maximized and magnifier. • Multiple and per screen status bars, including a variety of widgets (text and icon boxes, graphs, progress bars, and so on). • Everything can be done with the keyboard, so usage of a mouse is optional. • Multihead support (XRandR, Xinerama or Zaphod mode). • Implements freedesktop.org standards including EWMH, XDG Base Directory, XEmbed, Desktop Notification and System Tray. • Compositing and true transparency support through an external compositor such as xcompmgr. • Remote control via D-Bus (awesome-client). • Supports the pango markup language. ==Configuration and customization==
Configuration and customization
From the very beginning, awesome was conceived as a dwm fork with an external configuration file. First versions of awesome (1.x) were simple modification of dwm with flat file configuration which used libconfig. In 2.x branch, Danjou changed the configuration library from libconfig to libconfuse, a different flat file configuration library, somewhat resembling libconfig. During the development of 2.x releases, many customization features were added to awesome, such as titlebars and icon drawing. that a new format for the configuration file will be used in 3.0 release. The new format was placed in a file ~/.awesomerc.lua, and was later moved to ~/.config/awesome/rc.lua. As the extension suggests, the configuration file is written in the Lua language. Danjou argued that the new format and Lua integration would enable awesome users to customize awesome in ways he previously considered impossible: using a programming language for configuration made it possible to dynamically specify configuration options. and a tutorial-style article about configuring awesome is posted on the awesome Wiki. Themes and widgets It is possible to theme (or skin) awesome by using the window manager's Beautiful library. In line with rc.lua configuration file, theming is also done in Lua, allowing dynamic themes to be created. Although the default awesome configuration as of 3.2.1 release does not have any status indicators (like wireless network status, battery indicators, etc.), users can add these items using widgets. Data for the widgets is supplied using arbitrary Lua code since widgets are defined in the main configuration file. ==Migration to XCB==
Migration to XCB
The 3.0 version, released September 18, 2008, uses the XCB library to communicate with the X server, making awesome the first window manager to use this library instead of Xlib. Work on the XCB port was started by Arnaud Fontaine, one of the current Awesome developers, in January 2008. Arnaud Fontaine announced the move to XCB on the XCB mailing list on April 9, 2008. In his message to the list, he emphasized the following as main advantages of using XCB: "modular architecture; direct access to the protocols; multithreading; asynchronous requests/replies;". The XCB port was completed the following month and Danjou created a new branch based on XCB. ==Lua integration==
Lua integration
Because of the perceived problems that limited expanding and customization in pre-3.0 version of awesome, the author decided to integrate Lua-based configuration into awesome. In September 2008, the first version of awesome with Lua API completed in parallel with XCB implementation. ==Distribution package availability==
Distribution package availability
awesome is distributed on a wide range of Unix-like operating systems, including Arch Linux, Debian, Fedora Linux, Gentoo, Ubuntu, Source Mage, openSUSE, Mageia, NixOS, FreeBSD, NetBSD, and OpenBSD. ==Named releases==
Named releases
awesome versions 1.0 through 1.3 (September–October 2007) were not named. Starting with the first 2.0 release candidate (November 2007), awesome has used named releases. The release names are related to music. awesome v4.x uses song names from Daft Punk. ==See also==
tickerdossier.comtickerdossier.substack.com