如果正在运行bash脚本,则显示图形微调器

时间:2014-05-23 08:34:35

标签: python bash

我在bash中有一些脚本,如果脚本正在运行,我需要显示图形微调器。 (某些脚本使用wget)

示例

#!/bin/bash
wget -c http://sourceforge.net/projects/wine/files/Source/wine-1.7.19.tar.bz2

我可以使用简单的脚本notify-send ...

捕获此wget
#!/bin/sh

SERVICE='wget'
SERVICE2='curl'
SERVICE3='myscript'

while [[ $(ps ax | grep -v grep | grep -c $SERVICE3) -gt 0 ]]
do
if [[ $(ps ax | grep -v grep | grep -c $SERVICE3) -gt 0 ]] && [[ $(ps ax | grep -v grep | grep -c $SERVICE) -gt 0 ]] || [[ $(ps ax | grep -v grep | grep -c $SERVICE2) -gt 0 ]] ; then 

notify-send "Downloading wine 
Please wait" -i "/usr/share/icons/acciones/loadingimage.png" 
exit
fi

done

我发现下一个用python编写的例子,但我不知道将它集成到我的bash脚本中。

enter image description here

#!/usr/bin/env python


from gi.repository import Gtk
from gi.repository import Gdk
import sys


class MyWindow(Gtk.ApplicationWindow):
    # a window

    def __init__(self, app):
        Gtk.Window.__init__(self, title="Spinner Example", application=app)
        self.set_default_size(200, 200)
        self.set_border_width(30)

        # a spinner
        self.spinner = Gtk.Spinner()
        # that by default spins
        self.spinner.start()
        # add the spinner to the window
        self.add(self.spinner)

    # event handler
    # a signal from the keyboard (space) controls if the spinner stops/starts
    def do_key_press_event(self, event):
        # keyname is the symbolic name of the key value given by the event
        keyname = Gdk.keyval_name(event.keyval)
        # if it is "space"
        if keyname == "space":
            # and the spinner is active
            if self.spinner.get_property("active"):
                # stop the spinner
                self.spinner.stop()
            # if the spinner is not active
            else:
                # start it again
                self.spinner.start()
        # stop the signal emission
        return True


class MyApplication(Gtk.Application):

    def __init__(self):
        Gtk.Application.__init__(self)

    def do_activate(self):
        win = MyWindow(self)
        win.show_all()

    def do_startup(self):
        Gtk.Application.do_startup(self)

app = MyApplication()
exit_status = app.run(sys.argv)
sys.exit(exit_status)

0 个答案:

没有答案