[PT] Xfce 开发者博客 —— GSOC 贡献总结



保护 .desktop 处理( Thunar ! 117, ! 121, Exo ! 44, Libxfce4util ! 16 )

.desktop 文件是一种用于启动程序,可配置的特殊脚本。它可以使用自定义图标和名称代表应用程序。然而,因为可以被伪装成任何形式的文件,所以这一特性可能被滥用。为了防止这种安全漏洞,我引入了一个 trused 的标志来标记一个 .desktop 文件是否可以安全执行。通过利用 GVFS-metadata ,任何下载文件都不可能出现 trused 标志。用户会被警告有安全隐患,直到用户设置 trused 标志。

改进文件复制

实行队列传输管理( queued transfer management | Thunar ! 116 )

在 4.16 版本中引入的顺序传输( Sequential transfer ),导致了经常性的冻结或崩溃。现在,顺序传输由一个队列来处理,现在这个功能正常运作,不再有相同的问题。

从外部区域复制文件时文件修改时间保持不变( Thunar ! 127 )

当从远程位置复制文件时,其所有的元数据都会丢失。原来的计划是使用g_file_build_attribute_list_for_copy() 来覆盖被复制文件的元数据,但现在,它只复制原始文件的修改时间。

从 gvfs-google 后端复制时使用 “copy name”( Thunar ! 121 )。

当从 gvfs-google( google-drive:// 协议)复制文件时,文件名被替换为无法阅读的数字字母组合。现在,文件名的维护没有问题了。

使用中间文件( intermediate file )来复制文件( ! 130 )

当文件传输因为任何原因而中断时,没有完全传输的文件会留在目标目录。由于留在目标目录的文件一定损坏了,用户不能只是重试向目标目录复制相同的文件并跳过重复的文件。为了解决这个问题,Thunar 会尝试删除未完成的文件。如果当时不能访问目标目录,有一个更安全的选择,即先复制一个与原文件名称不同的文件,然后将复制的文件名称改为其原文件。

修复复制到类 FAT 文件系统时的无效文件名( ! 137, ! 138 )

FAT 和 NTFS 有一个比 EXT 文件系统更严格的命名规则。另外,Windows 对文件名有一个保留字符。由于这个原因,当把文件复制到类似 FAT 的系统时,Thunar 会在复制前自动重命名以避免无效的文件名。

检查目标目录是否为被移动文件夹的子文件夹( ! 139 )

现在 Thunar 将在尝试复制文件之前检查目标目录是否是被移动文件夹的子目录。

实行 “安全复制”( ! 144 )

新选项 “safe copy”(安全复制)将比较原始文件和拷贝的校验和(如果启用)。这将在很大程度上增加复制时间,但如果源位置或目标目录不可靠,这将是非常有用的。

其他

对于目录,尺寸栏留空( Thunar ! 83 )。

由于某些原因,Thunar 将文件系统的一个块大小显示为目录的 “文件大小” 。这个值可能会让用户感到困惑,所以现在只显示普通文件的文件大小。

在 “Select by Pattern”(按模式选择)中增加了对大小写敏感的选项( Thunar ! 89, ! 98 )

“按模式选择” 功能不区分大小写,所以现在引入了不区分大小写的选择,并设置为默认。

改进 computer:// 面板( Thunar ! 92 )

computer:// 的详细视图是不完整的,因为它不能像普通目录那样处理。现在,“大小” 栏显示磁盘使用信息,“类型” 栏显示设备类型。

弃用 ExoBinding ( Exo ! 42, ThunarMediaTagsPlugin ! 4, Xfce4PlacesPlugin ! 7, Thunar ! 113, ThunarVolman ! 8 )

由于 Exo 中的 ExoBinding 可以被 GLib 中的 GBinding 取代。ExoBinding在 Xfce 项目中被废弃,并被 GBinding 取代。

编辑桌面项目时保留元数据( Exo ! 43 )

当用 exo-desktop-item-edit 编辑一个桌面项目时,所有的元数据都丢失了,因为修改的文件实际上是一个新文件,取代了旧文件。这个问题已经解决了,被修改的文件保持其信息。

1赞