KDE:klipper 操作脚本

发布于 2024-11-19 18:25:23 字数 544 浏览 2 评论 0原文

因此,KDE 的剪贴板管理器 - klipper - 允许编写一个脚本以应用于与正则表达式匹配的剪贴板内容。比如说,我希望 klipper 通过 bash 脚本下载图像。

这是一个 klipper QRegExp:

^http://.*\.(png|svg|gif|jpg|jpeg)

我知道这个正则表达式有效 - 每次我将图像 URL 复制到剪贴板时 klipper 都会通知我。然后,这是一个 bash 脚本

#!/bin/bash
# let's name it clip.bash
name=`basename $1`
curl -o ~/Downloads/$name $1

,我将此脚本放入 PATH(我尝试使用自己的图像 URL 提供该脚本 - 它有效),最后我按以下方式指定一个操作:

clip.bash \%s

一切都很好并得到照顾 - 但它不起作用!

所以我的问题是:“如何让klipper通过bash脚本下载图像?”

So KDE's clipboard manager - klipper - allows one to write a script to be applied to clipboard contents matching regexp. Say, I want klipper to download an image through bash script.

Here's a klipper QRegExp:

^http://.*\.(png|svg|gif|jpg|jpeg)

I know that this regexp works - klipper notifies me every time I copy image URL to clipboard. Then, here's a bash script

#!/bin/bash
# let's name it clip.bash
name=`basename $1`
curl -o ~/Downloads/$name $1

I put this script to the PATH (I tried to feed this script with a image URL my self - it works), and finally I specify an action the following way:

clip.bash \%s

everything's fine and taken care about - but it doesn't work!

So my question is: "how to make klipper download an image through the bash script?"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ぶ宁プ宁ぶ 2024-11-26 18:25:23

第一个想法:

  1. 您确定“%”之前的反斜杠吗?我现在无法访问 KDE,但我不确定您是否需要它。
  2. 您确定 klipper“看到”您对 PATH 变量的更改吗?您可以尝试使用绝对路径(例如“/home/../clip.bash”)

如果这些不起作用,您可以尝试从脚本中记录一些调试信息。例如:

#!/bin/bash
name=`basename $1`
echo "curl -o ~/Downloads/$name $1" 1>&2

运行

tail ~/.xsession-errors

以查看您的脚本刚刚尝试执行的命令。

First thoughts:

  1. Are you sure about the backslash before the '%'? I haven't access to KDE right now, but I'm not sure you need it.
  2. Are you sure that klipper "sees" your change to the PATH variable? You could try to use absolute path (something like "/home/../clip.bash")

If those don't work, you can try to log some debug info from your script. For example:

#!/bin/bash
name=`basename $1`
echo "curl -o ~/Downloads/$name $1" 1>&2

Run

tail ~/.xsession-errors

to see what command your script have just tried to execute.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文