Awesome

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Awesome and the translation is 43% complete.
Outdated translations are marked like this.

awesome é um gerenciador de janelas dinâmico altamente configurável e de próxima geração window manager para o X. É voltado principalmente para usuários avançados, desenvolvedores e qualquer pessoa que lide com tarefas diárias no computador e que deseja ter um controle refinado do seu ambiente gráfico. É estendido usando a linguagem de programação Lua.

Services

Choose exactly one of:

  • elogind: Standalone logind package, extracted from the systemd project for use with OpenRC or other init systems.
  • systemd: Uses the session tracker part of systemd. Users of systemd do not need to take any other initiative here.

Miscellaneous

  • D-Bus: Enables use of the D-Bus message bus system.
  • polkit: Enables the polkit framework for controlling privileges for system-wide services.
  • udisks: Enables support for some storage related services.

X server

Follow the instructions on Xorg/Guide to set up the X environment.

Starting the X server

One of the following methods can be used to start X:

Instalação

USE flags

USE flags for x11-wm/awesome A dynamic floating and tiling window manager

dbus Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc)
doc Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
gnome Add GNOME support
test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)

Emerge

Install x11-wm/awesome:

root #emerge --ask x11-wm/awesome

Configuração

Iniciando

Para iniciar o awesome, use um display manager ou startx.

Para usar o startx com suporte ao ConsoleKit, configure ConsoleKit e crie o seguinte arquivo:

FILE ~/.xinitrc
exec ck-launch-session dbus-launch --sh-syntax --exit-with-session awesome

Arquivo de Configuração

O arquivo de configuração padrão do awesome está localizado em ~/.config/awesome/rc.lua. Se o diretório não existir, ele precisará ser criado. Uma configuração padrão vem junto com o awesome e pode ser encontrada em /etc/xdg/awesome/rc.lua. Copie esse arquivo de configuração para o diretório home do usuário.

Primeiramente, crie o diretório awesome/:

user $mkdir -p ~/.config/awesome/

Em seguida, copie o arquivo de configuração rc.lua:

user $cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua

Se o x11-terms/xterm não estiver instalado, instale-o ou altere o terminal padrão para o terminal disponível no sistema. Abaixo, o terminal padrão é definido como konsole, parte do kde-apps/konsole.

FILE ~/.config/awesome/rc.lua
-- This is used later as the default terminal and editor to run.
terminal = "konsole"

Depois de fazer as mudanças, é útil verificar se o arquivo de configuração contém erros:

user $awesome -k
✔ Configuration file syntax OK

Adicione suporte para papel de parede com o pacote media-gfx/feh:

root #emerge --ask media-gfx/feh

Por exemplo, para usar o awsetbg para definir o papel de parede, edite o ~/.config/awesome/theme/theme.lua:

FILE ~/.config/awesome/theme/theme.luaSetting a specific background using awsetbg
theme.wallpaper_cmd = { "awsetbg -f .config/awesome/themes/awesome-wallpaper.png" }

Ou simplismente defina a propriedade wallpaper do tema:

FILE ~/.config/awesome/theme/theme.luaSetting a specific background using the wallpaper property
theme.wallpaper = ".config/awesome/themes/awesome-wallpaper.png"

Tags

No awesome, tags são o nome dado aos desktops virtuais sob os quais um ou mais aplicativos estão sendo executados. É possível atribuir símbolos personalizados a essas tags:

FILE ~/.config/awesome/rc.lua
-- {{{ Tags
tags = {}
for s = 1, screen.count() do
    tags[s] = awful.tag({ "➊", "➋", "➌", "➍" }, s, layouts[1])
end
-- }}}

Menu

Abaixo está um exemplo de um menu do awesome personalizado:

FILE ~/.config/awesome/rc.lua
-- {{{ Menu
myawesomemenu = {
   { "manual", terminal .. " -e man awesome" },
   { "edit config", editor_cmd .. " " .. awesome.conffile },
   { "reload", awesome.restart },
   { "quit", awesome.quit },
   { "reboot", "reboot" },
   { "shutdown", "shutdown" }
}
 
appsmenu = {
   { "urxvt", "urxvt" },
   { "sakura", "sakura" },
   { "ncmpcpp", terminal .. " -e ncmpcpp" },
   { "luakit", "luakit" },
   { "uzbl", "uzbl-browser" },
   { "firefox", "firefox" },
   { "chromium", "chromium" },
   { "thunar", "thunar" },
   { "ranger", terminal .. " -e ranger" },
   { "gvim", "gvim" },
   { "leafpad", "leafpad" },
   { "htop", terminal .. " -e htop" },
   { "sysmonitor", "gnome-system-monitor" }
}
 
gamesmenu = {
   { "warsow", "warsow" },
   { "nexuiz", "nexuiz" },
   { "xonotic", "xonotic" },
   { "openarena", "openarena" },
   { "alienarena", "alienarena" },
   { "teeworlds", "teeworlds" },
   { "frozen-bubble", "frozen-bubble" },
   { "warzone2100", "warzone2100" },
   { "wesnoth", "wesnoth" },
   { "supertuxkart", "supertuxkart" },
   { "xmoto" , "xmoto" },
   { "flightgear", "flightgear" },
   { "snes9x" , "snes9x" }
}
 
mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu },
                                    { "apps", appsmenu },
				    { "games", gamesmenu },
                                    { "terminal", terminal },
				    { "web browser", browser },
				    { "text editor", geditor }
                                  }
                        })
 
mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon),
                                     menu = mymainmenu })
-- }}}

Data

Abaixo está um exemplo de um formato de data personalizado. A sintaxe do formato usada é %d.%m %H:%M. A segunda opção, 60, é o intervalo de atualização em segundos.

FILE ~/.config/awesome/rc.luaCreating a text-clock widget
-- {{{ Wibox
-- Create a text-clock widget
mytextclock = wibox.widget.textclock(" %d.%m %H:%M ", 60)
-- }}}
Nota
Para mais informações sobre o formato, execute date --help

Controle de Volume

media-sound/volumeicon pode ser usada para manipular as teclas de volume automaticamente e para mostrar o nível do volume através de um ícone de bandeja.

root #emerge --ask media-sound/volumeicon

Inicie automaticamente o volumeicon de dentro do ~/.xinitrc:

FILE ~/.xinitrcLaunching volumeicon in the background when starting X
volumeicon &
exec ck-launch-session dbus-launch awesome

Alternativamente, um método leve é adicionar as teclas de volume diretamente na configuração do awesome:

FILE ~/.config/awesome/rc.luaVolume keys
awful.key({ }, "XF86AudioLowerVolume", function () awful.util.spawn("amixer -q sset Master 2dB-") end)
awful.key({ }, "XF86AudioRaiseVolume", function () awful.util.spawn("amixer -q sset Master 2dB+") end)

Teclas multimídia MPD

Instale media-sound/mpc para adicionar atalhos de teclado para o MPD:

root #emerge --ask media-sound/mpc

Em seguida, atualize a configuração do awesome para atribuir as teclas de multimídia ao comando adequado:

FILE ~/.config/awesome/rc.luaVolume key bindings
awful.key({ }, "XF86AudioNext",function () awful.util.spawn( "mpc next" ) end),
awful.key({ }, "XF86AudioPrev",function () awful.util.spawn( "mpc prev" ) end),
awful.key({ }, "XF86AudioPlay",function () awful.util.spawn( "mpc play" ) end),
awful.key({ }, "XF86AudioStop",function () awful.util.spawn( "mpc pause" ) end),

Removendo os espaços da janela

Espaços entre as janelas pode ser visíveis, mais notadamente entre as janelas do terminal. Estes podem ser removidos inserindo a propriedade size_hints_honor = false na tabela awful.rules.rules da seguinte forma:

FILE ~/.config/awesome/rc.luaSetting size_hints_honor property
awful.rules.rules = {
    { rule = { },
      properties = { size_hints_honor = false, -- Remove gaps
                     border_width = beautiful.border_width,
                     border_color = beautiful.border_normal,
      ...
}

}}

Depurando a configuração com o Xephyr

Xephyr é uma ferramenta útil para depurar novos arquivos de configuração, pois cria uma instância do servidor X dentro de uma janela do cliente.

user $Xephyr -ac -nolisten tcp -br -noreset -screen 800x600 :1

Isto irá abrir uma janela de 800x600. Para executar awesome dentro dela, abra um novo terminal e execute o seguinte:

user $DISPLAY=:1.0 awesome

Isto irá executar o awesome dentro da janela.

Atalhos de Teclado

Estes são os atalhos padrão mais úteis:

  • mod4+mouse1 = mover cliente com mouse
  • mod4+mouse2 = redimensionar cliente com o mouse
  • mod4+enter = abrir o terminal
  • mod4+r = executar comando
  • mod4+shift+c = fechar
  • mod4+m = maximizar
  • mod4+n = minimizar
  • mod4+ctrl+n = restaurar clientes minimizados
  • mod4+f = tela cheia
  • mod4+tab = mudar para o cliente anterior
  • mod4+ctrl+space = float
  • mod4+j = destacar cliente esquerdo
  • mod4+k = destacar cliente direito
  • mod4+shift+j = mover cliente para direita
  • mod4+shift+k = mover cliente para esquerda
  • mod4+l = redimensionar cliente em mosaico
  • mod4+h = redimensionar cliente em mosaico
  • mod4+left / right = mudar tag
  • mod4+1-9 = mudar tag
  • mod4+shift+1-9 = enviar cliente para tag

Atalhos personalizados, como Alt+Tab, podem ser mapeados para tornar a experiência com o awesome ainda melhor. Por exemplo, usando Alt+Tab para mudar para a janela anterior:

FILE ~/.config/awesome/rc.luaAlt-TAB key binding
-- {{{ Key bindings
globalkeys = awful.util.table.join(
...
    -- alt + tab
    awful.key({ "Mod1", }, "Tab",
        function ()
            awful.client.focus.history.previous()
            if client.focus then
                client.focus:raise()
            end
        end),
)
-- }}}

Recursos externos