sawfish r4347 - in trunk: . lisp/sawfish/ui lisp/sawfish/wm lisp/sawfish/wm/animation lisp/sawfish/wm/commands lisp/sawfish/wm/ext lisp/sawfish/wm/util man



Author: chrisb
Date: Tue Dec 30 22:37:39 2008
New Revision: 4347
URL: http://svn.gnome.org/viewvc/sawfish?rev=4347&view=rev

Log:
Reworked Sawfish-UI


Modified:
   trunk/ChangeLog
   trunk/lisp/sawfish/ui/main.jl.in
   trunk/lisp/sawfish/ui/shell.jl
   trunk/lisp/sawfish/wm/animation/outline.jl
   trunk/lisp/sawfish/wm/commands/move-cursor.jl
   trunk/lisp/sawfish/wm/commands/move-resize.jl
   trunk/lisp/sawfish/wm/commands/x-cycle.jl
   trunk/lisp/sawfish/wm/custom.jl
   trunk/lisp/sawfish/wm/ext/edge-flip.jl
   trunk/lisp/sawfish/wm/ext/tooltips.jl
   trunk/lisp/sawfish/wm/ext/window-history.jl
   trunk/lisp/sawfish/wm/focus.jl
   trunk/lisp/sawfish/wm/frames.jl
   trunk/lisp/sawfish/wm/placement.jl
   trunk/lisp/sawfish/wm/util/compat.jl
   trunk/lisp/sawfish/wm/viewport.jl
   trunk/lisp/sawfish/wm/window-anim.jl
   trunk/lisp/sawfish/wm/windows.jl
   trunk/lisp/sawfish/wm/workspace.jl
   trunk/man/news.texi

