ArtBangGNU.

ArtBangGNU

Miguel Menéndez

CrunchBang Linux fue una distribución creada por Philip Newborough. Estaba basada en Debian GNU/Linux y utilizaba el gestor de ventanas Openbox y aplicaciones GTK.

Esta distribución estaba diseñada para ofrecer un excelente balance entre velocidad y funcionalidad, era tan estable como el propio Debian, además de incorporar por defecto una interfaz minimalista y moderna que podía ser personalizada hasta el extremo, lo que hacía a esta distribución perfecta para la productividad y para instalar en equipos con pocos recursos de hardware.

El seis de febrero de 2015 Newborough anunció su retirada del proyecto dejándolo en manos de la comunidad pero quienes recogieron el testigo no mantuvieron principios como el minimalismo, la ligereza y el cuidado de los detalles. De esto último se deriva este repositorio.

Este repositorio alberga los archivos de configuración utilizados en el artículo « ArtBangGNU: Instalación y configuración de Debian estilo CrunchBang ».

Openbox

Openbox es un gestor de ventanas libre para el sistema de ventanas X, disponible bajo licencia GPL. Fue una derivación de proyecto de Blackbox 0.65, pero ha sido totalmente reescrito y desde la versión 3.0 ya no está basado en ninguna porción de código ajeno. Está diseñado para ser rápido y consumir una mínima cantidad de recursos. Para conseguir esa ligereza sacrifica algunas funciones típicas en buena parte de los gestores de ventanas como por ejemplo la barra de menú o una lista de aplicaciones en ejecución.

~/.config/openbox/autostart

## Openbox autostart
## =================
## Note: Some programs, such as 'nm-applet' are run via XDG autostart.
## Run '/usr/lib/openbox/openbox-xdg-autostart --list' to list any
## XDG autostarted programs.
##
## More information about this can be found at:
## http://openbox.org/wiki/Help:Autostart

## GNOME PolicyKit and Keyring
eval $(gnome-keyring-daemon -s --components=pkcs11,secrets,ssh,gpg) &

## Set root window colour
hsetroot -solid "#2E3436" &

## Group start:
## 1. nitrogen - restores wallpaper
## 2. compositor - start
## 3. sleep - give compositor time to start
## 4. tint2 panel
(\
nitrogen --restore && \
#compton && \
sleep 2s && \
tint2 \
) &

## Volume control for systray
(sleep 2s && volumeicon) &

## Volume keys daemon
#xfce4-volumed &

## Lang switcher for systray
(sleep 2s && gxkb) &

## Enable power management
xfce4-power-manager &

## Start Thunar Daemon
#thunar --daemon &

## Start PCmanFM Daemon
pcmanfm --daemon-mode &

## Detect and configure touchpad. See 'man synclient' for more info.
if egrep -iq 'touchpad' /proc/bus/input/devices; then
    synclient VertEdgeScroll=1 &
    synclient TapButton1=1 &
fi

## Start xscreensaver
#xscreensaver -no-splash &

## Start Clipboard manager
(sleep 3s && parcellite) &

## Set keyboard settings - 250 ms delay and 25 cps (characters per second) repeat rate.
## Adjust the values according to your preferances.
xset r rate 250 25 &

## Turn on/off system beep
xset b off &

## Run the conky
conky -q &

~/.config/openbox/menu.xml

