Review Request 120573: [OS X] make KDE's trash use the OS X trash
René J.V. Bertin
rjvbertin at gmail.com
Mon Oct 13 21:42:18 BST 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/120573/
-----------------------------------------------------------
(Updated Oct. 13, 2014, 10:42 p.m.)
Review request for KDE Software on Mac OS X and KDE Runtime.
Changes
-------
Takes the feedback until now into account (issues marked as closed).
Repository: kde-runtime
Description
-------
KDE on OS X does not handle the desktop session (no "Plasma") nor can it rely on XDG to obtain the proper paths to use for something like the trash. As a result, all applications that propose to move things they manage to the wastebin (Dolphin, but also digiKam) will store those items in a place that has no particular meaning on OS X, and that will thus tend to fill up.
OS X stores trash in one of several locations. Files trashed from the boot volume (and/or the volume containing $HOME, I don't actually know that) end up in `~/.Trash`. Files deleted from other volumes end up in `/Volumes/volName/.Trashes/uid`, where volName is the volume name (regardless whether it's an external or a remote drive; only mounted NFS shares are handled differently) and uid the numerical user id. Permissions on `.Trashes` are the same as those expected by KDE.
The kio_trash kioslave appears to support several actual trash directory locations, just like OS X. `TrashImpl::init()` creates a standard trash in `~/.local/share/Trash` (at least under OS X) but also `TrashImpl::trashForMountPoint()` that is used in cases I have not yet encountered.
On OS X, my modified `TrashImpl::init()` sets the standard trash directory to `~/.Trash/KDE.trash` and will create the `files` and `info` subdirectories as required, because they will of course be deleted when the user empties the OS X trash. `TrashImpl::isEmpty()` has been modified to delete the KDE trash's internal infrastructure when the wastebin is empty so that OS X also see the trash as emptied, but that doesn't work yet.
Remains to be done:
- figure out why `isEmpty()` doesn't completely clean out the trash as expected which causes OS X to show the trash as full even after emptying the wastebin through KDE.
- determine in what cases `trashForMountPoint()` is used, and finish the modifications for it to use `/.Trashes/uid/KDE.trash`
Diffs (updated)
-----
kioslave/trash/trashimpl.h bc68723
kioslave/trash/trashimpl.cpp 30ee05b
Diff: https://git.reviewboard.kde.org/r/120573/diff/
Testing
-------
On OS X 10.6.8 with kdelibs and kde-runtime git/4.14, using Dolphin. Tested actions are
- move items to wastebin from $HOME and a directory on a different volume
- restore items to both places
- empty wastebin through Dolphin
- empty OS X trashcan
Thanks,
René J.V. Bertin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20141013/e18877e2/attachment.htm>
More information about the kde-core-devel
mailing list