Modified: trunk/lisp/sawfish/ui/main.jl.in
==============================================================================
--- trunk/lisp/sawfish/ui/main.jl.in	(original)
+++ trunk/lisp/sawfish/ui/main.jl.in	Tue Dec 30 22:37:39 2008
@@ -59,8 +59,7 @@
       (setq group (read-from-string group))
       (set-top-group (if (listp group) group `(root ,group)))))
 
-  ;; XXX remove the "or t" when trees work again
-  (when (or t (get-command-line-option "--flatten"))
+  (when (get-command-line-option "--flatten")
     (setq *nokogiri-flatten-groups* t))
 
   (when (get-command-line-option "--single-level")

Modified: trunk/lisp/sawfish/ui/shell.jl
==============================================================================
--- trunk/lisp/sawfish/ui/shell.jl	(original)
+++ trunk/lisp/sawfish/ui/shell.jl	Tue Dec 30 22:37:39 2008
@@ -93,7 +93,7 @@
 	      (gtk-container-add vbox paned)
 	      (gtk-paned-add1 paned g-scroller)
 	      (gtk-paned-add2 paned (or s-scroller slot-box-widget))
-	      (gtk-paned-set-position paned 150)
+	      (gtk-paned-set-position paned 250)
 	      (gtk-scrolled-window-add-with-viewport g-scroller
 						     group-tree-widget))
 	  (gtk-container-add vbox (or s-scroller slot-box-widget))))

Modified: trunk/lisp/sawfish/wm/animation/outline.jl
==============================================================================
--- trunk/lisp/sawfish/wm/animation/outline.jl	(original)
+++ trunk/lisp/sawfish/wm/animation/outline.jl	Tue Dec 30 22:37:39 2008
@@ -28,15 +28,28 @@
 	  sawfish.wm.events
 	  sawfish.wm.windows
 	  sawfish.wm.window-anim
+	  sawfish.wm.custom
 	  sawfish.wm.util.window-outline
 	  rep.io.timers)
 
   (define-structure-alias anim-outline sawfish.wm.animation.outline)
 
-  (defvar anim-outline-icon-coords (cons (screen-width) (screen-height)))
-
-  (defvar anim-outline-steps 16)
-  (defvar anim-outline-delay 20)
+  (defcustom anim-outline-icon-coords '(cons (screen-width) (screen-height))
+    "Animation Outline Coordinates"
+    :type (pair (number 1) (number 1))
+    :group (appearance animation))
+
+  (defcustom anim-outline-steps 16
+    "Animation Steps"
+    :type number
+    :group (appearance animation)
+    :range ( 1 . 1000 ))
+
+  (defcustom anim-outline-delay 20
+    "Animation Delay"
+    :type number
+    :group (appearance animation)
+    :range ( 1 . 1000 ))
 
   (define (anim-outline-run w mode initial-coords initial-dims
 			    final-coords final-dims)

Modified: trunk/lisp/sawfish/wm/commands/move-cursor.jl
==============================================================================
--- trunk/lisp/sawfish/wm/commands/move-cursor.jl	(original)
+++ trunk/lisp/sawfish/wm/commands/move-cursor.jl	Tue Dec 30 22:37:39 2008
@@ -30,7 +30,7 @@
 	  sawfish.wm.commands)
 
   (defcustom move-cursor-increment 16
-    "Number of pixels to move pointer in `move-cursor-' commands."
+    "Number of pixels to move pointer in."
     :group misc
     :type (number 1))
 

Modified: trunk/lisp/sawfish/wm/commands/move-resize.jl
==============================================================================
--- trunk/lisp/sawfish/wm/commands/move-resize.jl	(original)
+++ trunk/lisp/sawfish/wm/commands/move-resize.jl	Tue Dec 30 22:37:39 2008
@@ -48,15 +48,22 @@
   ;; todo:
   ;;  * obey the aspect ratio size hints
 
-  (defvar move-outline-mode 'opaque
-    "How windows being moved are animated, either `opaque' or `box'")
-  
-  (defvar resize-outline-mode 'opaque
-    "How windows being resized are animated, either `opaque' or `box'")
-  
-  (defvar move-resize-raise-window nil
-    "Raise windows when they are moved or resized.")
-  
+ 
+  (defcustom move-outline-mode 'opaque
+    "How windows being moved are animated"
+    :type (choice opaque box)
+    :group (appearance animation))
+
+  (defcustom resize-outline-mode 'opaque
+    "How windows being resized are animated"
+    :type (choice opaque box)
+    :group (appearance animation))
+
+  (defcustom move-resize-raise-window nil
+    "Raise windows when they are moved or resized."
+    :type boolean
+    :group move)
+
   (defcustom move-show-position nil
     "Show current position of windows while moving."
     :group move
@@ -66,10 +73,11 @@
     "Show current dimensions of windows while resizing."
     :group move
     :type boolean)
-  
-  (defvar resize-edge-mode 'border-grab
-    "How to choose window edges when resizing. One of `region', `border',
-`grab', `border-grab'")
+ 
+ (defcustom resize-edge-mode 'border-grab
+   "How to choose window edges when resizing."
+   :type (choice region border grab border-grab)
+   :group move)
   
   (defcustom move-snap-epsilon 12
     "Distance in pixels before window edges align with each other."

Modified: trunk/lisp/sawfish/wm/commands/x-cycle.jl
==============================================================================
--- trunk/lisp/sawfish/wm/commands/x-cycle.jl	(original)
+++ trunk/lisp/sawfish/wm/commands/x-cycle.jl	Tue Dec 30 22:37:39 2008
@@ -119,8 +119,10 @@
     :group (focus cycle)
     :type boolean)
 
-  (defvar cycle-raise-windows t
-    "Raise windows while they're temporarily selected during cycling.")
+  (defcustom cycle-raise-windows t
+    "Raise windows while they're temporarily selected during cycling."
+    :type boolean
+    :group (focus cycle))
 
   (defcustom cycle-keymap (make-keymap)
     "Keymap containing bindings active only during window cycling operations."

Modified: trunk/lisp/sawfish/wm/custom.jl
==============================================================================
--- trunk/lisp/sawfish/wm/custom.jl	(original)
+++ trunk/lisp/sawfish/wm/custom.jl	Tue Dec 30 22:37:39 2008
@@ -481,12 +481,12 @@
 
   (defgroup focus "Focus")
   (defgroup move "Move/Resize" :require sawfish.wm.commands.move-resize)
-  (defgroup placement "Placement")
   (defgroup appearance "Appearance")
   (defgroup workspace "Workspaces")
   (defgroup bindings "Bindings")
-  (defgroup min-max "Minimizing and Maximizing")
+  (defgroup min-max "Mini/Maximizing")
   (defgroup misc "Miscellaneous")
+  (defgroup placement "Placement" :group misc)
 
 ;;; loading user's customisations
 

Modified: trunk/lisp/sawfish/wm/ext/edge-flip.jl
==============================================================================
--- trunk/lisp/sawfish/wm/ext/edge-flip.jl	(original)
+++ trunk/lisp/sawfish/wm/ext/edge-flip.jl	Tue Dec 30 22:37:39 2008
@@ -66,8 +66,12 @@
     :group (workspace edge-flip)
     :after-set (lambda () (edge-flip-enable)))
 
-  (defvar edge-flip-delay 250
-    "Milliseconds to delay before edge flipping.")
+  (defcustom edge-flip-delay 250
+    "Milliseconds to delay before edge flipping."
+    :type number
+    :depends edge-flip-enabled
+    :group (workspace edge-flip)
+    :after-set (lambda () (edge-flip-enable)))
 
   (define ef-current-edge nil)
   (define ef-timer nil)

Modified: trunk/lisp/sawfish/wm/ext/tooltips.jl
==============================================================================
--- trunk/lisp/sawfish/wm/ext/tooltips.jl	(original)
+++ trunk/lisp/sawfish/wm/ext/tooltips.jl	Tue Dec 30 22:37:39 2008
@@ -31,6 +31,7 @@
 	  rep.io.timers
 	  sawfish.wm.commands
 	  sawfish.wm.custom
+	  sawfish.wm.colors
 	  sawfish.wm.misc
 	  sawfish.wm.windows
 	  sawfish.wm.frames
@@ -41,38 +42,53 @@
 
   (define tooltips-timer nil)
 
-  ;;###autoload (defgroup tooltips "Tooltips" :group misc :require sawfish.wm.ext.tooltips)
+  ;;###autoload (defgroup tooltips "Tooltips" :group appearance :require sawfish.wm.ext.tooltips)
 
   (defgroup tooltips "Tooltips"
-    :group misc
+    :group appearance
     :require sawfish.wm.ext.tooltips)
 
   (defcustom tooltips-enabled nil
     "Display tooltips for window frames."
     :type boolean
-    :group (misc tooltips)
+    :group (appearance tooltips)
     :require sawfish.wm.ext.tooltips)
 
   (defcustom tooltips-show-doc-strings nil
     "Show full documentation in tooltips."
     :type boolean
     :depends tooltips-enabled
-    :group (misc tooltips))
+    :group (appearance tooltips))
 
-  (defvar tooltips-delay 500
-    "Number of milliseconds before displaying tooltips.")
+  (defcustom tooltips-delay 500
+    "Number of milliseconds before displaying tooltips."
+    :type number
+    :depends tooltips-enabled
+    :group (appearance tooltips))
 
-  (defvar tooltips-timeout-delay 5000
-    "Number of milliseconds before removing tooltips.")
+  (defcustom tooltips-timeout-delay 5000
+    "Number of milliseconds before removing tooltips."
+    :type number
+    :depends tooltips-enabled
+    :group (appearance tooltips))
 
-  (defvar tooltips-font nil
-    "Font used to display tooltips, or nil for default.")
+  (defcustom tooltips-font default-font
+    "Font used to display tooltips, or nil for default."
+    :type font
+    :depends tooltips-enabled
+    :group (appearance tooltips))
 
-  (defvar tooltips-background-color "grey85"
-    "Color used for the tooltips background")
+  (defcustom tooltips-background-color "grey85"
+    "Color used for the tooltips background"
+    :type color
+    :depends tooltips-enabled
+    :group (appearance tooltips))
 
-  (defvar tooltips-foreground-color "black"
-    "Color used for the tooltips foreground")
+  (defcustom tooltips-foreground-color "black"
+    "Color used for the tooltips foreground"
+    :type color
+    :depends tooltips-enabled
+    :group (appearance tooltips))
 
 ;;; displaying tooltips
 

Modified: trunk/lisp/sawfish/wm/ext/window-history.jl
==============================================================================
--- trunk/lisp/sawfish/wm/ext/window-history.jl	(original)
+++ trunk/lisp/sawfish/wm/ext/window-history.jl	Tue Dec 30 22:37:39 2008
@@ -87,29 +87,29 @@
 
 ;;; customizations
 
-  (defgroup window-history "History" :group misc)
+  (defgroup window-history "History" :group match-window)
 
   (defcustom window-history-auto-save-position t
     "Automatically remember window positions."
-    :group (misc window-history)
+    :group (match-window window-history)
     :type boolean
     :require sawfish.wm.ext.window-history)
 
   (defcustom window-history-auto-save-dimensions nil
     "Automatically remember window sizes."
-    :group (misc window-history)
+    :group (match-window window-history)
     :type boolean
     :require sawfish.wm.ext.window-history)
 
   (defcustom window-history-auto-save-state nil
     "Automatically remember other window attributes."
-    :group (misc window-history)
+    :group (match-window window-history)
     :type boolean
     :require sawfish.wm.ext.window-history)
 
   (defcustom window-history-ignore-transients t
     "Don't automatically remember details of transient windows."
-    :group (misc window-history)
+    :group (match-window window-history)
     :type boolean)
 
 ;;; matching windows

Modified: trunk/lisp/sawfish/wm/focus.jl
==============================================================================
--- trunk/lisp/sawfish/wm/focus.jl	(original)
+++ trunk/lisp/sawfish/wm/focus.jl	Tue Dec 30 22:37:39 2008
@@ -56,12 +56,15 @@
     :type boolean
     :group focus)
 