<?xml version="1.0" encoding="utf-8"?>
<openbox_menu xmlns="http://openbox.org/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://openbox.org/">
  <menu id="root-menu" label="Openbox">
    <item label="Buscar archivos">
      <action name="Execute">
        <command>catfish</command>
      </action>
    </item>
    <item label="Ejecutar comando">
      <action name="Execute">
        <command>gmrun</command>
      </action>
    </item>
    <separator/>
    <item label="Editor de textos">
      <action name="Execute">
        <command>geany</command>
      </action>
    </item>
    <item label="Gestor de archivos">
      <action name="Execute">
        <command>pcmanfm</command>
      </action>
    </item>
    <item label="Navegador web">
      <action name="Execute">
        <command>x-www-browser</command>
      </action>
    </item>
    <item label="Terminal">
      <action name="Execute">
        <command>terminator --command=fish</command>
      </action>
    </item>
    <item label="Terminal (root)">
      <action name="Execute">
        <command>terminator --execute su - -s /usr/bin/fish</command>
      </action>
    </item>
    <separator/>
    <menu id="accessories" label="Accesorios">
      <item label="Catfish">
        <action name="Execute">
          <command>catfish</command>
        </action>
      </item>
      <item label="Geany">
        <action name="Execute">
          <command>geany</command>
        </action>
      </item>
      <item label="PCmanFM">
        <action name="Execute">
          <command>pcmanfm</command>
        </action>
      </item>
      <item label="PCmanFM (root)">
        <action name="Execute">
          <command>terminator --execute su - -c pcmanfm</command>
        </action>
      </item>
      <item label="Terminator">
        <action name="Execute">
          <command>terminator</command>
        </action>
      </item>
      <item label="Xarchiver">
        <action name="Execute">
          <command>xarchiver</command>
        </action>
      </item>
    </menu>
    <menu id="multimedia" label="Audio y vídeo">
      <item label="ALSA Mixer">
        <action name="Execute">
          <command>alsamixergui</command>
        </action>
      </item>
      <item label="Audacity">
        <action name="Execute">
          <command>audacity</command>
        </action>
      </item>
      <item label="Banshee">
        <action name="Execute">
          <command>banshee</command>
        </action>
      </item>
      <item label="Brasero">
        <action name="Execute">
          <command>brasero</command>
        </action>
      </item>
      <item label="EasyTAG">
        <action name="Execute">
          <command>easytag</command>
        </action>
      </item>
      <item label="mkvmerge GUI">
        <action name="Execute">
          <command>mmg</command>
        </action>
      </item>
      <item label="MusicBrainz Picard">
        <action name="Execute">
          <command>picard</command>
        </action>
      </item>
      <item label="OpenShot">
        <action name="Execute">
          <command>openshot</command>
        </action>
      </item>
      <item label="Pitivi">
        <action name="Execute">
          <command>pitivi</command>
        </action>
      </item>
      <item label="VLC">
        <action name="Execute">
          <command>vlc</command>
        </action>
      </item>
      <item label="WinFF">
        <action name="Execute">
          <command>winff</command>
        </action>
      </item>
    </menu>
    <menu id="network" label="Comunicaciones">
      <item label="Chromium">
        <action name="Execute">
          <command>chromium</command>
        </action>
      </item>
      <item label="Claws Mail">
        <action name="Execute">
          <command>claws-mail</command>
        </action>
      </item>
      <item label="Filezilla">
        <action name="Execute">
          <command>filezilla</command>
        </action>
      </item>
      <item label="Gigolo">
        <action name="Execute">
          <command>gigolo</command>
        </action>
      </item>
      <item label="GNU IceCat">
        <action name="Execute">
          <command>/opt/icecat/icecat</command>
        </action>
      </item>
      <item label="Icedove">
        <action name="Execute">
          <command>icedove</command>
        </action>
      </item>
      <menu id="network-nav" label="Navegación">
        <item label="foxtrotgps">
          <action name="Execute">
            <command>foxtrotgps</command>
          </action>
        </item>
        <item label="Google Earth">
          <action name="Execute">
            <command>google-earth</command>
          </action>
        </item>
        <item label="gpsbabel">
          <action name="Execute">
            <command>gpsbabelfe</command>
          </action>
        </item>
        <item label="gpscorrelate">
          <action name="Execute">
            <command>gpscorrelate-gui</command>
          </action>
        </item>
        <item label="gpsman">
          <action name="Execute">
            <command>gpsman</command>
          </action>
        </item>
        <item label="gpstrans">
          <action name="Execute">
            <command>gpstrans</command>
          </action>
        </item>
      </menu>
      <item label="PAC Manager">
        <action name="Execute">
          <command>pac</command>
        </action>
      </item>
      <item label="TeamViewer">
        <action name="Execute">
          <command>teamviewer</command>
        </action>
      </item>
      <item label="Transmission">
        <action name="Execute">
          <command>transmission-gtk</command>
        </action>
      </item>
    </menu>
    <menu id="graphics" label="Imagen">
      <item label="BirdFont">
        <action name="Execute">
          <command>birdfont</command>
        </action>
      </item>
      <item label="FontForge">
        <action name="Execute">
          <command>fontforge</command>
        </action>
      </item>
      <item label="GIMP">
        <action name="Execute">
          <command>gimp</command>
        </action>
      </item>
      <item label="Inkscape">
        <action name="Execute">
          <command>inkscape</command>
        </action>
      </item>
      <item label="Photini">
        <action name="Execute">
          <command>python -m photini.editor</command>
        </action>
      </item>
      <item label="Screen Shooter">
        <action name="Execute">
          <command>xfce4-screenshooter</command>
        </action>
      </item>
      <item label="Scribus">
        <action name="Execute">
          <command>scribus</command>
        </action>
      </item>
      <item label="Shotwell">
        <action name="Execute">
          <command>shotwell</command>
        </action>
      </item>
      <item label="Viewnior">
        <action name="Execute">
          <command>viewnior</command>
        </action>
      </item>
    </menu>
    <menu id="office" label="Oficina">
      <item label="Evince">
        <action name="Execute">
          <command>evince</command>
        </action>
      </item>
      <item label="Galculator">
        <action name="Execute">
          <command>galculator</command>
        </action>
      </item>
      <item label="LibreOffice">
        <action name="Execute">
          <command>libreoffice</command>
        </action>
      </item>
    </menu>
    <menu id="development" label="Programación">
      <item label="Diffuse">
        <action name="Execute">
          <command>diffuse</command>
        </action>
      </item>
      <item label="emacs">
        <action name="Execute">
          <command>emacs</command>
        </action>
      </item>
      <item label="Giggle">
        <action name="Execute">
          <command>giggle</command>
        </action>
      </item>
      <item label="gitg">
        <action name="Execute">
          <command>gitg</command>
        </action>
      </item>
      <menu id="development-npm" label="Nginx + PHP + MariaDB">
        <item label="Start">
          <action name="Execute">
            <command>terminator --execute su - -c "systemctl start nginx.service & systemctl start php5-fpm.service & systemctl start mysql.service"</command>
          </action>
        </item>
        <item label="Stop and disable">
          <action name="Execute">
            <command>terminator --execute su - -c "systemctl stop mysql.service & systemctl disable mysql.service & systemctl stop php5-fpm.service & systemctl disable php5-fpm.service & systemctl stop nginx.service & systemctl disable nginx.service"</command>
          </action>
        </item>
      </menu>
      <item label="Poedit">
        <action name="Execute">
          <command>poedit</command>
        </action>
      </item>
    </menu>
    <separator/>
    <menu id="settings" label="Configuración">
      <menu id="comptonconfig" label="Compton">
        <item label="Editar configuración">
          <action name="Execute">
            <command></command>
          </action>
        </item>
      </menu>
      <menu id="conkyconfig" label="Conky">
        <item label="Editar configuración">
          <action name="Execute">
            <command>geany ~/.conkyrc</command>
          </action>
        </item>
        <separator/>
        <item label="Reiniciar">
          <action name="Execute">
            <command>bash -c &quot;killall conky &amp;&amp; conky&quot;</command>
          </action>
        </item>
      </menu>
      <menu id="dmenuconfig" label="dmenu">
        <item label="Editar el guión de inicio">
          <action name="Execute">
            <command>geany ~/.config/dmenu/dmenu-bind.sh</command>
          </action>
        </item>
      </menu>
      <menu id="gmrunconfig" label="gmrun">
        <item label="Editar configuración">
          <action name="Execute">
            <command>geany ~/.gmrunrc</command>
          </action>
        </item>
      </menu>
      <menu id="obConfig" label="Openbox">
        <item label="Editar menu.xml">
          <action name="Execute">
            <command>geany ~/.config/openbox/menu.xml</command>
          </action>
        </item>
        <item label="Editar rc.xml">
          <action name="Execute">
            <command>geany ~/.config/openbox/rc.xml</command>
          </action>
        </item>
        <item label="Editar autostart">
          <action name="Execute">
            <command>geany ~/.config/openbox/autostart</command>
          </action>
        </item>
        <separator/>
        <item label="Editor gráfico del menú">
          <action name="Execute">
            <command>obmenu</command>
          </action>
        </item>
        <item label="Herramienta gráfica de configuración">
          <action name="Execute">
            <command>obconf</command>
          </action>
        </item>
        <separator/>
        <item label="Reconfigurar">
          <action name="Reconfigure"/>
        </item>
        <item label="Reiniciar">
          <action name="Restart"/>
        </item>
      </menu>
      <menu id="terminatorconfig" label="Terminator">
        <item label="Editar el archivo de configuración">
          <action name="Execute">
            <command>geany ~/.config/terminator/config</command>
          </action>
        </item>
      </menu>
      <menu id="tint2config" label="tint2">
        <item label="Editar archivo de configuración">
          <action name="Execute">
            <command>geany ~/.config/tint2/tint2rc</command>
          </action>
        </item>
        <item label="Editor gráfico">
          <action name="Execute">
            <command>tint2conf</command>
          </action>
        </item>
        <separator/>
        <item label="Reiniciar">
          <action name="Execute">
            <command>bash -c &quot;killall tint2 &amp;&amp; tint2&quot;</command>
          </action>
        </item>
      </menu>
      <menu id="DisplaySettings" label="Configuración de pantallas">
        <item label="Preset: Pantalla del portátil + monitor Acer">
          <action name="Execute">
            <command>~/.screenlayout/laptop+acer_monitor.sh</command>
          </action>
        </item>
        <item label="Preset: Sólo pantalla del portátil">
          <action name="Execute">
            <command>~/.screenlayout/only_laptop.sh</command>
          </action>
        </item>
        <separator/>
        <item label="Configurar pantallas (ARandR)">
          <action name="Execute">
            <command>arandr</command>
          </action>
        </item>
      </menu>
        <item label="Notificaciones">
          <action name="Execute">
            <command>xfce4-notifyd-config</command>
          </action>
        </item>
      <item label="GParted">
        <action name="Execute">
          <command>terminator --execute su - -c gparted</command>
        </action>
      </item>
      <item label="Synaptic">
        <action name="Execute">
          <command>terminator --execute su - -c synaptic</command>
        </action>
      </item>
      <item label="Inicio de sesión (Slim)">
        <action name="Execute">
          <command>terminator --execute su - -c slimconf</command>
        </action>
      </item>
      <menu id="preferredapps" label="Aplicaciones preferidas">
        <item label="Aplicaciones preferidas (alternatives)">
          <action name="Execute">
            <command>terminator --execute su - -c &quot;update-alternatives --all&quot;</command>
          </action>
        </item>
        <item label="Aplicaciones preferidas (exo)">
          <action name="Execute">
            <command>exo-preferred-applications</command>
          </action>
        </item>
      </menu>
      <item label="Apariencia">
        <action name="Execute">
          <command>lxappearance</command>
        </action>
      </item>
      <item label="Gestión de energía">
        <action name="Execute">
          <command>xfce4-power-manager-settings</command>
        </action>
      </item>
      <item label="Gestor de tareas (htop)">
        <action name="Execute">
          <command>terminator --command=htop</command>
        </action>
      </item>
      <item label="Protector de pantalla">
        <action name="Execute">
          <command>xscreensaver-demo</command>
        </action>
      </item>
      <item label="Fondo de escritorio">
        <action name="Execute">
          <command>nitrogen ~/.wallpapers/</command>
        </action>
      </item>
      <item label="Impresoras">
        <action name="Execute">
          <command>x-www-browser http://localhost:631</command>
        </action>
      </item>
    </menu>
    <separator/>
    <item label="Bloquear pantalla">
      <action name="Execute">
        <command>xscreensaver-command --lock</command>
      </action>
    </item>
    <item label="Cerrar sesión">
      <action name="Exit">
        <prompt>yes</prompt>
      </action>
    </item>
  </menu>
