Justo como decía la pregunta, me gustaría una función que contara las ventanas que se muestran actualmente en ese marco.
Así que esto:
+--------------+-------------+
| | |
| | |
| *scratch* | *Messages* |
| | |
| | |
| | |
+--------------+-------------+
| *Help* |
| |
+----------------------------+
Volvería => 3
Comencé una función a continuación:
(defun count-windows ()
"Count how many buffers are currently being shown."
(interactive)
)

*scratch*, ¿le gustaría que la función devuelva 3 o 2?count-windows).Respuestas:
Si te refieres a la cantidad de ventanas independientemente de los buffers que se muestran, entonces:
(length (window-list))lo hará. Mejor aún, puede usar la(count-windows)función existente .Si desea contar el número de buffers únicos visibles en las ventanas del marco, puede usar:
(Tenga en cuenta que
window-listtambién puede tomar un argumento FRAME opcional si desea algo diferente al marco seleccionado).Si envuelve este último en su llamada de función, obtendrá:
(Tenga en cuenta que esta función asume que ha cargado
'cl-lib. Según los comentarios, puede usarlodelete-dupsen lugar decl-delete-duplicatessi desea evitarlocl-lib).fuente
cl-delete-duplicatesdebe estar disponible porrequireingcl.'cl-lib?delete-dupsque también funcionaría, y no requiere 'cl-lib.