-  (defvar focus-dont-push nil
-    "When true, focusing a window doesn't change it's position in the stack of
-most-recently focused windows.")
+  (defcustom focus-dont-push nil
+    "Wether focusing a window doesn't change it's position in the stack."
+    :type boolean
+    :group focus)
 
-  (defvar focus-ignore-pointer-events nil
-    "When true, pointer in/out events don't cause focus changes.")
+  (defcustom focus-ignore-pointer-events nil
+    "When true, pointer in/out events don't cause focus changes."
+    :type boolean
+    :group focus)
 
   (define focus-within-click-event (make-fluid nil)
     "When true, the current command is being called from within a

Modified: trunk/lisp/sawfish/wm/frames.jl
==============================================================================
--- trunk/lisp/sawfish/wm/frames.jl	(original)
+++ trunk/lisp/sawfish/wm/frames.jl	Tue Dec 30 22:37:39 2008
@@ -142,7 +142,7 @@
   (defcustom reload-themes-when-changed t
     "Automatically reload themes when they are updated."
     :type boolean
-    :group misc)
+    :group appearance)
 
   (defvar frame-type-fallback-alist
     '((transient . default)

Modified: trunk/lisp/sawfish/wm/placement.jl
==============================================================================
--- trunk/lisp/sawfish/wm/placement.jl	(original)
+++ trunk/lisp/sawfish/wm/placement.jl	Tue Dec 30 22:37:39 2008
@@ -40,15 +40,17 @@
   (defcustom place-window-mode 'top-left
     "Method of placing windows: \\w"
     :type symbol
-    :group placement)
+    :group (misc placement))
 
   (defcustom place-transient-mode 'centered-on-parent
     "Method of placing dialog windows: \\w"
     :type symbol
-    :group placement)
+    :group (misc placement))
 
