Add cleanurl for qutebrowser yank

This commit is contained in:
Tobias Reisinger 2022-01-13 19:23:21 +01:00
parent cdd396ac53
commit 568700f9a2
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
2 changed files with 53 additions and 0 deletions

View file

@ -27,3 +27,12 @@ def init(c):
c.bind('<Ctrl-Tab>', 'tab-next')
c.bind('<Ctrl-Shift-Tab>', 'tab-prev')
try:
import unalix
c.unbind('yy')
c.unbind('yY')
c.bind('yy', 'spawn --userscript qute-clear-url', mode='normal')
c.bind('yY', 'spawn --userscript qute-clear-url -s', mode='normal')
except:
pass

View file

@ -0,0 +1,44 @@
#!/usr/bin/env python3
import os
import argparse
import unalix
def qute(cmd):
with open(os.environ['QUTE_FIFO'], 'w') as fifo:
fifo.write(cmd)
fifo.write('\n')
fifo.flush()
def error(msg):
print(msg, file=sys.stderr)
qute('message-error "{}"'.format(msg))
def parse_args():
parser = argparse.ArgumentParser(description="Full passwords from KeepassXC")
parser.add_argument('--selection', '-s', action='store_true',
help='Yank to selection')
return parser.parse_args()
if __name__ == '__main__':
if 'QUTE_FIFO' not in os.environ:
print(f"No QUTE_FIFO found - {sys.argv[0]} must be run as a qutebrowser userscript")
sys.exit(-1)
try:
args = parse_args()
url = os.environ['QUTE_URL']
clean_url = unalix.clear_url(url)
if args.selection:
qute('yank inline "{}" -s'.format(clean_url))
else:
qute('yank inline "{}"'.format(clean_url))
except Exception as e:
error(str(e))