</openbox_menu>

~/.config/openbox/rc.xml

<?xml version="1.0" encoding="UTF-8"?>
<openbox_config xmlns="http://openbox.org/3.4/rc" xmlns:xi="http://www.w3.org/2001/XInclude">
  <resistance>
    <strength>10</strength>
    <screen_edge_strength>20</screen_edge_strength>
  </resistance>
  <focus>
    <focusNew>yes</focusNew>
    <!-- always try to focus new windows when they appear. other rules do
       apply -->
    <followMouse>no</followMouse>
    <!-- move focus to a window when you move the mouse into it -->
    <focusLast>yes</focusLast>
    <!-- focus the last used window when changing desktops, instead of the one
       under the mouse pointer. when followMouse is enabled -->
    <underMouse>no</underMouse>
    <!-- move focus under the mouse, even when the mouse is not moving -->
    <focusDelay>200</focusDelay>
    <!-- when followMouse is enabled, the mouse must be inside the window for
       this many milliseconds (1000 = 1 sec) before moving focus to it -->
    <raiseOnFocus>no</raiseOnFocus>
    <!-- when followMouse is enabled, and a window is given focus by moving the
       mouse into it, also raise the window -->
  </focus>
  <placement>
    <policy>Smart</policy>
    <!-- 'Smart' or 'UnderMouse' -->
    <center>yes</center>
    <!-- whether to place windows in the center of the free area found or
       the top left corner -->
    <monitor>Any</monitor>
    <!-- with Smart placement on a multi-monitor system, try to place new windows
         on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
         the active window is, 'Primary' - only on the primary monitor -->
    <primaryMonitor>Mouse</primaryMonitor>
    <!-- The monitor where Openbox should place popup dialogs such as the
         focus cycling popup, or the desktop switch popup.  It can be an index
         from 1, specifying a particular monitor.  Or it can be one of the
         following: 'Mouse' - where the mouse is, or
                    'Active' - where the active window is -->
  </placement>
  <theme>
    <name>waldorf-darkly</name>
    <titleLayout>DSLIMC</titleLayout>
    <!--
      avaible characters are NDSLIMC, each can occur at most once.
      N: window icon
      L: window label (AKA title).
      I: iconify
      M: maximize
      C: close
      S: shade (roll up/down)
      D: omnipresent (on all desktops).
  -->
    <keepBorder>yes</keepBorder>
    <animateIconify>no</animateIconify>
    <font place="ActiveWindow">
      <name>Liberation Sans</name>
      <size>10</size>
      <!-- font size in points -->
      <weight>Bold</weight>
      <!-- 'bold' or 'normal' -->
      <slant>Normal</slant>
      <!-- 'italic' or 'normal' -->
    </font>
    <font place="InactiveWindow">
      <name>Liberation Sans</name>
      <size>10</size>
      <!-- font size in points -->
      <weight>Normal</weight>
      <!-- 'bold' or 'normal' -->
      <slant>Normal</slant>
      <!-- 'italic' or 'normal' -->
    </font>
    <font place="MenuHeader">
      <name>Liberation Sans</name>
      <size>10</size>
      <!-- font size in points -->
      <weight>Normal</weight>
      <!-- 'bold' or 'normal' -->
      <slant>Normal</slant>
      <!-- 'italic' or 'normal' -->
    </font>
    <font place="MenuItem">
      <name>Liberation Sans</name>
      <size>10</size>
      <!-- font size in points -->
      <weight>Normal</weight>
      <!-- 'bold' or 'normal' -->
      <slant>Normal</slant>
      <!-- 'italic' or 'normal' -->
    </font>
    <font place="ActiveOnScreenDisplay">
      <name>Liberation Sans</name>
      <size>10</size>
      <!-- font size in points -->
      <weight>Normal</weight>
      <!-- 'bold' or 'normal' -->
      <slant>normal</slant>
      <!-- 'italic' or 'normal' -->
    </font>
    <font place="InactiveOnScreenDisplay">
      <name>Liberation Sans</name>
      <size>10</size>
      <!-- font size in points -->
      <weight>Normal</weight>
      <!-- 'bold' or 'normal' -->
      <slant>normal</slant>
      <!-- 'italic' or 'normal' -->
    </font>
  </theme>
  <desktops>
    <!-- this stuff is only used at startup, pagers allow you to change them
       during a session

       these are default values to use when other ones are not already set
       by other applications, or saved in your session

       use obconf if you want to change these without having to log out
       and back in -->
    <number>2</number>
    <firstdesk>1</firstdesk>
    <names>
      <!-- set names up here if you want to, like this:
      <name>desktop 1</name>
      <name>desktop 2</name>
      -->
      <name>1</name>
      <name>2</name>
      <name>3</name>
      <name>4</name>
    </names>
    <popupTime>875</popupTime>
    <!-- The number of milliseconds to show the popup for when switching
         desktops.  Set this to 0 to disable the popup. -->
  </desktops>
  <resize>
    <drawContents>yes</drawContents>
    <popupShow>Nonpixel</popupShow>
    <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
    <popupPosition>Center</popupPosition>
    <!-- 'Center' or 'Top' -->
    <popupFixedPosition>
      <!-- these are used if popupPosition is set to 'Fixed' -->
      <x>10</x>
      <!-- positive number for distance from left edge, negative number for
           distance from right edge, or 'Center' -->
      <y>10</y>
      <!-- positive number for distance from top edge, negative number for
           distance from bottom edge, or 'Center' -->
    </popupFixedPosition>
  </resize>
  <!-- You can reserve a portion of your screen where windows will not cover when
       they are maximized, or when they are initially placed.
       Many programs reserve space automatically, but you can use this in other
       cases. -->
  <margins>
    <top>1</top>
    <bottom>0</bottom>
    <left>0</left>
    <right>0</right>
  </margins>
  <dock>
    <position>TopLeft</position>
    <!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
    <floatingX>0</floatingX>
    <floatingY>0</floatingY>
    <noStrut>no</noStrut>
    <stacking>Above</stacking>
    <!-- 'Above', 'Normal', or 'Below' -->
    <direction>Vertical</direction>
    <!-- 'Vertical' or 'Horizontal' -->
    <autoHide>no</autoHide>
    <hideDelay>300</hideDelay>
    <!-- in milliseconds (1000 = 1 second) -->
    <showDelay>300</showDelay>
    <!-- in milliseconds (1000 = 1 second) -->
    <moveButton>Middle</moveButton>
    <!-- 'Left', 'Middle', 'Right' -->
  </dock>
  <keyboard>
    <chainQuitKey>C-g</chainQuitKey>
    <!-- Keybindings for desktop switching -->
    <keybind key="C-A-Left">
      <action name="GoToDesktop">
        <to>left</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Right">
      <action name="GoToDesktop">
        <to>right</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Up">
      <action name="GoToDesktop">
        <to>up</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Down">
      <action name="GoToDesktop">
        <to>down</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="S-A-Left">
      <action name="SendToDesktop">
        <to>left</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="S-A-Right">
      <action name="SendToDesktop">
        <to>right</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="S-A-Up">
      <action name="SendToDesktop">
        <to>up</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="S-A-Down">
      <action name="SendToDesktop">
        <to>down</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="W-F1">
      <action name="GoToDesktop">
        <to>1</to>
      </action>
    </keybind>
    <keybind key="W-F2">
      <action name="GoToDesktop">
        <to>2</to>
      </action>
    </keybind>
    <keybind key="W-F3">
      <action name="GoToDesktop">
        <to>3</to>
      </action>
    </keybind>
    <keybind key="W-F4">
      <action name="GoToDesktop">
        <to>4</to>
      </action>
    </keybind>
    <keybind key="W-d">
      <action name="ToggleShowDesktop"/>
    </keybind>
    <!-- Keybindings for windows -->
    <keybind key="A-F4">
      <action name="Close"/>
    </keybind>
    <keybind key="A-Escape">
      <action name="Lower"/>
      <action name="FocusToBottom"/>
      <action name="Unfocus"/>
    </keybind>
    <keybind key="A-space">
      <action name="ShowMenu">
        <menu>client-menu</menu>
      </action>
    </keybind>
    <keybind key="Print">
      <action name="Execute">
        <command>xfce4-screenshooter</command>
      </action>
    </keybind>
    <!-- Keybindings for window switching -->
    <keybind key="A-Tab">
      <action name="NextWindow">
        <finalactions>
          <action name="Focus"/>
          <action name="Raise"/>
          <action name="Unshade"/>
        </finalactions>
      </action>
    </keybind>
    <keybind key="A-S-Tab">
      <action name="PreviousWindow">
        <finalactions>
          <action name="Focus"/>
          <action name="Raise"/>
          <action name="Unshade"/>
        </finalactions>
      </action>
    </keybind>
    <keybind key="C-A-Tab">
      <action name="NextWindow">
        <panels>yes</panels>
        <desktop>yes</desktop>
        <finalactions>
          <action name="Focus"/>
          <action name="Raise"/>
          <action name="Unshade"/>
        </finalactions>
      </action>
    </keybind>
    <!-- Keybindings for window switching with the arrow keys -->
    <keybind key="W-S-Right">
      <action name="DirectionalCycleWindows">
        <direction>right</direction>
      </action>
    </keybind>
    <keybind key="W-S-Left">
      <action name="DirectionalCycleWindows">
        <direction>left</direction>
      </action>
    </keybind>
    <keybind key="W-S-Up">
      <action name="DirectionalCycleWindows">
        <direction>up</direction>
      </action>
    </keybind>
    <keybind key="W-S-Down">
      <action name="DirectionalCycleWindows">
        <direction>down</direction>
      </action>
    </keybind>
    <!-- Keybindings for running applications -->
    <keybind key="A-F2">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Run Program</name>
        </startupnotify>
        <command>gmrun</command>
      </action>
    </keybind>
    <keybind key="A-F3">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>dmenu-bind</name>
        </startupnotify>
        <command>~/.config/dmenu/dmenu-bind.sh</command>
      </action>
    </keybind>
    <keybind key="W-f">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>PCmanFM</name>
        </startupnotify>
        <command>pcmanfm</command>
      </action>
    </keybind>
    <keybind key="W-t">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Terminal</name>
        </startupnotify>
        <command>terminator --command=fish</command>
      </action>
    </keybind>
    <keybind key="W-w">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Web Browser</name>
        </startupnotify>
        <command>x-www-browser</command>
      </action>
    </keybind>
    <keybind key="W-l">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Lock screen</name>
        </startupnotify>
        <command>xscreensaver-command --lock</command>
      </action>
    </keybind>
    <keybind key="W-e">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Editor</name>
        </startupnotify>
        <command>geany</command>
      </action>
    </keybind>
    <keybind key="W-m">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Mediaplayer</name>
        </startupnotify>
        <command>vlc</command>
      </action>
    </keybind>
    <keybind key="W-h">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>htop</name>
        </startupnotify>
        <command>terminator --command=htop</command>
      </action>
    </keybind>
    <keybind key="W-v">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Volume</name>
        </startupnotify>
        <command>alsamixergui</command>
      </action>
    </keybind>
    <keybind key="W-x">
      <action name="Exit">
        <prompt>yes</prompt>
      </action>
    </keybind>
    <keybind key="W-Tab">
      <action name="ShowMenu">
        <menu>client-list-combined-menu</menu>
      </action>
    </keybind>
    <keybind key="W-space">
      <action name="ShowMenu">
        <menu>root-menu</menu>
      </action>
    </keybind>
    <keybind key="A-C-q">
      <action name="ShowMenu">
        <menu>root-menu</menu>
      </action>
    </keybind>
    <!-- A bit of tiling -->
    <keybind key="W-Right">
      <action name="GrowToEdgeEast"/>
    </keybind>
    <keybind key="W-Left">
      <action name="GrowToEdgeWest"/>
    </keybind>
    <keybind key="W-Down">
      <action name="GrowToEdgeSouth"/>
    </keybind>
    <keybind key="W-Up">
      <action name="GrowToEdgeNorth"/>
    </keybind>
    <keybind key="W-A-Left">
      <action name="Execute">
        <command>cb-aerosnap --left</command>
      </action>
    </keybind>
    <keybind key="W-A-Right">
      <action name="Execute">
        <command>cb-aerosnap --right</command>
      </action>
    </keybind>
  </keyboard>
  <mouse>
    <dragThreshold>8</dragThreshold>
    <!-- number of pixels the mouse must move before a drag begins -->
    <doubleClickTime>200</doubleClickTime>
    <!-- in milliseconds (1000 = 1 second) -->
    <screenEdgeWarpTime>400</screenEdgeWarpTime>
    <!-- Time before changing desktops when the pointer touches the edge of the
       screen while moving a window, in milliseconds (1000 = 1 second).
       Set this to 0 to disable warping -->
    <screenEdgeWarpMouse>false</screenEdgeWarpMouse>
    <!-- Set this to TRUE to move the mouse pointer across the desktop when
       switching due to hitting the edge of the screen -->
    <context name="Frame">
      <mousebind button="A-Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="A-Left" action="Click">
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="A-Left" action="Drag">
        <action name="Move"/>
      </mousebind>
      <mousebind button="A-Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="A-Right" action="Drag">
        <action name="Resize"/>
      </mousebind>
      <mousebind button="A-Middle" action="Press">
        <action name="Lower"/>
        <action name="FocusToBottom"/>
        <action name="Unfocus"/>
      </mousebind>
      <mousebind button="A-Up" action="Click">
        <action name="GoToDesktop">
          <to>previous</to>
        </action>
      </mousebind>
      <mousebind button="A-Down" action="Click">
        <action name="GoToDesktop">
          <to>next</to>
        </action>
      </mousebind>
      <mousebind button="C-A-Up" action="Click">
        <action name="GoToDesktop">
          <to>previous</to>
        </action>
      </mousebind>
      <mousebind button="C-A-Down" action="Click">
        <action name="GoToDesktop">
          <to>next</to>
        </action>
      </mousebind>
      <mousebind button="A-S-Up" action="Click">
        <action name="SendToDesktop">
          <to>previous</to>
        </action>
      </mousebind>
      <mousebind button="A-S-Down" action="Click">
        <action name="SendToDesktop">
          <to>next</to>
        </action>
      </mousebind>
    </context>
    <context name="Titlebar">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Move"/>
      </mousebind>
      <mousebind button="Left" action="DoubleClick">
        <action name="ToggleMaximize"/>
      </mousebind>
      <mousebind button="Middle" action="Press">
        <action name="Lower"/>
        <action name="FocusToBottom"/>
        <action name="Unfocus"/>
      </mousebind>
      <mousebind button="Up" action="Click">
        <action name="if">
          <shaded>no</shaded>
          <then>
            <action name="Shade"/>
            <action name="FocusToBottom"/>
            <action name="Unfocus"/>
            <action name="Lower"/>
          </then>
        </action>
      </mousebind>
      <mousebind button="Down" action="Click">
        <action name="if">
          <shaded>yes</shaded>
          <then>
            <action name="Unshade"/>
            <action name="Raise"/>
          </then>
        </action>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
    </context>
    <context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Middle" action="Press">
        <action name="Lower"/>
        <action name="FocusToBottom"/>
        <action name="Unfocus"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
    </context>
    <context name="Top">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize">
          <edge>top</edge>
        </action>
      </mousebind>
    </context>
    <context name="Left">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize">
          <edge>left</edge>
        </action>
      </mousebind>
    </context>
    <context name="Right">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize">
          <edge>right</edge>
        </action>
      </mousebind>
    </context>
    <context name="Bottom">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize">
          <edge>bottom</edge>
        </action>
      </mousebind>
      <mousebind button="Middle" action="Press">
        <action name="Lower"/>
        <action name="FocusToBottom"/>
        <action name="Unfocus"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
    </context>
    <context name="TRCorner BRCorner TLCorner BLCorner">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize"/>
      </mousebind>
    </context>
    <context name="Client">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Middle" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
    </context>
    <context name="Icon">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
    </context>
    <context name="AllDesktops">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="ToggleOmnipresent"/>
      </mousebind>
    </context>
    <context name="Shade">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="ToggleShade"/>
      </mousebind>
    </context>
    <context name="Iconify">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="Iconify"/>
      </mousebind>
    </context>
    <context name="Maximize">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Middle" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="ToggleMaximize"/>
      </mousebind>
      <mousebind button="Middle" action="Click">
        <action name="ToggleMaximize">
          <direction>vertical</direction>
        </action>
      </mousebind>
      <mousebind button="Right" action="Click">
        <action name="ToggleMaximize">
          <direction>horizontal</direction>
        </action>
      </mousebind>
    </context>
    <context name="Close">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="Close"/>
      </mousebind>
    </context>
    <context name="Desktop">
      <mousebind button="Up" action="Click">
        <action name="GoToDesktop">
          <to>previous</to>
        </action>
      </mousebind>
      <mousebind button="Down" action="Click">
        <action name="GoToDesktop">
          <to>next</to>
        </action>
      </mousebind>
      <mousebind button="A-Up" action="Click">
        <action name="GoToDesktop">
          <to>previous</to>
        </action>
      </mousebind>
      <mousebind button="A-Down" action="Click">
        <action name="GoToDesktop">
          <to>next</to>
        </action>
      </mousebind>
      <mousebind button="C-A-Up" action="Click">
        <action name="GoToDesktop">
          <to>previous</to>
        </action>
      </mousebind>
      <mousebind button="C-A-Down" action="Click">
        <action name="GoToDesktop">
          <to>next</to>
        </action>
      </mousebind>
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
    </context>
    <context name="Root">
      <!-- Menus -->
      <mousebind button="Middle" action="Press">
        <action name="ShowMenu">
          <menu>client-list-combined-menu</menu>
        </action>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="ShowMenu">
          <menu>root-menu</menu>
        </action>
      </mousebind>
    </context>
    <context name="MoveResize">
      <mousebind button="Up" action="Click">
        <action name="GoToDesktop">
          <to>previous</to>
        </action>
      </mousebind>
      <mousebind button="Down" action="Click">
        <action name="GoToDesktop">
          <to>next</to>
        </action>
      </mousebind>
      <mousebind button="A-Up" action="Click">
        <action name="GoToDesktop">
          <to>previous</to>
        </action>
      </mousebind>
      <mousebind button="A-Down" action="Click">
        <action name="GoToDesktop">
          <to>next</to>
        </action>
      </mousebind>
    </context>
  </mouse>
  <menu>
    <!-- You can specify more than one menu file in here and they are all loaded,
       just don't make menu ids clash or, well, it'll be kind of pointless -->
    <!-- default menu file (or custom one in $HOME/.config/openbox/) -->
    <!-- system menu files on Debian systems
    <file>/var/lib/openbox/debian-menu.xml</file>
    <file>debian-menu.xml</file> -->
    <file>menu.xml</file>
    <hideDelay>200</hideDelay>
    <!-- if a press-release lasts longer than this setting (in milliseconds), the
       menu is hidden again -->
    <middle>no</middle>
    <!-- center submenus vertically about the parent entry -->
    <submenuShowDelay>100</submenuShowDelay>
    <!-- time to delay before showing a submenu after hovering over the parent
       entry.
       if this is a negative value, then the delay is infinite and the
       submenu will not be shown until it is clicked on -->
    <submenuHideDelay>400</submenuHideDelay>
    <!-- time to delay before hiding a submenu when selecting another
       entry in parent menu
       if this is a negative value, then the delay is infinite and the
       submenu will not be hidden until a different submenu is opened -->
    <applicationIcons>yes</applicationIcons>
    <!-- controls if icons appear in the client-list-(combined-)menu -->
    <manageDesktops>yes</manageDesktops>
    <!-- show the manage desktops section in the client-list-(combined-)menu -->
  </menu>
  <applications>
    <!--
  # this is an example with comments through out. use these to make your
  # own rules, but without the comments of course.
  # you may use one or more of the name/class/role/title/type rules to specify
  # windows to match

  <application name="the window's _OB_APP_NAME property (see obxprop)"
              class="the window's _OB_APP_CLASS property (see obxprop)"
               role="the window's _OB_APP_ROLE property (see obxprop)"
              title="the window's _OB_APP_TITLE property (see obxprop)"
               type="the window's _OB_APP_TYPE property (see obxprob)..
                      (if unspecified, then it is 'dialog' for child windows)">
  # you may set only one of name/class/role/title/type, or you may use more
  # than one together to restrict your matches.

  # the name, class, role, and title use simple wildcard matching such as those
  # used by a shell. you can use * to match any characters and ? to match
  # any single character.

  # the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
  #    or desktop

  # when multiple rules match a window, they will all be applied, in the
  # order that they appear in this list


    # each rule element can be left out or set to 'default' to specify to not
    # change that attribute of the window

    <decor>yes</decor>
    # enable or disable window decorations

    <shade>no</shade>
    # make the window shaded when it appears, or not

    <position force="no">
      # the position is only used if both an x and y coordinate are provided
      # (and not set to 'default')
      # when force is "yes", then the window will be placed here even if it
      # says you want it placed elsewhere.  this is to override buggy
      # applications who refuse to behave
      <x>center</x>
      # a number like 50, or 'center' to center on screen. use a negative number
      # to start from the right (or bottom for <y>), ie -50 is 50 pixels from the
      # right edge (or bottom).
      <y>200</y>
      <monitor>1</monitor>
      # specifies the monitor in a xinerama setup.
      # 1 is the first head, or 'mouse' for wherever the mouse is
    </position>

    <focus>yes</focus>
    # if the window should try be given focus when it appears. if this is set
    # to yes it doesn't guarantee the window will be given focus. some
    # restrictions may apply, but Openbox will try to

    <desktop>1</desktop>
    # 1 is the first desktop, 'all' for all desktops

    <layer>normal</layer>
    # 'above', 'normal', or 'below'

    <iconic>no</iconic>
    # make the window iconified when it appears, or not

    <skip_pager>no</skip_pager>
    # asks to not be shown in pagers

    <skip_taskbar>no</skip_taskbar>
    # asks to not be shown in taskbars. window cycling actions will also
    # skip past such windows

    <fullscreen>yes</fullscreen>
    # make the window in fullscreen mode when it appears

    <maximized>true</maximized>
    # 'Horizontal', 'Vertical' or boolean (yes/no)
  </application>

  # end of the example