-  (defvar ignore-program-positions t
-    "Ignore program-specified window placements.")
+  (defcustom ignore-program-positions t
+    "Ignore program-specified window placements."
+    :type boolean
+    :group (misc placement))
 
   (defvar placement-modes '()
     "List of names of all placement modes.")

Modified: trunk/lisp/sawfish/wm/util/compat.jl
==============================================================================
--- trunk/lisp/sawfish/wm/util/compat.jl	(original)
+++ trunk/lisp/sawfish/wm/util/compat.jl	Tue Dec 30 22:37:39 2008
@@ -96,11 +96,9 @@
 
   (mapc (lambda (x)
 	  (put x 'custom-obsolete t))
-	'(viewport-columns viewport-rows viewport-dimensions
+	'(viewport-columns viewport-rows
 	  preallocated-workspaces iconify-whole-group
 	  uniconify-whole-group always-update-frames
-	  cycle-disable-auto-raise cycle-show-window-icons
-	  cycle-warp-pointer cycle-focus-windows cycle-raise-windows
 	  edge-flip-warp-pointer frame-type-fallbacks
 	  warp-to-window-x-offset warp-to-window-y-offset
 	  uniquify-name-format transients-get-focus decorate-transients
@@ -112,21 +110,16 @@
 	  warp-to-selected-windows menus-include-shortcuts
 	  configure-auto-gravity configure-ignore-stacking-requests
 	  beos-window-menu-simplifies customize-show-symbols
-	  tooltips-timeout-enabled tooltips-delay
-	  tooltips-timeout-delay tooltips-font
-	  tooltips-foreground-color tooltips-background-color
 	  move-snap-mode move-snap-ignored-windows
 	  move-resize-inhibit-configure move-snap-edges
 	  raise-windows-when-unshaded persistent-group-ids
 	  delete-workspaces-when-empty transients-on-parents-workspace
-	  edge-flip-delay audio-for-ignored-windows
+	  audio-for-ignored-windows
 	  size-window-def-increment slide-window-increment
 	  default-bevel-percent sp-padding nokogiri-user-level
 	  nokogiri-buttons workspace-boundary-mode
 	  workspace-send-boundary-mode lock-first-workspace
-	  ignore-window-input-hint default-window-animator
-	  resize-edge-mode move-outline-mode resize-outline-mode
-	  move-resize-raise-window workspace-geometry
+	  ignore-window-input-hint workspace-geometry
 	  pointer-motion-threshold ignore-program-positions))
 
 ;;; obsolete custom setters

Modified: trunk/lisp/sawfish/wm/viewport.jl
==============================================================================
--- trunk/lisp/sawfish/wm/viewport.jl	(original)
+++ trunk/lisp/sawfish/wm/viewport.jl	Tue Dec 30 22:37:39 2008
@@ -50,11 +50,18 @@
   ;; the screen dimensions. E.g. moving to the left moves all windows one
   ;; screen-width to the right. 
 
-  (defvar viewport-dimensions '(1 . 1)
-    "Size of each virtual workspace.")
+  (defgroup viewport "Viewport" :group workspace)
 
-  (defvar uniconify-to-current-viewport t
-    "Windows uniconify to the current viewport.")
+  (defcustom viewport-dimensions '(1 . 1)
+    "Number of columns and rows in each virtual workspace: \\w"
+    :group (workspace viewport)
+    :type (pair (number 1) (number 1))
+    :after-set (lambda () (viewport-size-changed)))
+
+  (defcustom uniconify-to-current-viewport t
+    "Windows uniconify to the current viewport."
+    :type boolean
+    :group (workspace viewport))
 
   (defcustom scroll-viewport-steps 1
     "Number of steps in which to scroll between viewports (less steps = faster scrolling)."

Modified: trunk/lisp/sawfish/wm/window-anim.jl
==============================================================================
--- trunk/lisp/sawfish/wm/window-anim.jl	(original)
+++ trunk/lisp/sawfish/wm/window-anim.jl	Tue Dec 30 22:37:39 2008
@@ -37,11 +37,12 @@
   (define window-animators nil
     "List of all possible window animation types.")
 
-  ;; this used to be a defcustom, and I don't have anything against
-  ;; that, except the current animations are so lame it's embarassing
+  (defgroup animation "Animation" :group appearance)
 
-  (defvar default-window-animator 'none
-    "The default window animation mode")
+  (defcustom default-window-animator 'none
+    "The default window animation mode"
+    :type (choice none solid wireframe)
+    :group (appearance animation))
 
 ;;; animator registration
 

Modified: trunk/lisp/sawfish/wm/windows.jl
==============================================================================
--- trunk/lisp/sawfish/wm/windows.jl	(original)
+++ trunk/lisp/sawfish/wm/windows.jl	Tue Dec 30 22:37:39 2008
@@ -68,24 +68,38 @@
 	  sawfish.wm.misc
 	  sawfish.wm.commands)
 
-  (defvar ignore-window-input-hint nil
-    "Give focus to windows even when they haven't asked for it.")
 
-  (defvar warp-to-window-offset (cons -1 -1)
-    "Offset (%) from window edges when warping pointer. A negative number
-means outside the left window edge.")
-
-  (defvar warp-to-window-enabled nil
-    "When false, disable warping the cursor to windows.")
- 
-  (defvar dont-avoid-ignored t
-    "When non-nil, ignored windows aren't avoided by default.")
-
-  (defvar avoid-by-default nil
-    "When non-nil, any unspecified windows are avoided by default.")
-
-  (defvar uniquify-name-format "%s [%d]"
-    "Format to create unique window names.")
+  (defcustom ignore-window-input-hint nil
+    "Give focus to windows even when they haven't asked for it."
+    :type boolean
+    :group focus)
+
+  (defgroup warp "Warping" :group misc)
+
+  (defcustom warp-to-window-offset (cons -1 -1)
+    "Offset (%) from window edges when warping pointer."
+    :type (pair (number 1) (number 1))
+    :group (misc warp))
+
+  (defcustom warp-to-window-enabled nil
+    "Wether to enable warping the cursor to windows."
+    :type boolean
+    :group (misc warp))
+
+  (defcustom dont-avoid-ignored t
+    "Wether to not ignore avoided windows by default."
+    :type boolean
+    :group misc)
+
+  (defcustom avoid-by-default nil
+    "Wether to avoid any unspecified window by default."
+    :type boolean
+    :group misc)
+
+  (defcustom uniquify-name-format "%s [%d]"
+    "Format to create unique window names."
+    :type string
+    :group misc)
 
   (defvar dock-window-properties
     '(window-list-skip cycle-skip fixed-position focus-click-through

Modified: trunk/lisp/sawfish/wm/workspace.jl
==============================================================================
--- trunk/lisp/sawfish/wm/workspace.jl	(original)
+++ trunk/lisp/sawfish/wm/workspace.jl	Tue Dec 30 22:37:39 2008
@@ -118,13 +118,15 @@
 
 ;;; Options and variables
 
-  (defvar workspace-boundary-mode 'stop
-    "How to act when passing the first or last workspace, one of `stop',
-`wrap-around' or `keep-going'")
-
-  (defvar workspace-send-boundary-mode 'stop
-    "How to act when passing the first or last workspace, while moving a
-window, one of `stop', `keep-going', `wrap-around'")
+  (defcustom workspace-boundary-mode 'stop
+    "How to act when passing the first or last workspace."
+    :type (choice stop wrap-around keep-going)
+    :group workspace)
+
+  (defcustom workspace-send-boundary-mode 'stop
+    "How to act when passing the first or last workspace, while moving a window"
+    :type (choice stop wrap-around keep-going)
+    :group workspace)
 
   (defcustom workspace-names nil
     nil
@@ -133,8 +135,10 @@
     :widget-flags (expand-vertically)
     :after-set (lambda () (workspace-names-changed)))
 
-  (defvar lock-first-workspace t
-    "Preserve outermost empty workspaces in the pager.")
+  (defcustom lock-first-workspace t
+    "Preserve outermost empty workspaces in the pager."
+    :type boolean
+    :group workspace)
 
   ;; Currently active workspace, an integer
   (define current-workspace 0)

Modified: trunk/man/news.texi
==============================================================================
--- trunk/man/news.texi	(original)
+++ trunk/man/news.texi	Tue Dec 30 22:37:39 2008
@@ -61,6 +61,8 @@
 @item sawmill-defaults is now sawfish-defaults [Christopher Bratusek]
 
 @item ~/.sawmillrc has been dropped from the list of configuration files [Christopher Bratusek]
+
+ item Reworked Sawfish-UI [Christopher Bratusek]
 @end itemize
 @end itemize
 



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