aboutsummaryrefslogtreecommitdiff
path: root/parrot_zik/indicator/linux.py
diff options
context:
space:
mode:
authorMax Grishkin <mgrishkin@gmail.com>2015-12-08 23:44:28 +0300
committerMax Grishkin <mgrishkin@gmail.com>2015-12-09 23:37:51 +0300
commit4098b681ca9bc4b57e8283f6f21d139fc1c9940b (patch)
tree540e7640a31f8d706b582fec759744045620f786 /parrot_zik/indicator/linux.py
parent0f18e76062340a6beda2142ccaedccad09cd5193 (diff)
downloadpyParrotZikTCP-4098b681ca9bc4b57e8283f6f21d139fc1c9940b.tar.xz
pyParrotZikTCP-4098b681ca9bc4b57e8283f6f21d139fc1c9940b.zip
Use gtk on linux
Diffstat (limited to 'parrot_zik/indicator/linux.py')
-rw-r--r--parrot_zik/indicator/linux.py49
1 files changed, 35 insertions, 14 deletions
diff --git a/parrot_zik/indicator/linux.py b/parrot_zik/indicator/linux.py
index 278f781..f6f9cfc 100644
--- a/parrot_zik/indicator/linux.py
+++ b/parrot_zik/indicator/linux.py
@@ -6,17 +6,7 @@ from parrot_zik.indicator.base import BaseIndicator
class LinuxIndicator(BaseIndicator):
- def __init__(self, icon, menu):
- import appindicator
- self.icon_directory = os.path.join('/', 'usr', 'share', 'icons', 'zik')
- if not os.path.isdir(self.icon_directory):
- self.icon_directory = os.path.join('share', 'icons', 'zik')
- statusicon = appindicator.Indicator(
- "new-parrotzik-indicator", "indicator-messages",
- appindicator.CATEGORY_APPLICATION_STATUS)
- statusicon.set_status(appindicator.STATUS_ACTIVE)
- statusicon.set_icon_theme_path(self.icon_directory)
- statusicon.set_menu(menu.gtk_menu)
+ def __init__(self, icon, menu, statusicon):
super(LinuxIndicator, self).__init__(icon, menu, statusicon)
def gtk_right_click_event(self, icon, button, time):
@@ -28,9 +18,6 @@ class LinuxIndicator(BaseIndicator):
self.menu_shown = False
self.menu.poVpdown()
- def setIcon(self, name):
- self.statusicon.set_icon(name)
-
@classmethod
def main(cls):
gtk.main()
@@ -46,3 +33,37 @@ class LinuxIndicator(BaseIndicator):
about_dialog.set_authors(["Dmitry Moiseev m0sia@m0sia.ru"])
about_dialog.run()
about_dialog.destroy()
+
+
+class LinuxAppIndicator(LinuxIndicator):
+ def __init__(self, icon, menu):
+ import appindicator
+ self.icon_directory = os.path.join('/', 'usr', 'share', 'icons', 'zik')
+ if not os.path.isdir(self.icon_directory):
+ self.icon_directory = os.path.join('share', 'icons', 'zik')
+ statusicon = appindicator.Indicator(
+ "new-parrotzik-indicator", "indicator-messages",
+ appindicator.CATEGORY_APPLICATION_STATUS)
+ statusicon.set_status(appindicator.STATUS_ACTIVE)
+ statusicon.set_icon_theme_path(self.icon_directory)
+ statusicon.set_menu(menu.gtk_menu)
+ super(LinuxIndicator, self).__init__(icon, menu, statusicon)
+
+ def setIcon(self, name):
+ self.statusicon.set_icon(name)
+
+
+
+class LinuxGtkIndicator(LinuxIndicator):
+ def __init__(self, icon, menu):
+ self.icon_directory = os.path.join(
+ '/usr', 'share', 'icons/')
+ self.menu_shown = False
+ statusicon = gtk.StatusIcon()
+ statusicon.connect("popup-menu", self.gtk_right_click_event)
+ statusicon.set_tooltip("Parrot Zik")
+ super(LinuxIndicator, self).__init__(icon, menu, statusicon)
+
+ def setIcon(self, name):
+ self.statusicon.set_from_file(self.icon_directory + name + '.png')
+