-->
    <application name="gmessage">
      <decor>no</decor>
      <shade>no</shade>
      <skip_pager>yes</skip_pager>
      <skip_taskbar>yes</skip_taskbar>
      <fullscreen>no</fullscreen>
      <maximized>no</maximized>
    </application>
    <application class="Gimp" name="gimp" role="gimp-toolbox" type="utility">
      <maximized>vertical</maximized>
    </application>
    <application class="Gimp" name="gimp" role="gimp-dock" type="utility">
      <maximized>vertical</maximized>
    </application>
    <application class="Gimp" name="gimp" role="gimp-image-window" type="normal">
      <position force="no">
        <x>center</x>
        <y>center</y>
      </position>
    </application>
    <application class="Gimp" name="gimp-2.8" role="gimp-toolbox" type="utility">
      <maximized>vertical</maximized>
    </application>
    <application class="Gimp" name="gimp-2.8" role="gimp-dock" type="utility">
      <maximized>vertical</maximized>
    </application>
    <application class="Gimp" name="gimp-2.8" role="gimp-image-window" type="normal">
      <position force="no">
        <x>center</x>
        <y>center</y>
      </position>
    </application>
  </applications>
</openbox_config>

Fuentes: Openbox y Wikipedia .

Conky

Conky es un monitor de sistema para sistemas X Window. Está disponible para GNU/Linux y FreeBSD. Es un software libre bajo los términos de la licencia GPL. Conky es capaz de monitorizar distintas variables de sistema, incluyendo CPU, memoria, swap, espacio de disco, temperaturas, subidas, bajadas, mensajes de sistema y mucho más. Es completamente configurable, la configuración puede ser un poco difícil de entender, pero es bastante posible realizarla. Conky es una derivación del proyecto torsmo.

