aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/image.py
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2015-11-19 03:20:12 +0100
committerMattias Andrée <maandree@operamail.com>2015-11-19 03:21:17 +0100
commit46eb4985359ca5f52b8ccbad9d7ad11ba77b67d2 (patch)
tree72f3d2b3adcd3251156ce01bdb02f38341e15c14 /src/plugins/image.py
parentfix issue #1 (diff)
downloadxpybar-46eb4985359ca5f52b8ccbad9d7ad11ba77b67d2.tar.gz
xpybar-46eb4985359ca5f52b8ccbad9d7ad11ba77b67d2.tar.bz2
xpybar-46eb4985359ca5f52b8ccbad9d7ad11ba77b67d2.tar.xz
prefer graphicsmagick over imagemagick
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to 'src/plugins/image.py')
-rw-r--r--src/plugins/image.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/plugins/image.py b/src/plugins/image.py
index 20511e5..5653ed7 100644
--- a/src/plugins/image.py
+++ b/src/plugins/image.py
@@ -71,7 +71,8 @@ class Image:
if not convert.wait() == 0:
raise Exception('Image could not be converted')
- convert = ['convert', '-', '-background', background, '-alpha', 'remove', '-depth', '8']
+ convert = ['gm'] if Image.have_graphicsmagick() else []
+ convert += ['convert', '-', '-background', background, '-alpha', 'remove', '-depth', '8']
if width is not None:
convert += ['-resize', '%ix%i!' % (width, height)]
convert += ['ppm:-']
@@ -131,6 +132,21 @@ class Image:
@staticmethod
+ def have_graphicsmagick():
+ '''
+ Figure out whether graphicsmagick is installed
+
+ @return :bool Whether graphicsmagick is installed
+ '''
+ import os
+ path = os.environ['PATH'] if 'PATH' in os.environ else '/usr/local/bin:/usr/bin:/bin';
+ for p in [p + '/gm' for p in path.split(':') if not p == '']:
+ if os.access(p, os.X_OK):
+ return True
+ return False
+
+
+ @staticmethod
def find_icon(name, width, height, preferences):
'''
Find and image for in abstract icon