Files
arch/dms-dotfiles/.config/Thunar/uca.xml

124 lines
4.8 KiB
XML
Raw Normal View History

2026-03-31 20:13:15 +08:00
<?xml version="1.0" encoding="UTF-8"?>
<actions>
<action>
<icon>utilities-terminal</icon>
<name>Open Terminal Here</name>
<submenu></submenu>
<unique-id>1763109685799433-1</unique-id>
<command>kitty -e fish</command>
<description>Example for a custom action</description>
<range></range>
<patterns>*</patterns>
<startup-notify/>
<directories/>
</action>
<action>
<icon></icon>
<name>多媒体信息</name>
<submenu></submenu>
<unique-id>1769424941490550-1</unique-id>
<command>kitty --class &quot;media_info&quot; -e media-info %f </command>
<description></description>
<range>*</range>
<patterns>*</patterns>
<audio-files/>
<video-files/>
</action>
<action>
<icon></icon>
<name>粘贴为链接</name>
<submenu></submenu>
<unique-id>1769427857102992-1</unique-id>
<command>sh -c &apos;wl-paste -t text/uri-list | python3 -c &quot;
import sys, os, urllib.parse
dest_dir = sys.argv[1]
# 逐行读取剪贴板里的文件
for line in sys.stdin:
# 1. 清理路径解码URL并去掉 file:// 前缀
src = urllib.parse.unquote(line.strip()).replace(\&quot;file://\&quot;, \&quot;\&quot;)
# 2. 基础检查
if not src or not os.path.exists(src): continue
# 3. 计算目标文件名
filename = os.path.basename(src)
target = os.path.join(dest_dir, filename)
# 4. 重名检测循环:如果有同名文件,变成 \&quot;文件名 (1).后缀\&quot;
root, ext = os.path.splitext(filename)
counter = 1
while os.path.exists(target):
target = os.path.join(dest_dir, f\&quot;{root} ({counter}){ext}\&quot;)
counter += 1
# 5. 创建链接
try: os.symlink(src, target)
except: pass
&quot; %f&apos;</command>
<description></description>
<range>*</range>
<patterns>*</patterns>
<directories/>
</action>
<action>
<icon></icon>
<name>粘贴剪贴板图片</name>
<submenu></submenu>
<unique-id>1769429285959977-2</unique-id>
<command>bash -c &apos;d=&quot;%f&quot;;[ -d &quot;$d&quot; ]||d=&quot;$(dirname &quot;$d&quot;)&quot;;cd &quot;$d&quot;||exit;n=&quot;img_$(date -Iseconds|cut -d+ -f1|tr T _|tr : -)&quot;;t=$(wl-paste -l);if echo &quot;$t&quot;|grep -q &quot;^image/&quot;;then wl-paste -t image/png&gt;&quot;$n.png&quot;;elif echo &quot;$t&quot;|grep -q &quot;text/uri-list&quot;;then u=$(wl-paste -t text/uri-list|head -n1);if [[ &quot;$u&quot; == file://* ]];then p=&quot;${u#file://}&quot;;f=$(python3 -c &quot;import sys,urllib.parse;print(urllib.parse.unquote(sys.argv[1]))&quot; &quot;$p&quot;);[ -f &quot;$f&quot; ]&amp;&amp;cp &quot;$f&quot; &quot;$n.${f##*.}&quot;;fi;fi&apos;</command>
<description></description>
<range>*</range>
<patterns>*</patterns>
<directories/>
</action>
<action>
<icon></icon>
<name>视频转gif</name>
<submenu></submenu>
<unique-id>1769514623477685-1</unique-id>
<command>kitty --class=&quot;floating-term&quot; -e video2gif %F</command>
<description></description>
<range>*</range>
<patterns>*</patterns>
<video-files/>
</action>
<action>
<icon></icon>
<name>图片转png</name>
<submenu></submenu>
<unique-id>1769516013413116-2</unique-id>
<command>bash -c &apos;exec 1&gt;&gt;/tmp/img_err.log 2&gt;&amp;1; /usr/bin/notify-send &quot;图片转换&quot; &quot;正在后台处理 $# 张图片...&quot;; for f in &quot;$@&quot;; do /usr/bin/magick -background none &quot;$f&quot; -delete 1--1 &quot;$(echo &quot;$f&quot; | sed &quot;s/\.[^.]*$//&quot;).png&quot;; done; /usr/bin/notify-send &quot;图片转换&quot; &quot;处理完成&quot;&apos; -- %F</command>
<description></description>
<range>*</range>
<patterns>*</patterns>
<image-files/>
</action>
<action>
<icon></icon>
<name>压缩视频大小</name>
<submenu></submenu>
<unique-id>1770021157399945-1</unique-id>
<command>kitty --class floating-term bash -c &apos;f=&quot;$1&quot;; out=&quot;$(echo &quot;$f&quot; | sed &quot;s/\.[^.]*$//&quot;)_compressed.mp4&quot;; echo &quot;正在处理: $f&quot;; if ffmpeg -i &quot;$f&quot; -vf &quot;scale=trunc(iw/2)*2:trunc(ih/2)*2&quot; -c:v libx264 -crf 26 -preset slow -c:a aac -b:a 128k -pix_fmt yuv420p &quot;$out&quot;; then echo -e &quot;\n✅ 压缩完成!文件已保存为: $out&quot;; else echo -e &quot;\n❌ 压缩失败,请查看上方报错信息。&quot;; fi; read -n 1 -s -r -p &quot;按任意键退出...&quot;&apos; -- %f</command>
<description></description>
<range>*</range>
<patterns>*</patterns>
<video-files/>
</action>
<action>
<icon></icon>
<name>快速查看</name>
<submenu></submenu>
<unique-id>1770297188807065-1</unique-id>
<command>kitty --class=&quot;floating-term&quot; -e bash -c &quot;~/.local/bin/preview \&quot;\$1\&quot;; read -n 1 -s -r&quot; -- %f</command>
<description></description>
<range>*</range>
<patterns>*</patterns>
<directories/>
<audio-files/>
<image-files/>
<text-files/>
<video-files/>
</action>
</actions>