dot_files/.local/bin/w3m-splits

42 lines
1.4 KiB
Python
Executable file

#!/usr/bin/env python3.11
"""
Name: w3m-splits
AUTHOR: https://github.com/jessebot
DESCRIPTION: quick script to run w3m with images from neomutt in iterm2
you'll still need something like sixel and w3m locally
LICENSE: GNU AFFERO GENERAL PUBLIC LICENSE Version 3
"""
import iterm2
import argparse
# parse args
parser = argparse.ArgumentParser()
parser.add_argument("html_file",
help="html file or URL to view in w3m in an iTerm2 split")
parser.add_argument("--profile", "-p", type=str, default="Minimal",
help="iTerm2 profile you'd like to use in the new split.")
args = parser.parse_args()
async def main(connection):
"""
Create split pane to the right, make the right pane active, and send a
command to the newly created split
"""
app = await iterm2.async_get_app(connection)
# Create split pane to the right and make the right one active
left_pane = app.current_terminal_window.current_tab.current_session
right_pane = await left_pane.async_split_pane(vertical=True,
profile=args.profile)
# send the command to the newly created split
w3m = ("w3m -sixel -o auto_image=TRUE -o display_image=1 -T text/html"
f" -o confirm_qq=false -F {args.html_file} && exit \n")
await right_pane.async_send_text(w3m)
# run the iterm2 stuff
iterm2.run_until_complete(main)