(or in-current-root child-current-root-p)))))
(hidden-child-p (rect)
- (dolist (r displayed-child)
- (when (and (rect-hidden-p r rect)
- (or (not (xlib:window-p (child-rect-child r)))
- (eq (window-type (child-rect-child r)) :normal)))
- (return t))))
+ (when (member (window-type (child-rect-child rect)) *show-hide-policy-type*)
+ (dolist (r displayed-child)
+ (when (and (rect-hidden-p r rect)
+ (or (not (xlib:window-p (child-rect-child r)))
+ (eq (window-type (child-rect-child r)) :normal)))
+ (return t)))))
(select-and-display (child parent selected-p)
(multiple-value-bind (nx ny nw nh)
'<': Hide only children less than children above.
'<=': Hide children less or equal to children above (better for performance on slow machine).")
+(defconfig *show-hide-policy-type* '(:normal)
+ nil "Windows types which are optimized by the show hide policy")
+
(defstruct child-rect child parent selected-p x y w h)
(defstruct root child original current-child x y w h)