Sama seperti pertanyaan yang dinyatakan, saya ingin fungsi yang akan menghitung jendela yang saat ini ditampilkan dalam bingkai itu.
Jadi ini:
+--------------+-------------+
| | |
| | |
| *scratch* | *Messages* |
| | |
| | |
| | |
+--------------+-------------+
| *Help* |
| |
+----------------------------+
Akan kembali => 3
Saya memulai fungsi di bawah ini:
(defun count-windows ()
"Count how many buffers are currently being shown."
(interactive)
)
*scratch*
, apakah Anda ingin fungsi mengembalikan 3 atau 2?count-windows
).Jawaban:
Jika Anda bermaksud jumlah jendela terlepas dari buffer yang ditampilkan, maka:
(length (window-list))
akan melakukannya. Lebih baik lagi, Anda bisa menggunakan(count-windows)
fungsi yang ada .Jika Anda ingin menghitung jumlah buffer unik yang terlihat di jendela pada bingkai, maka Anda dapat menggunakan:
(Catatan yang
window-list
juga dapat mengambil argumen FRAME opsional jika Anda menginginkan sesuatu selain bingkai yang dipilih.)Membungkus yang terakhir dalam panggilan fungsi Anda akan memberi Anda:
(Perhatikan bahwa fungsi ini mengasumsikan Anda telah memuat
'cl-lib
. Sesuai komentar, Anda dapat menggunakannyadelete-dups
sebagai pengganticl-delete-duplicates
jika Anda ingin menghindaricl-lib
.)sumber
cl-delete-duplicates
kebutuhan harus dibuat tersedia olehrequire
ingcl
.'cl-lib
?delete-dups
itu juga akan berfungsi, dan tidak memerlukan 'cl-lib.