将项目添加到 Dolphin 的上下文菜单中

将项目添加到 Dolphin 的上下文菜单中

如果我右键单击某个东西,是否可以将新项目添加到 Dolphin(KDE Plasma)中的上下文菜单中?

我想写一个脚本移至应用程序,将显示仅有的如果我右击。桌面文件然后它会将其移动到/usr/共享/应用程序/文件夹。或者有没有更快的方法移动。桌面文件到/usr/共享/应用程序/文件夹。

答案1

您可以创建一个服务菜单做你想做的事。

  • 创建文件夹〜/.local/share/kservices5
  • 创建文件夹~/.local/share/kservices5/服务菜单
  • ~/.local/share/kservices5/服务菜单创建一个名为的纯文本文件移动桌面

将以下内容粘贴到移动桌面

[Desktop Action move-file]

Exec=/usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu mv "%U" /usr/share/applications

Name=Move file
Icon=document-send

[Desktop Entry]
Actions=move-file

MimeType=application/x-desktop;

ServiceTypes=KonqPopupMenu/Plugin
Type=Service
X-KDE-Priority=TopLevel

使用MimeType=application/x-desktop;确保仅当目标文件是。桌面文件。

这是 Dolphin 上下文菜单的图片创建服务菜单:

创建服务菜单之前的 Dolphin 上下文菜单

下面的截图中创建服务菜单时,你会看到一个附加条目,移动文件

注意移动文件条目

点击移动文件会提示你输入密码,因为你想将文件移动到/usr/share/应用程序

要求输入密码

输入密码后,所选文件将被移动到/usr/share/应用程序

文件现已从其原始位置删除,现在位于 */usr/share/applications*

请注意,所有者与已存在的 .desktop 文件不同。您需要按照自己的选择来修复此问题:

文件所有权不同


如果您需要更改所有权/权限,您可以修改如下Exec=行(以更改所有权):

Exec=printf %U | xsel -b -i && /usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu mv "%U" /usr/share/applications && cd /usr/share/applications && /usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu chown root:root $( basename $(xsel -b -o) )

额外的步骤包括使用printf響鳴将文件路径放入剪贴板,然后使用基名删除文件名以外的所有内容。当然,您还需要kdesu再次执行此操作!我不知道是否有更短的方法!

答案2

在 KDE Plasma 下,最简单的解决方案可能是添加新的“打开方式”条目。为此,请转到Configure Desktop( systemsettings5) > Applications> File Associations

然后使用搜索字段选择相关文件类型;它将提供 mimetype 名称和文件扩展名过滤器的结果。输入.kdelnk.desktop将显示 mime-type application/x-desktop

在面板中Application Preference Order,单击按钮+ Add配置新程序。默认情况下,新条目被选为默认程序;您需要将脚本移动到顺序中更合适的位置。

相关内容