diff options
author | Mattias Andrée <maandree@operamail.com> | 2015-11-19 03:20:12 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@operamail.com> | 2015-11-19 03:21:17 +0100 |
commit | 46eb4985359ca5f52b8ccbad9d7ad11ba77b67d2 (patch) | |
tree | 72f3d2b3adcd3251156ce01bdb02f38341e15c14 /src | |
parent | fix issue #1 (diff) | |
download | xpybar-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')
-rw-r--r-- | src/plugins/image.py | 18 |
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 |