.desktop file is a special kind of script that is optimized for launching application. It can use custom icon and name to represent application. However, this feature can be abused as it can disguise itself as any type of file. To prevent this security breach, I introduced a “trused” flag to mark whether this .desktop file is safe to execute. By utilizing GVFS-metadata, there is no way that the flag of any downloaded file is up. A user will be warned about the safety hazard until the user sets “trusted” flag up.
File copy improvements
Implement queued transfer management
Sequential transfer, which is introduced in 4.16, caused freuqent freeze and/or crash. Now sequential transfer is handled by a queue, and now this feature works without a problem.
When copying from remote locations, all the metadata gets lost. The original plan was to use
g_file_build_attribute_list_for_copy() to overwrite metadata of the copied file, but for now, it only copies modified time of the original file.
When copying a file from gvfs-google (google-drive:// protocol), the filename was replaced with unreadable number-alphabet combination. Now the filename is maintained without a problem.
When a file transfer gets interrupted for any reason, the file that is not fully transferred is left on the destination. Since that the single file on the destination is guaranteed to be corrupted, a user cannot just retry copying the same file on the destination and skip duplicate files. To solve this problem, Thunar will try to delete the incomplete file if it can. In case the destination is not accessible at the time, there is a safer option that first copies a file with a different name than the original and then change the name of the copied file to its original.
Fix invalid filenames when copying to FAT-like filesystem
FAT and NTFS have a stricter naming rule than EXT filesystem. Also, Windows has a reserved word for filename. For this reason, when copying a file to FAT-like system, Thunar will automatically rename to avoid illegal names before copy.
Now Thunar will check if a target directory is a subdirectory of the moved folder before trying to copy files.
New option “safe copy” will compare checksum of the original and the copy if enabled. This will largely increase copy time, but it would be useful if the source location or the destination is unreliable.
For directories, leave size column blank
For some reason, Thunar has shown a block size of the filesystem as the “file size” of the directory. This value might be confusing to a user, so now the file size is only shown for regular files.
On “Select by Pattern” add option for case sensitivity
“Select by Pattern” feature was not case sensitive, so now case insensitive select is introduced and set as a default.
Detail view for
computer:// was incomplete since it cannot be handled like a normal directory. Now “size” column shows disk usage info, and “type” column shows a device type.
ExoBinding in Exo can be replaced with
GBinding in GLib,
ExoBinding is deprecated and the usage within XFCE project is replaced with
Preserve metadata when editing desktop item
When editing a desktop item with exo-desktop-item-edit, all the metadata got lost since the modified file was actually a new file that replaces older one. This problem is fixed and the file modified maintains its info.
Proposal Work Status
- Introduce GVFS trusted flag for more safety
- Remove fragmented files if file transfer is interrupted
- Check validity of file transfer destination
- Copy files from virtual filesystem correctly Link#1 Link#2
- Implement “safe copy”
Already solved before GSOC
- Run only executables by checking MIME type Discussions
- Continue file transfer even if some files have problems to solve Discussions