~/.conkyrc

# conky configuration
#
# The list of variables has been removed from this file in favour
# of keeping the documentation more maintainable.
# Check conky.sf.net for an up-to-date-list.
#
# For help with conky, please see: man conky

##############################################
# Settings
##############################################
background yes
use_xft yes
xftfont Liberation Sans:size=9
xftalpha 1
update_interval 1.0
total_run_times 0
own_window yes
own_window_transparent yes
own_window_type desktop
#own_window_argb_visual yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
minimum_size 200 200
maximum_width 240
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no
default_color 656667
default_shade_color 000000
default_outline_color 828282
alignment top_right
gap_x 12
gap_y 12
no_buffers yes
uppercase no
cpu_avg_samples 2
# Force UTF8 requires XFT
override_utf8_locale yes

##############################################
#  Output
##############################################
TEXT
S I S T E M A
${hr}
#Máquina$alignr$nodename
#En ejecución$alignr$uptime
Memoria$alignr$mem/$memmax
#$memgraph
$membar
#Swap$alignr$swap/$swapmax
#${swapbar}
Uso del disco$alignr${fs_used /}/${fs_size /}
${fs_bar /}
Procesador 1$alignr${cpu cpu0}%
#${cpugraph cpu0}
${cpubar cpu0}
Procesador 2$alignr${cpu cpu1}%
#${cpugraph cpu1}
${cpubar cpu1}
#Carga$alignr${loadavg}
#${loadgraph}
WiFi ↓$alignr${downspeed wlan1}/  ${wireless_bitrate wlan1}
${downspeedgraph wlan1}
WiFi ↑$alignr${upspeed wlan1}/  ${wireless_bitrate wlan1}
${upspeedgraph wlan1}
#Inbound $alignr ${downspeed eth0} kb/s
#${downspeedgraph eth0}
#Outbound $alignr ${upspeed eth0} kb/s
#${upspeedgraph eth0}
#$processes procesos ($running_processes corriendo)
#Proceso $alignr PID    CPU
#${top name 1} $alignr ${top pid 1} ${top cpu 1}
#${top name 2} $alignr ${top pid 2} ${top cpu 2}
#${top name 3} $alignr ${top pid 3} ${top cpu 3}
#${top name 4} $alignr ${top pid 4} ${top cpu 4}
#${top name 5} $alignr ${top pid 5} ${top cpu 5}
#${top name 6} $alignr ${top pid 6} ${top cpu 6}
#${top name 7} $alignr ${top pid 7} ${top cpu 7}
#${top name 8} $alignr ${top pid 8} ${top cpu 8}
#${top name 9} $alignr ${top pid 8} ${top cpu 9}
Sistema$alignr${hwmon 1 temp 2}°C / 90°C
#Current internal temperature$alignr${apcupsd_temp}
#Fan$alignr${acpifan}
Procesadores$alignr${acpitemp}°C / 86°C
Disco duro$alignr${hddtemp}

