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 es un gestor de ventanas altamente configurable, de última generación y dinámico para X.. Está orientado en un principio a desarrolladores o personas que usan el ordenador para realizar numerosas tareas, así como aquéllos que quieran tener un buen control sobre su entorno gráfico. Se puede extender utilizando el lenguaje de programación 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:

Instalación

Ajustes USE

USE flags for x11-wm/awesome 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

Instale x11-wm/awesome:

root #emerge --ask x11-wm/awesome

Configuración

Comenzando

Para iniciar awesome use un display manager o startx.

Para usar startx con soporte para ConsoleKit, configure ConsoleKit y cree el siguiente archivo:

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

Archivo de configuración

El archivo de configuración por defecto de awesoe se encuentra en ~/.config/awesome/rc.lua. Si dicho directorio o archivo no existe deberá ser creado. Una configuración funcional se distribuye con awesome y puede ser encontrada en /etc/xdg/awesome/rc.lua. Copie ese archivo de configuración al directorio home del usuario.

Primero cree el directorio awesome/:

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

Luego copie el archivo de configuración rc.lua:

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

Si x11-terms/xterm no está instalado, instálelo o cambie el terminal por defecto a uno que esté disponible en su sistema. En el ejemplo de aquí abajo el terminal por defecto es konsole, parte de kde-apps/konsole.

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

Después de hacer cambios es recomendable comprobar el archivo de configuración para ver si hay errores:

user $awesome -k
✔ Configuration file syntax OK

Añadir soporte para fondos de pantalla mediante el paquete media-gfx/feh:

root #emerge --ask media-gfx/feh

Para usar awsetbg para establecer el fondo de pantalla, edite ~/.config/awesome/theme/theme.lua:

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

O simplemente defina la propiedad del fondo de escritorio del tema:

ARCHIVO ~/.config/awesome/theme/theme.luaDefinir un fondo específico utilizando la propiedad del fondo de escritorio
theme.wallpaper = ".config/awesome/themes/awesome-wallpaper.png"

Tags

En awesome, tags es el nombre dado a los escritorios virtuales en los cuales se encuentran las aplicaciones abiertas. Es posible asignar símbolos personalizados a los tags:

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

Menu

Un ejemplo de un menú personalizado de awesome:

ARCHIVO ~/.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 })
-- }}}

Fecha

Este es un ejemplo de un formato de fecha personalizado. La sintaxis del formato usado es %d.%m %H:%M. La segunda opción, 60, es el intervale de actualización en segundos.

ARCHIVO ~/.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 más información sobre las opciones de formato escriba el comando date --help.

Control de volumen

Se puede utilizar el paquete media-sound/volumeicon para gestionar las teclas de volumen de forma automática y mostrar el nivel de volumen mediante un icono en la bandeja.

root #emerge --ask media-sound/volumeicon

Autoarrancar volumeicon desde dentro de ~/.xinitrc:

ARCHIVO ~/.xinitrcLanzar volumeicon en segundo plano cuando se arranque X
volumeicon &
exec ck-launch-session dbus-launch awesome

Un método alternativo y ligero es añadir las teclas de volumen directamente en la configuración de awesome:

ARCHIVO ~/.config/awesome/rc.luaTeclas de volumen
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 multimedia MPD

Instale media-sound/mpc para añadir atajos de teclado para MPD:

root #emerge --ask media-sound/mpc

Entonces actualice el archivo de configuración de awesome para asignar las teclas multimedia al comando apropiado:

ARCHIVO ~/.config/awesome/rc.luaAtajos de teclado para controlar el volumen
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),

Eliminar los huecos entre ventanas

Puede que se observen huecos entre ventanas, más notables entre ventanas de terminal. Éstos se pueden eliminar insertando la propiedad size_hints_honor = false en la tabla awful.rules.rules de esta forma:

ARCHIVO ~/.config/awesome/rc.luaDefinir la propiedad size_hints_honor
awful.rules.rules = {
    { rule = { },
      properties = { size_hints_honor = false, -- Remove gaps
                     border_width = beautiful.border_width,
                     border_color = beautiful.border_normal,
      ...
      }
    }
}

Depurar la configuración con Xephir

Xephir is una herramienta para depurar los nuevos archivos de configuración que resulta muy útil dado que es capaz de iniciar el servidor X en una ventana-cliente

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

Este comando abrirá una pantalla de 800x600. Para abrir awesome en ella abra un terminal y escriba:

user $DISPLAY=:1.0 awesome

Esto lanzará awesome dentro de la ventana.

Atajos del teclado

Estos son los atajos por defecto más útiles:

  • mod4+mouse1 = mover el cliente con el ratón
  • mod4+mouse2 = cambiar el tamaño del cliente con el ratón
  • mod4+enter = abrir terminal
  • mod4+r = lanzar comando
  • mod4+shift+c = cerrar el cliente y parar su servicio
  • mod4+m = maximizar
  • mod4+n = minimizar
  • mod4+ctrl+n = restaurar los clientes minimizados
  • mod4+f = pantalla completa
  • mod4+tab = volver al cliente anterior
  • mod4+ctrl+space = flotar
  • mod4+j = destacar el cliente de la izquierda
  • mod4+k = destacar el cliente de la derecha
  • mod4+shift+j = mover cliente a la derecha
  • mod4+shift+k = mover cliente a la izquierda
  • mod4+l = cambiar el tamaño de las ventanas mosaico
  • mod4+h = cambiar el tamaño de las ventanas mosaico
  • mod4+left / right = cambiar tag
  • mod4+1-9 = cambiar tag
  • mod4+shift+1-9 = mandar cliente al tag

los atajos de teclado personalizados, como Alt+Tab, pueden ser asignados para hacer su experiencia con awesome aún mejor. Por ejemplo, para usar Alt+Tab para cambiar a la ventana anterior:

ARCHIVO ~/.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