From b710ffc403df52a94f7c1cbea0110873605f2d34 Mon Sep 17 00:00:00 2001 From: Luflosi Date: Sun, 20 Oct 2019 21:37:14 +0200 Subject: [PATCH] Fix icat kitten Fixes https://github.com/kovidgoyal/kitty/issues/2081. This bug was introduced in 10e5fcc37535fdf6eed7f03f1c5380a2b4f0db9c. One place in the code requires the actual `screen_size_function`, not just the result of it. --- kittens/icat/main.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/kittens/icat/main.py b/kittens/icat/main.py index e2c2464b5..f7fc67bd1 100755 --- a/kittens/icat/main.py +++ b/kittens/icat/main.py @@ -99,10 +99,15 @@ Do not print out anything to stdout during operation. screen_size = None -def get_screen_size(): +def get_screen_size_function(): global screen_size if screen_size is None: screen_size = screen_size_function() + return screen_size + + +def get_screen_size(): + screen_size = get_screen_size_function() return screen_size() @@ -323,7 +328,6 @@ def process_single_item(item, args, url_pat=None, maybe_dir=True): def main(args=sys.argv): - global screen_size args, items = parse_args(args[1:], options_spec, usage, help_text, '{} +kitten icat'.format(appname)) if args.print_window_size: @@ -343,7 +347,7 @@ def main(args=sys.argv): sys.stdin.close() sys.stdin = open(os.ctermid(), 'r') - screen_size = get_screen_size() + screen_size = get_screen_size_function() signal.signal(signal.SIGWINCH, lambda signum, frame: setattr(screen_size, 'changed', True)) if screen_size().width == 0: if args.detect_support: