diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:24:48 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:24:48 +0000 |
commit | cca66b9ec4e494c1d919bff0f71a820d8afab1fa (patch) | |
tree | 146f39ded1c938019e1ed42d30923c2ac9e86789 /share/extensions/inkscape_follow_link.py | |
parent | Initial commit. (diff) | |
download | inkscape-cca66b9ec4e494c1d919bff0f71a820d8afab1fa.tar.xz inkscape-cca66b9ec4e494c1d919bff0f71a820d8afab1fa.zip |
Adding upstream version 1.2.2.upstream/1.2.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'share/extensions/inkscape_follow_link.py')
-rwxr-xr-x | share/extensions/inkscape_follow_link.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/share/extensions/inkscape_follow_link.py b/share/extensions/inkscape_follow_link.py new file mode 100755 index 0000000..54dac76 --- /dev/null +++ b/share/extensions/inkscape_follow_link.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python +# coding=utf-8 + +import threading +import webbrowser + +import inkex +from inkex import Anchor + + +class ThreadWebsite(threading.Thread): + """Visit the website without locking inkscape""" + + def __init__(self, url): + threading.Thread.__init__(self) + self.url = url + + def run(self): + webbrowser.open(self.url) + + +class FollowLink(inkex.EffectExtension): + """Get the first selected item and follow it's href/url""" + + def effect(self): + for node in self.svg.selection.filter(Anchor): + vwswli = ThreadWebsite(node.get("xlink:href")) + vwswli.start() + break + + +if __name__ == "__main__": + FollowLink().run() |