[sawfish] Windows could occasionally end up outside of the viewport limits on restart; fixed.



commit 8c82a3cf35b665a094aa404aa27d286e220cc221
Author: Jeremy Hankins <nowan nowan org>
Date:   Wed Jan 6 09:30:24 2010 -0600

    Windows could occasionally end up outside of the viewport limits on
    restart; fixed.

 ChangeLog                   |    5 +++++
 lisp/sawfish/wm/viewport.jl |    8 +++++++-
 man/news.texi               |    7 ++++++-
 3 files changed, 18 insertions(+), 2 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index e26a973..cab4463 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-01-06  Jeremy Hankins <nowan nowan org>
+	* lisp/sawfish/wm/viewport.jl: Reset the viewport to 0,0 on exit
+		  for *all* workspaces.  This prevents windows from ending
+		  up in strange places on restart.
+
 2010-01-03  Christopher Bratusek <zanghar freenet de>
 	* Makefile.in: + add gitclean target
 	               + instead of removing generated packging-script files upon
diff --git a/lisp/sawfish/wm/viewport.jl b/lisp/sawfish/wm/viewport.jl
index 41a9f76..a2ca3a3 100644
--- a/lisp/sawfish/wm/viewport.jl
+++ b/lisp/sawfish/wm/viewport.jl
@@ -161,7 +161,13 @@ Scroll is done whose steps are `scroll-viewport-steps'."
     (call-hook 'viewport-moved-hook))
 
   (define (viewport-before-exiting)
-    (set-screen-viewport 0 0))
+    ;; Reset all workspaces to viewport 0,0.  This is so that on
+    ;; restart (or if another wm takes over) windows aren't in strange
+    ;; places.
+    (mapc (lambda (ws-data)
+            (select-workspace (car ws-data))
+            (set-screen-viewport 0 0))
+          workspace-viewport-data))
 
   (add-hook 'before-exit-hook viewport-before-exiting t)
 
diff --git a/man/news.texi b/man/news.texi
index b074415..79734f7 100644
--- a/man/news.texi
+++ b/man/news.texi
@@ -62,8 +62,13 @@ sawfish on several architectures. From this version on, we don't ship it anymore
 
 @item Fixed a bug where the gnome-panels pager gets confused about the current
 viewport when displaying all workspaces.
-[Jeremy Hankins
+[Jeremy Hankins]
+
+ item Fixed a minor bug in viewport.jl where windows could occasionally
+end up outside of viewport limits on restart.
+[Jeremy Hankins]
 @end itemize
+
 @item Doc
 @itemize @minus
 



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