Saya perhatikan bahwa terkadang konten clipboard menjadi tidak tersedia jika aplikasi sumber (tempat konten itu disalin) ditutup.
Ini membuat saya bertanya-tanya apakah mungkin untuk mengetahui apa aplikasi sumber itu (misalnya, mungkin dengan PID).
Mengapa? Jika aplikasi sumber adalah terminal, saya ingin mencari direktori kerja terminal, jika konten yang disalin adalah jalur relatif, untuk membuat jalur lengkap ke file.
FYI, saya saat ini menggunakan xclip untuk menentukan konten clipboard, mis
xclip -selection primary -t STRING -o 2> /dev/null
XGetSelectionOwner(3)
memberi Anda id jendela pemilik pilihan. Dari mana Anda dapat berjalan di pohon jendela untuk mencoba dan menemukan jendela dengan properti _NET_WM_PID misalnyaxprop
( dengan asumsi jendela tersebut berasal dari klien lokal yang menetapkan properti itu).xwininfo -root -tree | less +/0x<that-id>
mungkin cukup untuk mengidentifikasi aplikasi.Jawaban:
Saya menulis alat yang mengembalikan nama aplikasi biasa (misalnya 'Terminal', 'gedit' atau 'SmartGit' yang merupakan yang saya uji). Sebagian besar kode dicuri tanpa malu-malu dari @ Harvey di sini .
sumber
gnome-terminal
mulai hanya sekali instance aplikasi per sesi, bukan satu instance per jendela terminal seperti terhormatxterm
. Mungkin itu sebabnya Anda melihat PID yang sama di semuanya? Untukgnome-terminal
Anda dulu dapat menonaktifkan misfeature dengan--disable-factory
(nama ganjil untuk opsi) tetapi tampaknya itu tidak mungkin lagi . Ngomong-ngomong, sepertinya Anda perlu pwd dari salah satu proses yang berjalan di dalam terminal, bukan dari dirinya sendiri.