Cómo Personalizar la Barra de Menu Con BitBar
() translation by (you can also view the original English article)



Las computadoras se enfocan en la información. Nos mantienen actualizados con las noticias, productos que nos gustan, avances tecnológicos, y muchísimo más. También son grandiosas para hacer cálculos, predicciones, y muchas cosas de ese tipo. No obstante, no siempre es fácil personalizar la presentación de la información.
BitBar es una herramienta para personalizar tu barra de menu con información que quieres conocer. En este tutorial, te mostraré cómo instalar esta aplicación gratuita, encontrar y usar los plugins prediseñados, y como crear los tuyos.
Instalando BitBar
La manera más fácil de instalar BitBar es usando Homebrew. Si no tienes Homebrew todavía, puedes leer este tutorial sobre cómo usar Homebrew. Con Homebrew instalado, digita lo siguiente en una terminal:
1 |
brew cask install bitbar
|
También puedes descargar BitBar directamente de su página de descarga GitHub.



Una vez que eches a andar BitBar, te pedirá el directorio con los plugins. Simplemente crea un directorio en el directorio de los Documentos llamado BitBar.



BitBar cargará y colocará el texto BitBar en el área de la barra de menú. Esto solamente se muestra si no hay plugins instalados.



Cuando le das clic a BitBar, verás el menú por defecto. Le puedes dar clic a la entrada de menú Get Plugins... para descargar algunos plugins.



Navega a la categoría de Herramientas a la izquierda y el primer plugin debería ser el Instalador de Plugins de BitBar. Este plugin instala un menú de BitBar de todos los plugins disponibles que se actualizarán cada día.
Luego puedes instalar los plugins del mismo BitBar y no tienes que ir al sitio web. Dale clic al botón +Agregar a BitBar en el sitio web y se instalará directamente.



Cada vez que instales un nuevo plugin, BitBar te preguntará si deseas instalar el plugin. Ya que los plugins son sólamente scripts, podrían tener código diseñado a comprometer el sistema. BitBar, por lo tanto, es simplemente asegurandote que sabes que el plugin es seguro. Ya que sé que este es seguro, dale clic a instalar.



Ahora tienes un plugin instalado que muestra todos los posibles plugins del repositorio de BitBar.



Puesto que uso Vagrant, instalaré el plugin Vagrant. Dale clic a los Plugins BitBar y selecciona el script Dev/Vagrant/vagrant.30s.pl como se muestra.



Con el nuevo plugin instalado, puedes ver cuántas máquinas Vagrant tienes en la barra de menú. Cómo puedes ver, tengo definidas dos máquinas Vagrant.
Darle clic al ícono de la barra de menú muestra el estatus de los dos cuadros. El primer cuadro es para la máquina VirtualHostX Vagrant y el segundo es una máquina WordPress especializada que uso para desarrollar plugins y temas para WordPress.
Modificando y Creando Tus Plugins
Si eres como yo, prefiero poco o nada de texto en la barra de menú. Para cambiar los Plugins de BitBar, abre el archivo bitbar-plugin-installer.1d.php
en el directorio de BitBar con un Editor. En la línea 32, verás el siguiente texto:
1 |
echo "BitBar Plugins"; |
Cámbialo por este emoji:
1 |
echo "🔌"; |