A T A J O S
${hr}
Alt+F2$alignr Run Program
Alt+F3$alignr dmenu
Super+Space$alignr Main Menu
Super+Tab$alignr Desktops
Super+t$alignr Terminal
Super+f$alignr PCmanFM
Super+e$alignr Geamy
Super+m$alignr VLC
Super+w$alignr Firefox
Super+h$alignr Gestor de tareas
Super+l$alignr Bloquear pantalla
Super+v$alignr Volumen
Super+x$alignr Salir
PrtSc$alignr Captura de pantalla

Fuentes: GitHub y Wikipedia .

dmenu

dmenu es una utilidad de menú basada en teclado desarrollada como parte del proyecto dwm. Cuando se invoca, generalmente mediante una combinación de teclas configurada por el usuario, dmenu muestra un menú horizontal en el borde superior de la pantalla. El usuario puede comenzar a escribir el nombre de un programa y dmenu reducirá la lista para mostrar sólo coincidencias de subcadenas con lo que escribió el usuario.

El usuario también puede usar las teclas de dirección para navegar por el menú. Cuando se realiza una elección, dmenu envía el texto seleccionado a stdout, que generalmente se canaliza a una shell para iniciar el programa. Las opciones de la línea de comandos pueden alterar la fuente y los colores del menú, hacer que la búsqueda no distinga entre mayúsculas y minúsculas, así como cambiar el menú a una orientación vertical o colocarlo en la parte inferior de la pantalla. De forma predeterminada, sólo se admiten las fuentes del servidor de fuentes X, aunque existe un parche para habilitar las fuentes TrueType con Xft.

