diff options
| author | laki <mail@lakiweb.net> | 2026-01-31 17:44:21 +0000 |
|---|---|---|
| committer | laki <mail@lakiweb.net> | 2026-01-31 17:44:21 +0000 |
| commit | 053761b58c70dc8037887341f03f9c575cbc2660 (patch) | |
| tree | f778ef7e3e35354a9587be8e88cd37ae87278a67 /copy_filename.py | |
| download | thunar-copy-button-053761b58c70dc8037887341f03f9c575cbc2660.tar.gz thunar-copy-button-053761b58c70dc8037887341f03f9c575cbc2660.tar.bz2 thunar-copy-button-053761b58c70dc8037887341f03f9c575cbc2660.zip | |
Initial commit for thunar-copy-button
Diffstat (limited to 'copy_filename.py')
| -rwxr-xr-x | copy_filename.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/copy_filename.py b/copy_filename.py new file mode 100755 index 0000000..15265e5 --- /dev/null +++ b/copy_filename.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 +# +# Copy Filename Thunar Plugin +# Copyright (C) 2026 laki +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + +import sys +import gi +gi.require_version('Gtk', '3.0') +from gi.repository import Gtk, Gdk + +def copy_to_clipboard(text): + clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) + clipboard.set_text(text, -1) + clipboard.store() + # Briefly wait to ensure the clipboard is set + Gtk.main_iteration_do(False) + +if __name__ == "__main__": + if len(sys.argv) < 2: + sys.exit(0) + + # sys.argv[1:] contains the filenames + # Thunar's %N passess them as separate arguments + filenames = "\n".join(sys.argv[1:]) + copy_to_clipboard(filenames) |
