# Awesome

AwesomeWM é um gerenciador de janelas dinâmico para o X Window System desenvolvido nas linguagens de programação C e Lua. Lua também é usada para configurar e estender o gerenciador de janelas. Seu desenvolvimento começou como um fork do dwm. Pretende ser extremamente pequeno e rápido, mas extensivamente personalizável. Permite ao usuário gerenciar as janelas com o uso do teclado. A bifurcação foi inicialmente apelidada de jdwm, onde "jd" denotou as iniciais do programador principal e dwm denotou o projeto de software do qual foi bifurcada. O primeiro repositório git para o que se tornaria o Awesome foi criado em setembro de 2007. jdwm foi renomeado para incrível, em homenagem à mesma frase usada pelo personagem Barney Stinson de How I Met Your Mother. Awesome foi anunciado oficialmente na lista de discussão dwm em 20 de setembro de 2007.

## Objetivo do projeto

Um gerenciador de janelas é provavelmente um dos softwares mais usados ​​em suas tarefas do dia-a-dia, como seu navegador da web, leitor de e-mail e editor de texto. Usuários avançados e programadores têm uma grande variedade de escolha entre várias ferramentas para essas tarefas do dia-a-dia. Alguns são altamente extensíveis e configuráveis.
O Awesome tenta completar essas ferramentas com o que perdemos: um gerenciador de janelas extensível e altamente configurável.
Para atingir esse objetivo, o Awesome foi projetado como um gerenciador de janelas de framework. É extremamente rápido, pequeno, dinâmico e bastante extensível usando a linguagem de programação Lua .
Awesome surgiu como uma bifurcação do dwm com personalização por meio de arquivos de configuração externos. Embora altamente extensível, a configuração padrão do gerenciador de janelas é deliberadamente simplificada. Ao fazer isso, o autor criou o que ele chama de "gerenciador de janelas de estrutura" para que os usuários expandam e se adaptem às suas próprias necessidades.

## Características

* Configurado por meio de um arquivo de configuração Lua .
* Assim como o dwm, o Awesome usa tags em vez de espaços de trabalho . As janelas podem ser atribuídas a várias marcas e várias marcas podem ser selecionadas ao mesmo tempo.
* Como um gerenciador de janelas dinâmico, o Awesome pode alternar entre diferentes layouts para cada tag, incluindo flutuante, vários layouts dinâmicos de ladrilho , maximizar e ampliar .
* Barras de status múltiplas e por tela, incluindo uma variedade de widgets (caixas de texto e ícone, gráficos, barras de progresso e assim por diante).
* Tudo pode ser feito com o teclado, portanto, o uso do mouse é opcional.
* Suporte multihead (modo XRandR , Xinerama ou Zaphod).
* Implementa os padrões do freedesktop.org incluindo EWMH , XDG Base Directory, XEmbed, Desktop Notification e System Tray.
* Suporte de composição e transparência verdadeira por meio de um compositor externo como o xcompmgr.
* Controle remoto via D-Bus.
* Suporta a linguagem de marcação Pango .

## Configuração
### Modo de configuração inicial

Antes do terceiro lançamento principal, um dos recursos impressionantes era o que Danjou chamou de 'configuração sem complicações', as primeiras versões do Awesome (1.x) eram modificações simples do dwm com configuração de arquivo que usavam libconfig, no branch 2.x, Danjou mudou a biblioteca de configuração de libconfig para libconfuse , uma biblioteca de configuração de arquivo simples diferente, semelhante a libconfig. Durante o desenvolvimento das versões 2.x, muitos recursos de personalização foram adicionados ao impressionante, como barras de título e desenho de ícones.

### Novo arquivo de configuração

Em 20 de maio de 2008, Danjou anunciou em um e-mail para a equipe do projeto que um novo formato para o arquivo de configuração será usado na versão 3.0. O novo formato foi colocado em um arquivo ~/.awesomerc.lua, e mais tarde foi movido para ~/.config/awesome/rc.lua. Como a extensão sugere, o arquivo de configuração é escrito na linguagem de programação Lua . Danjou argumentou que o novo formato e a integração com Lua permitiriam a usuários do Awesome personalizá-los de maneiras que ele considerava impossíveis: o uso de uma linguagem de programação para configuração tornou possível especificar opções de configuração dinamicamente.
A Lua API agora está hospedada na página inicial do Awesome, e um artigo/tutorial de estilo sobre como configurar o Awesome está postado na Wiki do mesmo.

### Temas e widgets

É possível criar um tema (ou skin) no Awesome usando a biblioteca nativa. Em linha com o arquivo de configuração rc.lua, a tematização também é feita em Lua , permitindo a criação de temas dinâmicos.
Embora a configuração padrão na versão 3.2.1 não tenha nenhum indicador de status (como status de rede wi-fi, indicadores de bateria, etc.), os usuários podem adicionar esses itens usando widgets, dados para os widgets são fornecidos usando código Lua arbitrário, uma vez que os widgets são definidos no arquivo de configuração principal.

## Disponibilidade e distribuição

Awesome é distribuído em uma ampla gama de sistemas operacionais do tipo Unix, incluindo Arch Linux, Debian, Fedora Linux, Gentoo, Ubuntu, openSUSE, Mageia e OpenBSD .

## Veja também

* Gerenciador de janelas
* dwm
* wmii
* I3