From 6f1d8b4ecb69a695605f17faf2259bf965586662 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Tue, 28 Mar 2023 14:26:31 -0700 Subject: [PATCH] Add iterm_set_font script to bin/ --- bin/iterm_set_font.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 bin/iterm_set_font.py diff --git a/bin/iterm_set_font.py b/bin/iterm_set_font.py new file mode 100755 index 0000000..a6bd032 --- /dev/null +++ b/bin/iterm_set_font.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 +# Eryn Wells + +import argparse +import iterm2 + +def parse_args(argv, *a, **kw): + parser = argparse.ArgumentParser(*a, **kw) + parser.add_argument('font') + args = parser.parse_args(argv) + return args + +def main(argv): + args = parse_args(argv[1:], prog=argv[0]) + + new_font = args.font + print(f'Will attempt to set font to "{new_font}"') + + async def set_font(connection): + profile = await iterm2.Profile.async_get_default(connection) + if not profile: + return + + print(f'Current normal font of "{profile.name}" profile is "{profile.normal_font}"') + print(f'Setting normal font of "{profile.name}" profile to "{new_font}"') + + await profile.async_set_normal_font(new_font) + + iterm2.run_until_complete(set_font) + +if __name__ == '__main__': + import sys + result = main(sys.argv) + sys.exit(0 if not result else result)