Skip to content

v1.0.0 - Initial Release of rwx

Choose a tag to compare

@vncsmnl vncsmnl released this 18 Jul 16:53

Interactive File Permissions TUI Manager

I'm excited to announce the initial release of rwx, a modern, interactive terminal-based file permissions manager written in Rust.

rwx provides a beautiful and efficient Terminal User Interface (TUI) to inspect, modify, and manage file/directory permissions, ownership, and special bits in real-time, eliminating the need to memorize complex chmod and chown flags.

🚀 Features

  • 📂 Interactive File Browser: Navigate your local filesystem with standard terminal keybindings, inspect metadata (such as sizes and types), and select files/directories directly for editing.
  • 🛡️ Full Permission Editor: Easily toggle Read (r), Write (w), and Execute (x) permissions for:
    • Owner
    • Group
    • Others
  • ⚙️ Special Permission Bits Support: Full support for setting/unsetting:
    • SetUID (Set User ID on execution)
    • SetGID (Set Group ID on execution)
    • Sticky Bit
  • 🔢 Direct Octal Input: Edit permissions dynamically using direct octal code entry (e.g. typing 0755 or 1777 directly updates the interface).
  • 👤 Owner & Group Management: Directly edit file/directory owner and group names via input fields.
  • 🔁 Recursive Mode: Apply changes recursively to directories and their contents.
  • 💻 CLI Arguments: Open a specific target path directly from the command line (rwx <path>), with optional recursive application flag (-R / --recursive).
  • 🛡️ Terminal Restoration: Safe crash protection restores your terminal state if the application encounters an error.

⌨️ Controls & Keybindings

File Browser Mode

  • j / Down Arrow — Move cursor down
  • k / Up Arrow — Move cursor up
  • Enter — Open selected directory or file
  • s / S — Open the current directory itself in the editor
  • q / Esc — Quit rwx

Permission Editor Mode

  • h / l / j / k / Arrows — Move focus between elements (checkboxes, inputs, buttons)
  • Space / Enter — Toggle selected permission checkbox / Click active button
  • Tab / BackTab — Cycle focus forward/backward
  • b / B / Backspace — Return to File Browser
  • a / A — Apply changes immediately
  • q / Esc — Quit rwx (if input is focused, Esc returns focus to checkboxes)

📦 Installation

To build and run rwx from source:

  1. Clone the repository:
    git clone https://github.com/vncsmnl/rwx.git
    cd rwx
  2. Build the release binary:
    cargo build --release
  3. Run the binary:
    ./target/release/rwx [path]
  4. Copy to PATH
    sudo cp ./target/release/rwx ~/.local/bin/rwx
  5. Run the binary:
    rwx [path]