m
para minutos, h
para horas y d
para días.. currentFiles
, se actualizará cada hora y es un script Ruby. En ese archiva, coloca este código::
1 |
#!/usr/bin/ruby
|
2 |
# coding: utf-8
|
3 |
#
|
4 |
# <bitbar.title>Current Working Files</bitbar.title>
|
5 |
# <bitbar.version>v0.1</bitbar.version>
|
6 |
# <bitbar.author>Richard Guay</bitbar.author>
|
7 |
# <bitbar.desc>List of files that I'm currently working on. It allows me to select which editor to user.</bitbar.desc>
|
8 |
|
9 |
if ARGV.empty? |
10 |
puts '🗃'; |
11 |
puts "---"; |
12 |
puts "Files To Edit:" |
13 |
cfn = File.expand_path(__FILE__) |
14 |
IO.readlines(Dir.home + "/.myCurrentFiles").each { |i| |
15 |
fn = File.basename(i.chomp!) |
16 |
puts "#{fn} | bash=\"#{cfn}\" param1=\"#{i}\" terminal=false" |
17 |
}
|
18 |
puts "---" |
19 |
puts "Editor to Use:" |
20 |
editor = IO.read(Dir.home + "/.myeditorchoice") |
21 |
if editor == "emacs" |
22 |
print "✔️" |
23 |
end
|
24 |
puts "Emacs Editor | bash=\"#{cfn}\" param1=\"emacs\" terminal=false refresh=true\n" |
25 |
if editor == "sublime" |
26 |
print "✔️" |
27 |
end
|
28 |
puts "Sublime Text Editor | bash=\"#{cfn}\" param1=\"sublime\" terminal=false refresh=true\n" |
29 |
if editor == "vim" |
30 |
print "✔️" |
31 |
end
|
32 |
puts "Vim Editor | bash=\"#{cfn}\" param1=\"vim\" terminal=false refresh=true\n" |
33 |
else
|
34 |
case ARGV[0] |
35 |
when "emacs" then |
36 |
IO.write(Dir.home + "/.myeditorchoice","emacs") |
37 |
when "vim" then |
38 |
IO.write(Dir.home + "/.myeditorchoice","vim") |
39 |
when "sublime" then |
40 |
IO.write(Dir.home + "/.myeditorchoice","sublime") |
41 |
else
|
42 |
fn = ARGV[0] |
43 |
if fn[0] == '~' |
44 |
fn = Dir.home + fn.slice(1,fn.length) |
45 |
end
|
46 |
editor = IO.read(Dir.home + "/.myeditorchoice") |
47 |
case editor |
48 |
when "emacs" then |
49 |
`/usr/local/bin/emacsclient -n "#{fn}"` |
50 |
when "vim" then |
51 |
`'/usr/local/Cellar/macvim/7.4-101/MacVim.app/Contents/MacOS/MacVim' '#{fn}'` |
52 |
when "sublime" then |
53 |
`'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl' '#{fn}'` |
54 |
end
|
55 |
end
|
56 |
end
|
---
para decirle a BitBar que todo lo demás se encontrará en el menú desplegable. Esto también actuará como un separador de menú. r.
Las líneas 11-16 lee en el archivo ~/.myCurrentFiles
y crea una entrada de menú para cada línea en el archivo. Esa entrada de menú tiene el nombre del archivo con una lista de parámetros separadas por el símbolo |
. El bash="#{cfn}"
le dice a BitBar que eche a andar el script referenciado en la variable cfn
; lo cual será este mismo archivo de script. El param+"#{i}
proporcionará el camino del archivo o el editor a usar, la terminal=false
le dice a BitBar que no eche a andar el comando en una terminal, y el refresh=true
le dice a BitBar que actualice solamente este plugin después de ejecutarlo. g.
Puedes repetir la palabra clave param
con un número cuyo fin incrementa para tantos parámetros como el script o el programa en el comando bash
lo necesite. Por lo tanto un segundo parámetro sería param2=
.e>. Las líneas 18-31 crea un separador de menú, ---
,y enlista los tres editores que uso más: Sublime Text, Emacs, y Vim. Esto colocará un ✔, un emoji de revisado en negrita,en frente del editor seleccionado en este momento. El archivo ~/.myeditorchoice
mantiene la elección entre ejecuciones. Cuando seleccionas un editor, el menú se actualizará para mostrar el cambio de inmediato.ge. Las líneas 34-51 procesarán los parametros cuando sean proporcionados. El parámetro pasado será emac, sublime, vim, o una ruta de archivo. Si es una elección del editor, entonces el script guardará el editor selecionado en el archivo ~/.myeditorchoice
. Si es una ruta de archivo, entonces el editor designado en ~/.myeditorchoice
abrirá el archivo.le. Ahora, crea el archivo ~/.myeditorchoice
con emacs
en la primera línea. Luego crea el archivo ~/.myCurrentFiles
y coloca estas líneas de texto:xt:
1 |
~/.zshrc |
2 |
~/.bashrc |
3 |
~/.zshenv |
4 |
~/.zlogin |
5 |
~/.profile |
~
para especificar el directorio principal.ry. 


~/.myCurrentFiles
con el editor de tu elección marcado. d.
Tengo Emacs como el editor en uso. Puedo cambiar a cualquiera de los otros editores seleccionandolo. Cuando selecciono uno de los archivos, el editor selecionado lo abrirá. Eso me da una manera rápida y conveniente de editar un archivo.le. En la descarga hay un flujo de trabajo Alfred para trabajar con BitBar Workflow.alfredworkflow. Cuando cargas este flujo de trabajo en Alfred, tienes que configurar la variable bitbar al directorio que hiciste para los plugins de BitBar.ns. 


disabled
. y.
Puedes editar el plugin BitBar también al presionar la tecla ctrl y seleccionar un plugin. Puedes usar el bb:unusued para ver una lista de los plugins desabilitados y re-habilitarlos. Puedes usar el comando bb:files para ver los archivos que puedes editar y removerlos o abrirlos con el editor que hayas seleccionado.ed. Como ejemplo de cómo piuedes integrar esto en un flujo de trabajo, tengo otro flujo de trabajo Alfred para manejar mis diferentes proyectos. Cuando cambio proyectos, los archivos del nuevo proyecto se colocan en la lista de edición y los archivos del proyecto viejo se remueven. Esto me ayuda a hacer aparecer los archivos que necesito en mi editor elegido.or. Hay más opciones y lenguajes de computadoras que puedes usar para escribir tus scripts. Hasta puedes crear un programa compilado, pero tienes que proporcionarle una extensión. Por ejemplo, si creas un plugin golang, dale al archivo ejecutable final la extensión .cgo. Puedes encontrar más información sobre escribir plugins BitBar en su página de GitHub.ge.