[sawfish] export maximize-unframe/reframe and renamw-window -- improved rename-window -- added window-name win



commit 65a695bdb92de53c2efcf01b1698b89bc11ceabd
Author: chrisb <zanghar freenet de>
Date:   Wed Jul 29 15:25:50 2009 +0200

    export maximize-unframe/reframe and renamw-window -- improved rename-window -- added window-name window-matcher

 ChangeLog                           |    6 ++++++
 lisp/sawfish/wm/ext/match-window.jl |    9 ++++++++-
 lisp/sawfish/wm/state/maximize.jl   |    4 +++-
 lisp/sawfish/wm/windows.jl          |    7 +++++--
 man/news.texi                       |    2 ++
 5 files changed, 24 insertions(+), 4 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 0580040..d48389b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,12 @@
 	* lisp/sawfish/wm/mmc/window-manipulation.jl: moved maximize-unframe/reframe into sawfish.wm.state.maximize
 	                                              moved rename-window into sawfish.wm.windows 
 
+	* lisp/sawfish/wm/windows.jl: first change WM_NAME then _NET_WM_NAME in rename-window (so that we can grab
+	                              the new window-name with sawfish-ui and display it in the titlebar (some panels,
+				      eg. gnome-panel, don't accept the new name, though))
+
+	* lisp/sawfish/wm/ext/match-window.jl: added window-name matcher
+
 2009-07-28  Christopher Bratusek <zanghar freenet de>
 	* lisp/sawfish/wm/frames.jl: make doc-windows unframed [Timo Korvola]
 
diff --git a/lisp/sawfish/wm/ext/match-window.jl b/lisp/sawfish/wm/ext/match-window.jl
index fbdebba..2c513f9 100644
--- a/lisp/sawfish/wm/ext/match-window.jl
+++ b/lisp/sawfish/wm/ext/match-window.jl
@@ -111,7 +111,8 @@
        (auto-gravity boolean)
        (shade-hover boolean)
        (transients-above (choice all parents none))
-       (ignore-stacking-requests boolean))))
+       (ignore-stacking-requests boolean)
+       (window-name string))))
 
   ;; alist of (PROPERTY . FEATURE) mapping properties to the lisp
   ;; libraries implementing them
@@ -437,6 +438,12 @@
      (when value
        (window-put w 'queued-fullxinerama-maximize t))))
 
+  (define-match-window-setter 'window-name
+    (lambda (w prop value)
+      (declare (unused prop))
+      (when value
+        (rename-window w value))))
+
   (define-match-window-setter 'maximized
    (lambda (w prop value)
      (declare (unused prop))
diff --git a/lisp/sawfish/wm/state/maximize.jl b/lisp/sawfish/wm/state/maximize.jl
index fb0257e..0e78206 100644
--- a/lisp/sawfish/wm/state/maximize.jl
+++ b/lisp/sawfish/wm/state/maximize.jl
@@ -49,7 +49,9 @@
 	    maximize-window-fullscreen
 	    maximize-window-fullscreen-toggle
 	    maximize-window-fullxinerama
-	    maximize-window-fullxinerama-toggle)
+	    maximize-window-fullxinerama-toggle
+	    maximize-unframe
+	    maximize-reframe)
 
     (open rep
 	  rep.system
diff --git a/lisp/sawfish/wm/windows.jl b/lisp/sawfish/wm/windows.jl
index baf5d9c..1fd4ffa 100644
--- a/lisp/sawfish/wm/windows.jl
+++ b/lisp/sawfish/wm/windows.jl
@@ -56,7 +56,9 @@
 	     window-avoided-p
 	     avoided-windows
 	     call-after-property-changed
-	     call-after-state-changed))
+	     call-after-state-changed
+	     rename-window
+	     rename-window-interactive))
 
     (open rep
 	  rep.system
@@ -228,7 +230,8 @@ supported by client window W."
 ;;; renaming
 
 (define (rename-window window new-name)
-  (set-x-text-property window '_NET_WM_NAME (vector new-name)))
+  (set-x-text-property window 'WM_NAME (vector new-name)
+  (set-x-text-property window '_NET_WM_NAME (vector new-name))))
 
 (define (rename-window-interactive w)
   (rename-window w (prompt-for-string "new title:" (window-name w))))
diff --git a/man/news.texi b/man/news.texi
index 60a0358..81e98d8 100644
--- a/man/news.texi
+++ b/man/news.texi
@@ -46,6 +46,8 @@ they occurred between. For more detailed information see the
 
 @item Added fullscreen, fullscreen-xinerama, new-workspace and new-viewport window-matchers [Jeremy Hankins]
 
+ item Added window-name window-matcher [Christopher Bratusek]
+
 @item Added viewport-windows function (equivalent to workspace-windows) [Jeremy Hankins]
 
 @item Added viewport-boundary-mode dynamic (creates a new viewport then hitting the screen-edge) [Jeremy Hankins]



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