From 053761b58c70dc8037887341f03f9c575cbc2660 Mon Sep 17 00:00:00 2001 From: laki Date: Sat, 31 Jan 2026 17:44:21 +0000 Subject: Initial commit for thunar-copy-button --- README.md | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..91a9444 --- /dev/null +++ b/README.md @@ -0,0 +1,75 @@ +# Thunar "Copy Filename" Custom Action + +A simple Thunar Custom Action that adds a "Copy Filename" option to the right-click menu, allowing you to copy the full filename and extension of one or more selected files. + +This implementation uses a very simple Python script (~600 bytes) with GTK3 to handle the clipboard, making it compatible with systems that don't have `xclip` or `xsel` installed. + +## Where is Thunar located? + +- **Binary:** The Thunar executable is usually at `/usr/bin/thunar`. +- **Configuration:** Custom actions are stored in your user profile at `~/.config/Thunar/uca.xml`. +- **System Actions:** System-wide defaults are located at `/etc/xdg/Thunar/uca.xml`. + +This tool installs to your **user configuration** (`~/.config/Thunar/uca.xml`), which is where other custom actions are stored. To add other custom actions, you can either edit the XML or head to **Edit** --> **Configure custom actions**. + +## Installation Guide (Automatic) + +The easiest way to install or update the action is to use the provided `install.sh` script: + +```bash +cd ~/path-to-program +chmod +x install.sh +./install.sh +``` + +## Installation Guide (Manual) + +### 1. Prerequisites +Ensure you have Python 3 and the GObject Introspection libraries for GTK3 installed. On most Debian/Ubuntu-based systems, you can install them with: + +```bash +sudo apt update +sudo apt install python3 python3-gi gir1.2-gtk-3.0 +``` + +These dependencies are usually installed by default on your system. + +### 2. Download/Place the Script +Create a directory for the script and place `copy_filename.py` inside it. + +```bash +mkdir -p ~/.config/Thunar/ +# Move the script to this directory +``` + +### 3. Make the Script Executable +Ensure the script has execution permissions: + +```bash +chmod +x ~/.config/Thunar/copy_filename.py +``` + +### 4. Add the Custom Action to Thunar (Manual) +1. Open **Thunar**. +2. Go to **Edit** -> **Configure custom actions...**. +3. Click the **+** (plus) button to add a new action. +4. Fill in the **Basic** tab: + - **Name:** Copy Filename + - **Description:** Copy the filename and extension to clipboard + - **Command:** `/home/your-username/.config/Thunar/copy_filename.py %N` + *(Note: Replace `your-username` with your actual username)* + - **Icon:** `edit-copy` (or any icon you prefer) +5. Fill in the **Appearance Conditions** tab: + - **File Pattern:** `*` + - Check all the boxes (Directories, Audio files, Image files, etc.) to ensure it appears everywhere. +6. Click **OK** and then **Close**. + +### 5. Restart Thunar +You have to restart Thunar to get the action to appear: + +```bash +thunar -q +``` + +## How It Works +The `copy_filename.py` script takes the filenames passed by Thunar (via `%N`), joins them with newlines if multiple files are selected, and uses `Gtk.Clipboard` to store the text in the system clipboard. -- cgit v1.2.3-70-g09d2