diff options
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 |