/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to bzr-notify

  • Committer: Mikkel Kamstrup Erlandsen
  • Date: 2011-09-28 07:45:39 UTC
  • mto: This revision was merged to the branch mainline in revision 740.
  • Revision ID: mikkel.kamstrup@gmail.com-20110928074539-qxl1yn1bkjel6ir0
Add X-GNOME-Autostart-Delay=30 to bzr-notify.desktop

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
from bzrlib.plugins.gtk.commands import open_display
13
13
 
14
14
from bzrlib.plugins.gtk.notify import NotifyPopupMenu
15
 
Gtk = open_display()
 
15
gtk = open_display()
16
16
 
17
17
import cgi
18
 
import sys
19
 
 
20
18
import dbus
21
19
import dbus.service
22
 
from gi.repository import GObject
23
 
from gi.repository import Notify
24
 
 
 
20
import gobject
 
21
import pynotify
25
22
from bzrlib.bzrdir import BzrDir
26
23
from bzrlib.osutils import format_date
27
24
from bzrlib.transport import get_transport
28
25
 
29
26
menu = NotifyPopupMenu()
30
27
try:
31
 
    from gi.repository import AppIndicator3
 
28
    import appindicator
32
29
except ImportError:
33
 
    icon = Gtk.StatusIcon.new_from_icon_name("bzr-panel")
 
30
    icon = gtk.status_icon_new_from_icon_name("bzr-panel")
34
31
    icon.connect('popup-menu', menu.display)
35
32
    icon.set_visible(False)
36
33
    hide_icon = lambda: icon.set_visible(False)
37
34
    show_icon = lambda: icon.set_visible(True)
38
35
else:
39
 
    indicator = AppIndicator3.Indicator.new(
40
 
        "bzr-gtk-notify", "bzr-panel", AppIndicator3.IndicatorCategory.OTHER)
41
 
    indicator.set_status (AppIndicator3.IndicatorStatus.PASSIVE)
 
36
    indicator = appindicator.Indicator ("bzr-gtk-notify",
 
37
        "bzr-panel", appindicator.CATEGORY_OTHER)
 
38
    indicator.set_status (appindicator.STATUS_PASSIVE)
42
39
    indicator.set_attention_icon("bzr-panel")
43
40
    indicator.set_menu(menu)
44
 
    hide_icon = lambda: indicator.set_status (
45
 
        AppIndicator3.IndicatorStatus.PASSIVE)
46
 
    show_icon = lambda: indicator.set_status (
47
 
        AppIndicator3.IndicatorStatus.ATTENTION)
 
41
    hide_icon = lambda: indicator.set_status (appindicator.STATUS_PASSIVE)
 
42
    show_icon = lambda: indicator.set_status (appindicator.STATUS_ATTENTION)
48
43
 
49
44
if getattr(dbus, 'version', (0,0,0)) >= (0,41,0):
50
45
    import dbus.glib
69
64
        body += '\n'
70
65
        body += revision.message
71
66
        body = cgi.escape(body)
72
 
        nw = Notify.Notification.new(summary, body, None)
 
67
        nw = pynotify.Notification(summary, body)
73
68
        def start_viz(notification=None, action=None, data=None):
74
69
            """Start the viz program."""
75
70
            from bzrlib.plugins.gtk.commands import start_viz_window
80
75
            from bzrlib.plugins.gtk.branch import BranchDialog
81
76
            bd = BranchDialog(remote_path=url)
82
77
            bd.run()
83
 
        if "actions" in Notify.get_server_caps():
 
78
        if "actions" in pynotify.get_server_caps():
84
79
            nw.add_action("inspect", "Inspect", start_viz, None)
85
80
            nw.add_action("branch", "Branch", start_branch, None)
86
81
        show_icon()
87
 
        GObject.timeout_add(5000, hide_icon)
 
82
        gobject.timeout_add(5000, hide_icon)
88
83
        nw.set_timeout(5000)
89
84
        nw.show()
90
85
    except Exception, e:
93
88
bus.add_signal_receiver(catch_branch,
94
89
                        dbus_interface=BROADCAST_INTERFACE,
95
90
                        signal_name="Revision")
96
 
Notify.init("bzr-notify")
97
 
 
98
 
if sys.argv[-1] == 'test':
99
 
    # Exit before main loop.
100
 
    sys.exit(0)
101
 
 
102
 
Gtk.main()
 
91
pynotify.init("bzr-notify")
 
92
gtk.main()