File: map-all.scm

package info (click to toggle)
elk 3.99.8-2
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 5,004 kB
  • sloc: ansic: 22,294; lisp: 6,208; makefile: 821; sh: 171; awk: 154; cpp: 92
file content (18 lines) | stat: -rw-r--r-- 354 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
;;; -*-Scheme-*-
;;;
;;; Map all windows.

(require 'xlib)

(define (foreach-window root fun)
  (let ((l (vector->list (car (query-tree root)))))
    (for-each
      (lambda (w)
	(fun w)
	(foreach-window w fun))
      l)))

(let ((dpy (open-display)))
  (unwind-protect
    (foreach-window (display-root-window dpy) map-window)
    (close-display dpy)))