LDP Howto ini menunjukkan cara mengubah judul xterm.
Saya tahu ini juga mungkin menggunakan xtitle
perintah.
Sebelum memohon tindakan yang sudah berjalan lama, skrip saya menggunakan teknik seperti itu untuk mengubah judul jendela xtermnya.
Saya ingin mengekstrak nama jendela xterm sebelum mengubahnya sehingga, setelah aksi jangka panjang selesai, saya dapat mengembalikan judul ke nilai sebelumnya.
Ini akan menjadi semacam kebalikan dari xtitle ... Apakah ini mungkin?
xterm
memiliki tumpukan untuk judul jendela, jika Anda dapat mengetahui cara menggunakannya.Jawaban:
Gunakan
xtitle
skrip.Ada banyak varian di internet, namun, saya cenderung menggunakan yang tergantung pada
xprop
http://www.shelldorado.com/scripts/cmds/xtitle
sumber
xtitle
artinya, hanya berfungsi untuk sesi lokal.Ada urutan kontrol untuk menanyakan judul saat ini, tetapi biasanya dinonaktifkan karena alasan keamanan. Itu karena memungkinkan program jahat atau bahkan hanya file teks catted untuk menyisipkan urutan karakter sewenang-wenang seolah-olah diketik pada keyboard, dengan terlebih dahulu mengatur judul dan kemudian meminta agar itu dilaporkan kembali. Oleh karena itu tumpukan judul diperkenalkan sebagai gantinya.
Perintah berikut akan menyimpan judul jendela dan ikon saat ini di tumpukan:
Ini akan mengatur judul menjadi
my title
:Dan ini akan mengembalikan judul jendela dan ikon sebelumnya:
sumber
Untuk yang sepele, (dan mungkin kasus yang paling umum), di mana orang mungkin ingin menanyakan prompt untuk xterm saat ini, cukup gunakan
xprop -id $WINDOWID WM_NAME
. Jika Anda ingin mengekstrak nilai untuk manipulasi dalam skrip shell, Anda dapat melakukan sesuatu yang sedikit lebih mahal seperti:Menggunakan bash saja (untuk menghindari doa awk dan xargs):
Xargs bergema di contoh pertama dan eval dalam contoh kedua ada di sana untuk menghilangkan tanda kutip yang xprop berikan di sekitar nilainya.
Ganti WM_NAME dengan WM_ICON jika Anda ingin mendapatkan nama ikon daripada string di bilah judul.
sumber
Jika saya memahami pertanyaan Anda dengan benar, Anda seharusnya bisa mendapatkan judul xterm saat ini dengan memeriksa
$PROMPT_COMMAND
variabel, misalnya:dan Anda dapat mengaturnya seperti (linebreak untuk keterbacaan):
sumber
PROMPT_COMMAND
bukan cara yang paling otoritatif untuk mendapatkan judul karena tidak selalu ditetapkan, dan perintah apa pun yang Anda jalankan dapat mengubah judul di antara prompt. Untuk yang paling akurat, urutan kontrol khusus emulator terminal mungkin adalah cara yang harus dilakukan.$PROMPT_COMMAND
bukan judul jendela. Mereka tidak berhubungan.