From: Constantin Berhard Date: Fri, 20 Nov 2015 16:51:21 +0000 (+0100) Subject: made aspect ratio accurate X-Git-Url: https://git.ralfj.de/lilass.git/commitdiff_plain/53c8405139ffdc848753335f50b6b746a7bafcb5?ds=inline;hp=-c made aspect ratio accurate --- 53c8405139ffdc848753335f50b6b746a7bafcb5 diff --git a/screen.py b/screen.py index f9bef55..b0c6577 100644 --- a/screen.py +++ b/screen.py @@ -18,6 +18,7 @@ import re, subprocess from enum import Enum +from fractions import Fraction ## utility functions @@ -66,13 +67,8 @@ class Resolution: def __str__(self): # get ratio - ratio = int(round(16.0*self.height/self.width)) - if ratio == 12: # 16:12 = 4:3 - strRatio = '4:3' - elif ratio == 13: # 16:12.8 = 5:4 - strRatio = '5:4' - else: # let's just hope this will never be 14 or more... - strRatio = '16:%d' % ratio + ratio = Fraction(self.width, self.height) # automatically divides by the gcd + strRatio = "%d:%d" % (ratio.numerator, ratio.denominator) return '%dx%d (%s)' %(self.width, self.height, strRatio) def __repr__(self):