~/.config/dmenu/dmenu-bind.sh

#!/bin/bash
dmenu.xft -nb '#151617' -nf '#d8d8d8' -sb '#d8d8d8' -sf '#151617' -fn ''

Fuente: Wikipedia .

Terminator

Terminator es un emulador de terminal de código abierto programado en Java. Está disponible para Microsoft Windows, macOS, Gnu/Linux y otros sistemas Unix que usan el sistema X Window. Terminator se ejecuta en cualquier sistema POSIX moderno que ejecute Java 6 o posterior. Terminator está licenciado bajo la GNU General Public License versión 2.

Terminator fue escrito originalmente por Phil Norman, quien produjo un reemplazo más o menos utilizable para rxvt por su cuenta entre el 21 de abril de 2004 y el 28 de mayo de 2004; aproximadamente un mes de tiempo de desarrollo. Elliott Hughes tomó el emulador de terminal de Phil y lo usó como base sobre la cual podría experimentar con las características avanzadas del emulador de terminal y continuó desarrollando activamente Terminator. Martin Dorey portó Terminator a Cygwin.

~/.config/terminator/config

[global_config]
  title_transmit_bg_color = "#000000"
  title_inactive_bg_color = "#000000"
[keybindings]
  hide_window = <Shift><Control>a
[profiles]
  [[default]]
    scrollbar_position = hidden
    palette = "#000000:#cc0000:#4e9a06:#c4a000:#3465a4:#75507b:#06989a:#d3d7cf:#555753:#ef2929:#8ae234:#fce94f:#729fcf:#ad7fa8:#34e2e2:#eeeeec"
    background_image = None
    background_darkness = 0.83
    scrollback_lines = 5000
    background_type = transparent
    use_system_font = False
    cursor_color = "#d8d8d8"
    foreground_color = "#d8d8d8"
    scroll_on_output = False
    show_titlebar = False
    color_scheme = custom
    font = Monospace 10
    background_color = "#2e3436"
    scrollback_infinite = True
[layouts]
  [[default]]
    [[[child1]]]
      type = Terminal
      parent = window0
    [[[window0]]]
      type = Window
      parent = ""
[plugins]

Fuentes: GitHub y Wikipedia .

Archivo

Comentarios

¿Has encontrado un error? ¿Crees que algo podría mejorarse? No dudes en comentármelo y estaré encantado de echarle un vistazo.