Skip to content

Repository files navigation

rmw-0.10.0

Description

rmw (ReMove to Waste) is a safe-remove and restore utility for the command line. By default it uses your desktop's trash (the FreeDesktop.org Trash specification) and needs no setup, though you can add your own waste folders. It can also purge items after a set number of days.

Web site: https://theimpossibleastronaut.github.io/rmw-website/

codeql-badge c-cpp-badge

rmw is for people who sometimes use rm or rmdir at the command line and would occasionally like an alternative choice. It's not intended or designed to act as a replacement for rm, as it's more closely related to how the FreeDesktop.org trash system functions.

Features and Usage

See the manual on the website

Screenshots

See the Screenshots page on the website.

Contact / Support

Installation

rmw is available in the homebrew and linuxbrew repositories; or there may may be a binary package available for your OS. You can view a list at Repology to see in which repositories rmw is included. Since v0.7.09, x86_64 AppImages are available.

AppImages and maintainer-created amd64 Debian packages are available in the releases section.

Installing from source

Dependencies

  • glib2
  • libncursesw (ncurses-devel on some systems, such as CentOS)
  • gettext (or use '-Dnls=false' when configuring with meson if you only need English language support)

If you're building from source, you will need the libncursesw(5 or 6)-dev package from your operating system distribution. On some systems just the ncurses packages is needed, and it's often already installed.

Linux only

  • linux-headers

linux/fs.h from the headers package is required for btrfs/bcachefs reflink support. meson setup will fail if the header is missing. To bypass the check and exclude support (which is only necessary if you want rmw to be able to move files between subvolumes) add

-Dwith-reflink=false

to the meson setup options.

Compiling

As a normal user:

(This examples places the generated files to a separate folder, but you can run 'configure' from any directory you like.)

meson setup builddir
cd builddir
ninja

Use meson configure in the build dir to view or change available options.

Installing without superuser privileges

If you would like to install rmw without superuser privileges, use a prefix that you have write access to. Example:

meson setup -Dprefix=$HOME/.local builddir

or while in the build dir

meson configure -Dprefix=$HOME/.local

To install:

meson install

In the example above, the rmw binary will be installed to $HOME/.local/bin and documentation to $HOME/.local/doc.

Uninstall

ninja uninstall (uninstalls the program if installed with 'ninja install`)

Docker

see the Docker README