Re: Re: [IMPORTANT] Docs decision



Thanks a lot for your efforts Derek.

commited to trunk,
Chris

----- original Nachricht --------

Betreff: Re: [IMPORTANT] Docs decision
Gesendet: Di 17 Feb 2009 07:41:57 CET
Von: sand blarg net

> Here's a patch against 1.3.5.1 sawfish.texi for the following
> patches.  (I happened to grab 1.3.5.1 from Sourceforge; I don't
> anticipate problems applying it to 1.5.0.)  The patch
> itself is attached to the bottom.  I split the Viewports node up into
> sub-nodes.
> 
> Derek
> 
> [1.3.4]
> 
>   http://sawfish.wikia.com/wiki/Cycle-hook
> 
>     Looks like this got turned into 'after-cycle-step-hook', which is
>     documented as of 1.3.5.1.
> 
>   http://sawfish.wikia.com/wiki/Enter-Click_Focus_Mode
> 
>     Added.
> 
>   http://sawfish.wikia.com/wiki/Negative-property-p
> 
>     Already added by 1.3.5.1.
> 
>   http://sawfish.wikia.com/wiki/Stacking-visibility
> 
>     Added
> 
>   http://sawfish.wikia.com/wiki/Window_prop_list_%26_prop_del
> 
>     Already added as of 1.3.5.1.  'window-prop-del' renamed to
>     'window-remprop'.
> 
> [1.3.5]
> 
>   http://sawfish.wikia.com/wiki/Honoring_ICCCM_aspect_ratio
> 
>     Added note about behavior.
> 
>   http://sawfish.wikia.com/wiki/Scroll_viewport_patch
> 
>     Added.
> 
>   http://sawfish.wikia.com/wiki/Slide-window-hook
> 
>     Already added as of 1.3.5.1.
> 
>   http://sawfish.wikia.com/wiki/Viewport_boundary
> 
>     Added.
> 
> [1.5.0]
> 
>   http://sawfish.wikia.com/wiki/Warp-if-necessary_when_cycling
>   http://sawfish.wikia.com/wiki/Warp-if-necessary_when_unmaximizing
> 
>     Not explicitly mentioned, but I did add some additional comments on
>     when we warp the pointer and what variable governs it.
> 
> ------------------------------ cut here ------------------------------
> 
> --- sawfish-1.3.5.1-orig/man/sawmill.texi	2008-12-17 10:37:22.000000000
> -0800
> +++ sawfish-1.3.5.1/man/sawmill.texi	2009-02-16 22:36:56.000000000 -0800
> @@ -1085,11 +1085,35 @@
>  @code{border-size}.
>  @end defun
>  
> - defun window-visibility window
> + defun stacking-visibility window
> +Returns @code{unobscured} if @code{window} is unobscured,
> + code{fully-obscured} if one or more windows completely obscure
> + code{window}, or @code{partially-obscured} if one or more window
> +partially obscure @code{window}.
> +
> +Deciding between fully and partially obscured can be expensive.  If
> + code{window-obscured} satisfies your needs, use that in preference to
> + code{stacking-visibility} 
> + end defun
> +
> + defun window-obscured window
> +Returns @code{nil} if @code{window} is unobscured, @code{t} if
> + code{window} is completely obscured by exactly one other window, or a
> +list of windows that partially obscure @code{window}.
> +
> +If a list of partially obscuring windows is returned, taken together
> +they may or may not fully obscure @code{window}.
> + end defun
> +
> + deffn {Obsolete Function} window-visibility window
>  Returns a symbol defining the current visibility of @var{window}.
>  Possible returned symbols are @code{fully-obscured},
>  @code{partially-obscured} or @code{unobscured}.
> - end defun
> +
> + code{window-visibility} is deprecated.  It is unreliable when using
> +the Composite extention, as every window is reported unobscured.  Use
> + code{window-obscured} and @code{stacking-visibility} instead.
> + end deffn
>  
>  @defun window-urgent-p window
>  Return @code{t} if the ``Urgency'' hint of the window associated with
> @@ -1131,9 +1155,17 @@
>  
>  @defvar focus-modes
>  A list containing all names of focus modes.  The built-in values are
> - code{enter-exit}, @code{enter-only} and @code{click}.
> + code{enter-exit}, @code{enter-only}, @code{enter-click} and @code{click}.
>  @end defvar
>  
> +Focus mode @code{enter-exit} changes focus when the pointer enters a
> +window or leaves the focused window.  Focus mode @code{enter-only}
> +changes focus when the pointer enters a window, but not when it leaves
> +the focused window.  Focus mode @code{click} changes focus when you
> +click on a window.  Focus mode @code{enter-click} is the union of
> + code{enter-only} and @code{click}, and changes focus on any
> +of their conditions.
> +
>  It is possible to add additional focus modes by defining your own
>  handler function.  The handler function must obey a
>  ``focus-mode-handler'' protocol.
> @@ -1185,6 +1217,9 @@
>  window.  In @code{enter-only} mode, we warp the cursor if it is in
>  another window, but not if it is over the desktop---a window would not
>  lose focus when the cursor moved from it to the desktop.
> +
> +This event is implemented via @code{warp-cursor-to-window}, so Sawfish
> +will not warp unless @code{warp-to-window-enabled} is true.
>  @end table
>  
>  The protocol allows for any number of additional arguments, but does
> @@ -1210,8 +1245,11 @@
>  @end defun
>  
>  @defun warp-pointer-if-necessary window
> -Generate a @code{warp-if-necessary} event and send it to the window's
> +Generate a @code{warp-if-necessary} event and sends it to the window's
>  focus function.
> +
> +Various functions call @code{warp-pointer-if-necessary} if they move
> +the focused window out from underneath the pointer.
>  @end defun
>  
>  @defvar focus-click-through
> @@ -1660,6 +1698,9 @@
>  then either the window that received the current event or the currently
>  focused window.
>  
> +Sawfish honors the @code{min-aspect} and @code{max-aspect} window
> +hints when interactively resizing a window.
> +
>  @deffn Command move-window-interactively window
>  Move @var{window} interactively using the mouse. Releasing any mouse
>  button places the window at its current position.
> @@ -2424,7 +2465,8 @@
>  
>  @defvar cycle-raise-windows t
>  If true, Sawfish raises windows while they're temporarily selected
> -during cycling.  Defaults to true.
> +during cycling, and invokes @code{warp-pointer-if-necessary}.
> +Defaults to true.
>  @end defvar
>  
>  It is also possible for you to define your own stacking cycle
> @@ -3699,10 +3741,10 @@
>  using ``viewports''.
>  
>  When viewports are enabled, the Sawfish logical display becomes
> -infinitely large in the two directions ``across'' and ``down'' (to the
> -maximum representable size of integers).  Sawfish divides this logical
> -display into a potentially infinite grid of cells.  Each cell of the
> -grid is the same size of the virtual display.
> +potentially infinitely large in the two directions ``across'' and
> +``down'' (to the maximum representable size of integers).  Sawfish
> +divides this logical display into a potentially infinite grid of
> +cells.  Each cell of the grid is the same size of the virtual display.
>  
>  @defvar viewport-dimensions
>  The current number of viewports across and down the virtual display.
> @@ -3715,14 +3757,23 @@
>  @code{(@var{width} . @var{height})}.
>  @end defun
>  
> -The user then tells Sawfish to move the physical display from cell to
> -cell.  On a cell change, windows in previous cells are removed, and
> -windows in the current cell appear.  Windows that span two or more
> -cells will appear in each cell, appropriately displaced.
> -
>  Note that cell indices start at zero in each dimension.  Indices are
>  never negative.
>  
> + menu
> +* Switching Viewports::
> +* Windows and Viewports::
> + end menu
> +
> + node Switching Viewports, Windows and Viewports, Viewports, Viewports
> + section Switching Viewports
> +
> +A user switches viewports by telling Sawfish to move the physical
> +display from cell to cell.  On a cell change, windows in previous
> +cells are removed, and windows in the current cell appear.  Windows
> +that span two or more cells will appear in each cell, appropriately
> +displaced.
> +
>  @defun screen-viewport
>  Returns the currently displayed viewport as a pair @code{(@var{x},
>  @var{y})}.
> @@ -3738,41 +3789,50 @@
>  @var{down} slots down.  Either argument may be zero or negative.
>  @end defun
>  
> - defun set-window-viewport window col row
> -Move @var{window} to the cell at @code{(@var{col}, @var{row})}.  The
> -relative position of the window within the cells is preserved.
> - end defun
> + defvar viewport-boundary-mode
> +How to act when switching via @code{set-screen-viewport} to a viewport
> +that is outside of @code{viewport-dimensions}.  When set to
> + code{wrap-around}, it loops in the vertical and horizontal axes
> +enough times to keep the viewport within the defined dimensions.  When
> +set to @code{stop}, it refuses to switch to a viewport outside of
> + code{viewport-dimensions}   Defaults to @code{wrap-around}.
> + end defvar
>  
> - defun move-window-viewport window col-delta row-delta
> -Move @var{window} to the cell @var{col-delta} positions across and
> - var{row-delta} positions down from its current cell.  The relative
> -position of the window with its cells its preserved.
> + 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
> +physical display may be showing more than one cell at this point.
> +All windows are redisplayed as appropriate.
>  @end defun
>  
> - defun move-viewport-to-window window
> -Move the viewport to a cell that shows window @var{window}.  For a
> -window that spans multiple cells, this function will pick the cell
> -showing the window's top-left corner.
> - end defun
> + defun set-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
> +physical display may be showing more than one cell at this point.
>  
> - defun move-window-to-current-viewport window
> -Move @var{window} from its existing viewport to the current viewport.
> -The window's relative position in the existing viewport is preserved
> -after the move.
> +Unlike @code{warp-viewport}, the change takes place by dividing the
> +motion into @code{scroll-viewport-steps} steps, and redisplaying after
> +each step in the motion.
>  @end defun
>  
> + defvr Customizable scroll-viewport-steps
> +Number of steps in which to divide a viewport change for
> + code{set-viewport}   Each step requires a redisplay.  Defaults to 1,
> +which causes an instantaneous change to the new viewport.  The
> +customization limit is 50.
> + end defvr
> +
> + node Windows and Viewports,  , Switching Viewports, Viewports
> + section Windows and Viewports
> +
>  @defun window-viewport window
>  Returns a cons cell @code{(@var{col} . @var{row})} of the viewport
>  holding the top-left corner of @var{window}.
>  @end defun
>  
>  @defun window-outside-viewport-p window
> - defunx window-outside-workspace-p window
>  Returns true if @var{window} is completely outside the current
> -viewport in any direction.  The @code{window-outside-workspace-p}
> -function is an obsolete alias for the first function; the
> -``workspace'' term is now used for another concept
> -(@pxref{Workspaces}).
> +viewport in any direction.
>  @end defun
>  
>  @defun window-absolute-position window
> @@ -3781,11 +3841,27 @@
>  or may not be the current viewport.
>  @end defun
>  
> - defun set-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
> -physical display may be showing more than one cell at this point.
> -All windows are redisplayed as appropriate.
> + defun set-window-viewport window col row
> +Move @var{window} to the cell at @code{(@var{col}, @var{row})}.  The
> +relative position of the window within the cells is preserved.
> + end defun
> +
> + defun move-window-viewport window col-delta row-delta
> +Move @var{window} to the cell @var{col-delta} positions across and
> + var{row-delta} positions down from its current cell.  The relative
> +position of the window with its cells its preserved.
> + end defun
> +
> + defun move-window-to-current-viewport window
> +Move @var{window} from its existing viewport to the current viewport.
> +The window's relative position in the existing viewport is preserved
> +after the move.
> + end defun
> +
> + defun move-viewport-to-window window
> +Move the viewport to a cell that shows window @var{window}.  For a
> +window that spans multiple cells, this function will pick the cell
> +showing the window's top-left corner.
>  @end defun
>  
>  @defvar uniconify-to-current-viewport
> @@ -5355,6 +5431,9 @@
>  
>  If @var{x} and @var{y} are @code{nil}, then they are taken as the
>  top-left corner of the window's frame.
> +
> +If @code{warp-to-window-enabled} is @code{nil}, this function does
> +nothing.
>  @end defun
>  
>  @defvar warp-to-window-offset
> 

--- original Nachricht Ende ----








#adBox3 {display:none;}





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]