[sawfish/viewport] Revert "Bug fixes and doc improvements:"
- From: Christopher Bratusek <chrisb src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [sawfish/viewport] Revert "Bug fixes and doc improvements:"
- Date: Thu, 12 Nov 2009 20:19:43 +0000 (UTC)
commit b31e03676be023c1891f612192ded7c3f3cb43c4
Author: Christopher Roy Bratusek <chris nanolx org>
Date: Thu Nov 12 21:17:34 2009 +0100
Revert "Bug fixes and doc improvements:"
This reverts commit 52f6a8f667c6d5a354b13ba66d84624fe9456cc5.
ChangeLog | 15 ---
lisp/sawfish/wm/ext/infinite-desktop.jl | 14 ++-
lisp/sawfish/wm/state/maximize.jl | 22 ++--
lisp/sawfish/wm/util/compat.jl | 3 +-
lisp/sawfish/wm/util/rects.jl | 10 +-
lisp/sawfish/wm/util/workarea.jl | 24 ++--
lisp/sawfish/wm/viewport.jl | 94 +--------------
man/news.texi | 4 +-
man/sawfish.texi | 190 +------------------------------
9 files changed, 45 insertions(+), 331 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index ee6e2e1..e9618f8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,18 +1,3 @@
-2009-10-21 Jeremy Hankins <nowan nowan org>
- * lisp/sawfish/wm/state/maximize.jl
- * lisp/sawfish/wm/util/compat.jl
- * lisp/sawfish/wm/util/rects.jl
- * lisp/sawfish/wm/util/workarea.jl
- * lisp/sawfish/wm/viewport.jl
- * man/news.texi: Fix bugs introduced by the recent changes to allow maximization outside of the current viewport:
- - viewport-window now gives the viewport where most of the window is located.
- - A few new functions for working with rectangles.
-
- * lisp/sawfish/wm/ext/infinite-desktop.jl: infinite-desktop now checks viewport-honor-workspace-edges
- (in sawfish.wm.viewport) before allowing movement past workspace boundaries.
-
- * man/sawfish.texi: Adjustments to viewport docs; new docs for sawfish.wm.util.rects.
-
2009-10-11 Jeremy Hankins <nowan nowan org>
* lisp/sawfish/wm/ext/match-window.jl
* lisp/sawfish/wm/state/maximize.jl
diff --git a/lisp/sawfish/wm/ext/infinite-desktop.jl b/lisp/sawfish/wm/ext/infinite-desktop.jl
index ea3fcb6..8f09b0d 100644
--- a/lisp/sawfish/wm/ext/infinite-desktop.jl
+++ b/lisp/sawfish/wm/ext/infinite-desktop.jl
@@ -65,6 +65,12 @@
:type number
:range (1 . nil))
+ (define (infinite-desktop.stop-at-workspace-borders)
+ "Whether or not to prevent the display from moving past the
+current viewport boundaries. Returns true if `viewport-boundary-mode'
+is not set to 'dynamic."
+ (not (eq viewport-boundary-mode 'dynamic)))
+
(define (infinite-desktop.move-right)
"Shifts the display `infinite-desktop.move-distance' pixels to the
right."
@@ -72,7 +78,7 @@ right."
(cdist infinite-desktop.move-cursor-distance)
(maxx (* (screen-width) (1- (car viewport-dimensions)))))
(if
- (and (viewport-honor-workspace-edges)
+ (and (infinite-desktop.stop-at-workspace-borders)
(> (+ dist viewport-x-offset) maxx))
(setq dist (- maxx viewport-x-offset)))
(set-viewport (+ viewport-x-offset dist) viewport-y-offset)
@@ -85,7 +91,7 @@ left."
(cdist (- infinite-desktop.move-cursor-distance))
(minx 0))
(if
- (and (viewport-honor-workspace-edges)
+ (and (infinite-desktop.stop-at-workspace-borders)
(< (+ viewport-x-offset dist) minx))
(setq dist (- minx viewport-x-offset)))
(set-viewport (+ viewport-x-offset dist) viewport-y-offset)
@@ -97,7 +103,7 @@ left."
(cdist (- infinite-desktop.move-cursor-distance))
(miny 0))
(if
- (and (viewport-honor-workspace-edges)
+ (and (infinite-desktop.stop-at-workspace-borders)
(< (+ viewport-y-offset dist) miny))
(setq dist (- miny viewport-y-offset)))
(set-viewport viewport-x-offset (+ viewport-y-offset dist))
@@ -109,7 +115,7 @@ left."
(cdist infinite-desktop.move-cursor-distance)
(maxy (* (screen-height) (1- (cdr viewport-dimensions)))))
(if
- (and (viewport-honor-workspace-edges)
+ (and (infinite-desktop.stop-at-workspace-borders)
(> (+ dist viewport-y-offset) maxy))
(setq dist (- maxy viewport-y-offset)))
(set-viewport viewport-x-offset (+ viewport-y-offset dist))
diff --git a/lisp/sawfish/wm/state/maximize.jl b/lisp/sawfish/wm/state/maximize.jl
index 63e547b..b6c98a0 100644
--- a/lisp/sawfish/wm/state/maximize.jl
+++ b/lisp/sawfish/wm/state/maximize.jl
@@ -226,9 +226,8 @@ that dimension.")
(cons perp-1 perp-2)))))
(define (do-horizontal w edges coords dims fdims)
- (let* ((head (window-head-any-viewport w))
- (head-offset (head-offset head))
- (head-dims (head-dimensions head)))
+ (let ((head-offset (current-head-offset w))
+ (head-dims (current-head-dimensions w)))
(let ((x-span (expand-edges (cdr coords) (+ (cdr coords) (cdr fdims))
(car head-offset)
(+ (car head-offset) (car head-dims))
@@ -240,9 +239,8 @@ that dimension.")
w)))
(define (do-vertical w edges coords dims fdims)
- (let* ((head (window-head-any-viewport w))
- (head-offset (head-offset head))
- (head-dims (head-dimensions head)))
+ (let ((head-offset (current-head-offset w))
+ (head-dims (current-head-dimensions w)))
(let ((y-span (expand-edges (car coords) (+ (car coords) (car fdims))
(cdr head-offset)
(+ (cdr head-offset) (cdr head-dims))
@@ -257,9 +255,7 @@ that dimension.")
(define (do-both window avoided edges coords dims fdims)
(let ((max-rect (largest-rectangle-from-edges
- edges
- #:avoided avoided
- #:head (window-head-any-viewport window))))
+ edges #:avoided avoided #:head (current-head window))))
(when max-rect
(rplaca coords (nth 0 max-rect))
(rplacd coords (nth 1 max-rect))
@@ -347,8 +343,10 @@ that dimension.")
(when (window-maximized-fullscreen-p w)
(maximize-window-fullscreen w nil))
(let* ((viewport (window-viewport w))
+ (vp-offset (viewport-offset viewport))
(coords (window-position w))
- (head (window-head-any-viewport w))
+ (head (find-head (- (car coords) (car vp-offset))
+ (- (cdr coords) (cdr vp-offset))))
(dims (window-dimensions w))
(fdims (window-frame-dimensions w))
(hints (window-size-hints w))
@@ -534,7 +532,9 @@ unmaximized."
(when (window-maximizable-p w)
(let* ((viewport (window-viewport w))
(vp-offset (viewport-offset viewport))
- (head (window-head-any-viewport w))
+ (coords (window-position w))
+ (head (find-head (- (car coords) (car vp-offset))
+ (- (cdr coords) (cdr vp-offset))))
(head-offset (head-offset head))
(head-dims (head-dimensions head)))
(save-unmaximized-geometry w)
diff --git a/lisp/sawfish/wm/util/compat.jl b/lisp/sawfish/wm/util/compat.jl
index b979c34..a190cbe 100644
--- a/lisp/sawfish/wm/util/compat.jl
+++ b/lisp/sawfish/wm/util/compat.jl
@@ -117,8 +117,7 @@
nokogiri-user-level nokogiri-buttons workspace-boundary-mode
workspace-send-boundary-mode lock-first-workspace
ignore-window-input-hint workspace-geometry
- pointer-motion-threshold ignore-program-positions
- infinite-desktop.stop-at-workspace-borders))
+ pointer-motion-threshold ignore-program-positions))
;;; obsolete custom setters
diff --git a/lisp/sawfish/wm/util/rects.jl b/lisp/sawfish/wm/util/rects.jl
index 89c1a60..3ec8777 100644
--- a/lisp/sawfish/wm/util/rects.jl
+++ b/lisp/sawfish/wm/util/rects.jl
@@ -36,7 +36,6 @@
rect-2d-overlap
rect-2d-overlap*
rect-total-overlap
- rect-wholly-within-rect
rect-wholly-visible-p
rectangle-heads)
@@ -267,20 +266,17 @@ dimensions DIMS and origin POINT, while the other is defined by RECT."
(define (rect-total-overlap dims point rects)
"Returns the total area of the overlap between a rectangle defined by
DIMS and POINT, and the list of rectangles RECTS when placed at POINT."
+
(let ((total 0))
(mapc (lambda (r)
(setq total (+ total (rect-2d-overlap dims point r))))
rects)
total))
- (define (rect-wholly-within-rect outer inner)
- "Return t if INNER is completely inside the boundaries of OUTER."
- (eq (rect-obscured inner outer) 'fully-obscured))
-
(define (rect-wholly-visible-p rect)
"Return t if RECT is completely inside the screen boundaries."
- (rect-wholly-within-rect (list 0 0 (screen-width) (screen-height))
- rect))
+ (and (>= (car rect) 0) (>= (nth 1 rect) 0)
+ (<= (nth 2 rect) (screen-width)) (<= (nth 3 rect) (screen-height))))
(define (rectangle-heads rect)
"Return the number of screen heads that rectangle RECT appears on."
diff --git a/lisp/sawfish/wm/util/workarea.jl b/lisp/sawfish/wm/util/workarea.jl
index 16edfc0..b1a15c9 100644
--- a/lisp/sawfish/wm/util/workarea.jl
+++ b/lisp/sawfish/wm/util/workarea.jl
@@ -33,7 +33,6 @@
sawfish.wm.util.rects
sawfish.wm.windows
sawfish.wm.workspace
- sawfish.wm.viewport
sawfish.wm.misc)
(define (define-window-strut w left top right bottom)
@@ -67,30 +66,29 @@
;; or span multiple heads, or be on a different head
;; to that requested
(let loop ((rest avoided))
- (cond ((null rest) (rect-within-head-p rect head))
- ((> (rect-2d-overlap
- (window-frame-dimensions (car rest))
- (window-position (car rest))
- rect)
- 0)
+ (cond ((null rest) t)
+ ((or (> (rect-2d-overlap
+ (window-frame-dimensions (car rest))
+ (window-position (car rest))
+ rect) 0)
+ (/= (rectangle-heads rect) 1)
+ (and head (/= head (find-head (car rect) (cadr rect)))))
nil)
(t (loop (cdr rest))))))
(let* ((grid (grid-from-edges (car edges) (cdr edges)))
;; find all possible rectangles
- (rects (rectangles-from-grid (sort (car grid))
- (sort (cdr grid))
- pred)))
+ (rects (rectangles-from-grid
+ (sort (car grid)) (sort (cdr grid)) pred)))
;; return the largest
(let ((max-area 0)
(max-rect nil))
(mapc (lambda (rect)
- (when (and (rect-within-viewport-p rect)
+ (when (and (rect-wholly-visible-p rect)
(> (rectangle-area rect) max-area))
(setq max-area (rectangle-area rect))
- (setq max-rect rect)))
- rects)
+ (setq max-rect rect))) rects)
max-rect)))
(define (calculate-workarea #!key window head)
diff --git a/lisp/sawfish/wm/viewport.jl b/lisp/sawfish/wm/viewport.jl
index 68aa6d4..77c0909 100644
--- a/lisp/sawfish/wm/viewport.jl
+++ b/lisp/sawfish/wm/viewport.jl
@@ -31,17 +31,12 @@
move-window-to-current-viewport
set-window-viewport
move-window-viewport
- viewport-at
window-viewport
viewport-offset
window-relative-position
window-absolute-position
set-number-of-viewports
- rect-within-viewport-p
- rect-within-head-p
- window-head-any-viewport
viewport-minimum-size-changed
- viewport-honor-workspace-edges
viewport-windows)
(open rep
@@ -52,7 +47,6 @@
sawfish.wm.commands
sawfish.wm.workspace
sawfish.wm.custom
- sawfish.wm.util.rects
sawfish.wm.session.init)
;; Virtual workspaces are implemented by moving windows in and out of
@@ -97,12 +91,6 @@
(defvar viewport-x-offset 0)
(defvar viewport-y-offset 0)
- (define (viewport-honor-workspace-edges)
- "Whether or not to prevent the display from moving past the
-current viewport boundaries. Returns true if `viewport-boundary-mode'
-is not set to 'dynamic."
- (not (eq viewport-boundary-mode 'dynamic)))
-
(define (warp-viewport x y)
"Change view by incrementing the coordinates of the x,y position."
(define (move-window w)
@@ -336,7 +324,7 @@ viewport."
(<= (+ (cdr pos) (cdr dims)) top))))
(define (window-outside-viewport-p window #!optional viewport)
- "True if no part of `window' is inside the current viewport. If
+ "True if some part of `window' is inside the current viewport. If
`viewport' is specified check against that viewport rather than the
current one."
(let* ((cur-vp (screen-viewport))
@@ -351,7 +339,7 @@ current one."
(* (- (cdr viewport) (cdr cur-vp))
height)
0))
- (y-max (+ y-min height))
+ (y-max (+ y-min width))
(pos (window-position window))
(dims (window-frame-dimensions window)))
(or (<= (+ (car pos) (car dims)) x-min)
@@ -384,82 +372,12 @@ current one."
(+ (quotient (+ (cdr pos) viewport-y-offset)
(screen-height)) row))))
- (define (viewport-at x y)
- "Returns a cons cell consisting of the column and row of the
-viewport containing the specified coordinates."
- (let ((x (+ x viewport-x-offset))
- (y (+ y viewport-y-offset)))
- ;; If x or y is negative the viewport must be adjusted by one.
- (cons (- (quotient x (screen-width))
- (if (< x 0)
- 1
- 0))
- (- (quotient y (screen-height))
- (if (< y 0)
- 1
- 0)))))
-
(define (window-viewport w)
"Returns a cons cell consisting of the column and row of the
-viewport containing (or mostly containing) `w'."
- (let* ((pos (window-position w))
- (dims (window-dimensions w)))
- (viewport-at (+ (car pos) (quotient (car dims) 2))
- (+ (cdr pos) (quotient (cdr dims) 2)))))
-
- ;; From sawfish.wm.util.rects:
- ;; A rectangle is (LEFT TOP RIGHT BOTTOM [WEIGHT])
- ;; The left and top edges are considered part of the rectangle,
- ;; the right and bottom edges are not.
-
- (define (rect-within-viewport-p rect #!optional viewport)
- "Return t if `rect' is entirely inside the screen boundaries for
-some viewport, regardless of whether it is the current viewport, or
-even if the viewport currently exists. If `viewport' is specified
-check only against that viewport."
- (let ((vp (viewport-at (car rect) (nth 1 rect))))
- (when (or (null viewport) (equal vp viewport))
- (let ((offset (viewport-offset vp)))
- (rect-wholly-within-rect (list (car offset)
- (cdr offset)
- (+ (car offset) (screen-width))
- (+ (cdr offset) (screen-height)))
- rect)))))
-
- ;; The next two functions should perhaps go in a "heads" module if
- ;; there were one. But what makes them interesting is that they
- ;; must account for viewports, which is why I put them here.
-
- (define (rect-within-head-p rect #!optional head)
- "Return t if `rect' is entirely within some head on some
-viewport. If `head' is provided `rect' must be within that head on
-some viewport."
- (let* ((offset (viewport-offset (viewport-at (car rect)
- (nth 1 rect))))
- (left (- (car rect) (car offset)))
- (top (- (nth 1 rect) (cdr offset)))
- (right (- (nth 2 rect) (car offset)))
- (bottom (- (nth 3 rect) (cdr offset)))
- (head (or head (find-head left top)))
- (head-pos (head-offset head))
- (head-dims (head-dimensions head)))
- (rect-wholly-within-rect (list (car head-pos)
- (cdr head-pos)
- (+ (car head-pos) (car head-dims))
- (+ (cdr head-pos) (cdr head-dims)))
- (list left top right bottom))))
-
- (define (window-head-any-viewport w)
- "Return the id of the head that would contain `w', if the viewport
-`w' occupies were visible."
- (let* ((coords (window-position w))
- (dims (window-dimensions w))
- (center (cons (+ (car coords) (quotient (car dims) 2))
- (+ (cdr coords) (quotient (cdr dims) 2))))
- (vp-offset (viewport-offset (viewport-at (car center)
- (cdr center)))))
- (find-head (- (car center) (car vp-offset))
- (- (cdr center) (cdr vp-offset)))))
+viewport containing w."
+ (let ((position (window-position w)))
+ (cons (quotient (+ (car position) viewport-x-offset) (screen-width))
+ (quotient (+ (cdr position) viewport-y-offset) (screen-height)))))
(define (viewport-offset vp)
"`vp' is (column . row) of a viewport (whether or not that
diff --git a/man/news.texi b/man/news.texi
index dab6bcc..d6bb389 100644
--- a/man/news.texi
+++ b/man/news.texi
@@ -32,9 +32,7 @@ they occurred between. For more detailed information see the
@item In @code{infinite-desktop} there is no longer any option to
prevent the viewport from going beyond the edge of the workspace.
Instead it is prevented if and only if @code{viewport-boundary-mode} is
-not set to @code{'dynamic}. This means that the default behavior is now
-to stop at workspace boundaries; to acheive the previous behavior set
- code{viewport-boundary-mode} to @code{'dynamic}.
+not set to @code{'dynamic}.
@item Sawfish now got an implementation of the FDO (freedesktop.org) application menu, it is
beeing generated, if there's no customized apps-menu
diff --git a/man/sawfish.texi b/man/sawfish.texi
index 0f366ba..d69702b 100644
--- a/man/sawfish.texi
+++ b/man/sawfish.texi
@@ -3949,19 +3949,6 @@ specified by @code{viewport-minimum-dimensions}. Defaults to
@code{wrap-around}.
@end defvar
- defun viewport-honor-workspace-edges
-Whether or not the display is permitted to move past the current
-viewport boundaries. It returns true if @code{viewport-boundary-mode}
-is not set to @code{dynamic}.
- end defun
-
- defun viewport-at x y
-Returns a cons cell consisting of @code{(column . row)} of the viewport
-containing the specified @code{x} and @code{y} coordinates. The
-coordinates are specified relative to the current viewport, so
- code{(viewport-at 0 0)} is equivalent to @code{(screen-viewport)}.
- end defun
-
@defun warp-viewport x y
Change the position of the physical display, such that location
@code{(@var{x}, @var{y})} is at the top-left of the display. The
@@ -4513,13 +4500,6 @@ window. If @var{window} is supplied and @var{nil}, return
@code{(pointer-head)}.
@end defun
- defun window-head-any-viewport window
-Like @code{current-head}, this will return the ID of the heand
-containing the specified window. But unlike @code{current-head},
- code{window-head-any-viewport} returns the head that the window would
-be in if its viewport were the visible viewport.
- end defun
-
@defun current-head-dimensions &optional window
Return a cons-cell defining the size in pixels of the current head
(that containing the window @var{window}, or the pointer if
@@ -5550,7 +5530,6 @@ Returns the number of X events waiting to be handled.
* Pointer Functions::
* Grab Functions::
* Display Functions::
-* Rectangle Functions::
* Gradient Functions::
* Other Functions::
@end menu
@@ -5725,7 +5704,7 @@ called.
@end defun
- node Display Functions, Rectangle Functions, Grab Functions, Miscellaneous Functions
+ node Display Functions, Gradient Functions, Grab Functions, Miscellaneous Functions
@section Display Functions
@cindex Display functions
@cindex Functions, display
@@ -5809,172 +5788,7 @@ has the input focus.
@end defun
- node Rectangle Functions, Gradient Functions, Display Functions, Miscellaneous Functions
- section Rectangle Functions
- cindex Rectangle functions
- cindex Functions, rectangle
-
-Rectangles define a region of the display. A rectangle is a list of
-values: @code{(left top right bottom [weight])}. @code{left} and
- code{top} are the @code{x} and @code{y} coordinates of the upper left
-corner, @code{right} and @code{bottom} are the coordinates for the lower
-right corner. @code{weight} is an integer. The bulk of the rectangle
-management functions are in sawfish.wm.util.rects.
-
- defun rect-left rect
-The x-axis value of the left side of the rectangle. Equivalent to
- code{car}
- end defun
-
- defun rect-top rect
-The y-axis value of the top of the rectangle. Equivalent to
- code{cadr}
- end defun
-
- defun rect-right rect
-The x-axis value of the right side of the rectangle. Equivalent to
- code{caddr}
- end defun
-
- defun rect-bottom rect
-The y-axis value of the bottom of the rectangle. Equivalent to
- code{cadddr}
- end defun
-
- defun rect-obscured r by
-Check whether the rectangle @code{r} is wholly or partially contained in
-rectangle @code{by}. Returns one of the symbols @code{unobscured},
- code{partially-obscured}, or @code{fully-obscured}.
- end defun
-
- defun rect-minus r s &optional tail
-Return a list of rectangles whose union is the part of rectangle
- code{r} not contained in rectangle @code{s}. If @code{tail} is given,
-the result is prepended to it.
- end defun
-
- defun rectangles-from-grid x-points y-poinst &optional pred
-The two lists of integers @code{x-points} and @code{y-points} define a
-rectangular grid. Return the complete list of rectangles formed by the
-intersections of the grid.
-
-If @code{pred} is defined it is called for each rectangle and only those
-for which it returns @code{t} are added to the returned list.
-
-Assumes that @code{x-points} and @code{y-points} are both sorted
-smallest->largest.
- end defun
-
- defun rectangles-from-windows windows &optional weight-fun
-Returns a list of rectangle objects representing the list of window
-objects @code{windows}.
-
-If @code{weight-fun} is defined, it is a function to call on each window
-to return the weight for that window. If not defined, the window's
- code{weight} property is used instead.
- end defun
-
- defun grid-from-rectangles rects &optional with-root
-Given a list of rectangles @code{rects} return a cons cell
- code{(x-points . y-points)} defining the grid they represent.
-
-If @code{with-root} is non-nil, then add the root window boundaries to
-the grid.
- end defun
-
- defun rectangle-area rect
-Returns the area of the specified rectangle.
- end defun
-
- defun rectangle-from-coords point dims
-Return the rectangle object with origin @code{point} and dimensions
- code{dims}
- end defun
-
- defun rectangle-corners
-Return a list of four cons cells representing the coordinates of the
-corners of the rectangle @code{rect}.
- end defun
-
- defun rectangle-center rect
-Returns a cons cell of the (approximate, to the nearest integer)
-coordinates of the center of the rectangle @code{rect}.
- end defun
-
- defun rectangle-center* point dims
-The same as @code{rectangle-center} except that the rectangle is
-specified via the x,y coordinates @code{point} and the dimensions
- code{dims}
- end defun
-
- defun rectangle-union rect1 rect2
-Gives the smallest rectangle containing both @code{rect1} and
- code{rect2} The weight of the resulting rectangle is the weight of
- code{rect1}
- end defun
-
- defun rectangle-intersection rect1 rect2
-Gives the intersection of the two rectangles @code{rect1} and
- code{rect2} The weigth of the resultant rectangle is the weight of
- code{rect1} Returns @code{nil} if there the two rectangles do not
-intersect.
- end defun
-
- defun rect-1d-overlap a-1 a-2 b-1 b-2
- code{a-1} to @code{a-2} indicates one line segment and @code{b-1} to
- code{b-2} indicates another. Returns the overlap between the two line
-segments.
- end defun
-
- defun rect-2d-overlap dims point rect
-Returns the overlap between two rectangles, one with dimensions
- code{dims} and upper-left corner at @code{point}; the other is defined
-by @code{rect}.
- end defun
-
- defun rect-2d-overlap* rect1 rect2
-Like @code{rect-2d-overlap}, except that the rectangles are
- code{rect1} and @code{rect2}.
- end defun
-
- defun rect-total-overlap dims point rects
-Returns the total area of the overlap between a rectangle defined by
- code{dims} and @code{point}, and the list of rectangles @code{rects}
-when placed at @code{point}.
- end defun
-
- defun rect-wholly-within-rect outer inner
-Returns @code{t} if @code{inner} is completely within the boundaries of
- code{outer}
- end defun
-
- defun rect-wholly-visible-p
-Returns @code{t} if @code{rect} is completely inside the screen
-boundaries.
- end defun
-
- defun rectangle-heads
-Returns the number of screen heads that the rectangle @code{rect}
-appears on.
- end defun
-
-These functions are found in sawfish.wm.viewport:
-
- defun rect-within-viewport-p rect &optional viewport
-Return @code{t} if @code{rect} is entirely inside the screen boundaries
-for some viewport, regardless of whether it is the current viewport, or
-even if the viewport currently exists. If @code{viewport} is specified
-check only against that viewport.
- end defun
-
- defun rect-within-head-p rect &optional head
-Return @code{t} if @code{rect} is entirely within some head on some
-viewport. If @code{head} is provided @code{rect} must be within that
-head on some viewport.
- end defun
-
-
- node Gradient Functions, Other Functions, Rectangle Functions, Miscellaneous Functions
+ node Gradient Functions, Other Functions, Display Functions, Miscellaneous Functions
@section Gradient Functions
@cindex Gradient functions
@cindex Functions, gradients
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]