¿Necesita la aplicación de la barra de menú para mostrar la salida del comando de la Terminal cada 60 s

7

Necesito una aplicación de barra de menús * que me muestre el resultado de un comando de terminal, y ejecute ese comando de Terminal cada 60 o más.

O necesito una aplicación de barra de menús que lea el contenido de un archivo y que se actualice cada vez que se actualice ese archivo.

(La salida no debería tener más de 3 o 4 dígitos)

¿Existen aplicaciones de este tipo?

* ni el Dock ni el Escritorio son alternativas viables. Necesita ser la barra de menú.

Actualización 2014-06-16: la responde desde el 9 de junio de 2012 a las 2:15 no terminó trabajando para mí después de todo, así que todavía estoy buscando una solución.

    
pregunta TJ Luoma 09.06.2012 - 03:23

5 respuestas

2

Finalmente encontré lo que estaba buscando. De hecho, es mucho mejor de lo que esperaba:

TextBar

  • Configure TextBar para ejecutar múltiples scripts / comandos / etc y muestre los resultados en su barra de menú.
  • Haga clic en el elemento TextBar para agregar el texto a su portapapeles.
  • Habilitar / deshabilitar cada elemento individualmente.
  • Configure la frecuencia con la que desea que se actualice cada elemento.
  • agregue un icono para cada elemento de la barra de menú (o ninguno)

He estado usando esto durante la última semana o algo así, y es genial.

$ 3. Demo disponible en enlace

    
respondido por el TJ Luoma 18.04.2015 - 18:01
10
#!/usr/bin/env ruby

require "osx/cocoa"
include OSX

app = NSApplication.sharedApplication 
statusitem = NSStatusBar.systemStatusBar().statusItemWithLength(NSVariableStatusItemLength)
while true
    statusitem.setTitle(rand(999))
    sleep 1
end
app.run

(Si alguien que realmente sabe Cocoa quiere mejorar esto, siéntase libre de editar). Más o menos, simplemente copié el script de taw's blog: Puntos de experiencia personal y menús OSX , que se mencionó en pantalla - ¿Hay alguna manera de que AppleScript se muestre en la barra de menú? - Apple .

    
respondido por el user495470 09.06.2012 - 04:15
5

Aquí está la solución en python.
Instalar el marco rumps (el repositorio vinculado tiene un parche para OS X 10.9.3)
sudo pip install git+https://github.com/tito/rumps

Es posible que necesite ajustar $PYTHONPATH para incluir pyobjc (Foundation)
export PYTHONPATH=/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python

Ajusta el siguiente código para tus necesidades:

#!/usr/bin/env python
import rumps
import os
import threading


class AwesomeStatusBarApp(rumps.App):
    def __init__(self):
        super(AwesomeStatusBarApp, self).__init__("Awesome App", "Title")
        tail(self)


def tail(self):
    threading.Timer(5, tail, [self, ]).start()
    self.title = os.popen("tail -1 /var/log/system.log").read()[0:-1][0:50]

AwesomeStatusBarApp().run()

No olvide limitar la longitud de la cadena ( [0:50] ) (o OS X la eliminará a favor de los menús si ambos no encajan) y deshacerse de la nueva línea al final ( [0:-1] )

    
respondido por el Sergei 17.06.2014 - 12:41
2

Estuve buscando esa herramienta muchas veces hasta que lo implementé por mi cuenta: enlace . Sin anuncios, es gratis y puedes construir lo que quieras.

    
respondido por el Jonathan Livingston 10.04.2015 - 16:39
1

Hay otra alternativa reciente de código abierto llamada BitBar (licencia MIT), que parece muy similar a "TextBar" y "ShellWrangler" "Y sorprende por su sencillez.

Puede ejecutar secuencias de comandos en cualquier intervalo de tiempo que esté codificado en el nombre del archivo de la secuencia de comandos (por ejemplo, my_script.60s.py) y puede ejecutar cualquier secuencia de comandos que también pueda ejecutar en su Terminal.

    
respondido por el Chris 08.03.2016 - 01:47

Lea otras preguntas en las etiquetas