Skip to content

theimpossibleastronaut/rmw

Repository files navigation

rmw-0.9.4-dev

Description

rmw (ReMove to Waste) is a trashcan/recycle bin utility for the command line. It can move and restore files to and from directories specified in a configuration file, and can also be integrated with your regular desktop trash folder (if your desktop environment uses the FreeDesktop.org Trash specification). One of the unique features of rmw is the ability to purge items from your waste (or trash) directories after x 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

  • 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/btrfs.h from the headers package is required for btrfs clone support. meson setup will fail if the header is missing. To bypass the check and exclude support for for btrfs (which is not needed for btrfs normally, but needed if you want to use rmw for rmw'ing files across btrfs root and subvolumes), add

-Dwant_btrfs_clone=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