[clfswm-cvs] r136 - in clfswm: . src

pbrochard at common-lisp.net pbrochard at common-lisp.net
Wed May 28 20:12:59 UTC 2008


Author: pbrochard
Date: Wed May 28 16:12:58 2008
New Revision: 136

Modified:
   clfswm/ChangeLog
   clfswm/TODO
   clfswm/src/clfswm-internal.lisp
   clfswm/src/clfswm-util.lisp
   clfswm/src/menu-def.lisp
   clfswm/src/package.lisp
Log:
hide/show-frame-window: new function and menu item.

Modified: clfswm/ChangeLog
==============================================================================
--- clfswm/ChangeLog	(original)
+++ clfswm/ChangeLog	Wed May 28 16:12:58 2008
@@ -1,3 +1,8 @@
+2008-05-28  Philippe Brochard  <pbrochard at common-lisp.net>
+
+	* src/clfswm-util.lisp (hide/show-frame-window): new function and
+	menu item.
+
 2008-05-23  Philippe Brochard  <pbrochard at common-lisp.net>
 
 	* src/clfswm-util.lisp (rename-current-child): Do not display the

Modified: clfswm/TODO
==============================================================================
--- clfswm/TODO	(original)
+++ clfswm/TODO	Wed May 28 16:12:58 2008
@@ -9,16 +9,10 @@
 
 - Use conpressed motion events for clisp. [Philippe]
 
-- A frame parameter to display or not the frame window. [Philippe]
-
-- Remote access to the clfswm REPL [Philippe]
-
 - cd/pwd a la shell to navigate throw frames. [Philippe] 
 
 - Hide/Unhide child [Philippe]
 
-- Undo/redo (any idea to implement this is welcome)
-
 - Raise/lower child - this can be done with children order [Philippe]
 
 - Show config -> list and display documentation for all tweakable global variables. [Philippe]
@@ -54,3 +48,6 @@
     * up
     * down
 
+- Remote access to the clfswm REPL [Philippe]
+
+- Undo/redo (any idea to implement this is welcome)

Modified: clfswm/src/clfswm-internal.lisp
==============================================================================
--- clfswm/src/clfswm-internal.lisp	(original)
+++ clfswm/src/clfswm-internal.lisp	Wed May 28 16:12:58 2008
@@ -453,12 +453,14 @@
 (defmethod show-child ((frame frame) parent display-p raise-p first-p)
   (declare (ignore parent))
   (with-xlib-protect
-    (when display-p
-      (with-slots (window) frame
-	(when (or *show-root-frame-p* (not (equal frame *current-root*)))
-	  (setf (xlib:window-background window) (get-color "Black"))
-	  (xlib:map-window window)
-	  (raise-if-needed window raise-p first-p))))
+    (with-slots (window show-window-p) frame
+      (if show-window-p
+	  (when display-p
+	    (when (or *show-root-frame-p* (not (equal frame *current-root*)))
+	      (setf (xlib:window-background window) (get-color "Black"))
+	      (xlib:map-window window)
+	      (raise-if-needed window raise-p first-p)))
+	  (hide-window window)))
     (display-frame-info frame)))
 
 

Modified: clfswm/src/clfswm-util.lisp
==============================================================================
--- clfswm/src/clfswm-util.lisp	(original)
+++ clfswm/src/clfswm-util.lisp	Wed May 28 16:12:58 2008
@@ -942,3 +942,22 @@
   (stop-button-event))
 
 
+
+
+;;; Hide/Show frame window functions
+(defun hide/show-frame-window (frame value)
+  "Hide/show the frame window"
+  (when (frame-p frame)
+    (setf (frame-show-window-p *current-child*) value)
+    (show-all-children *current-root*))
+  (leave-second-mode))
+
+
+(defun hide-current-frame-window ()
+  "Hide the current frame window"
+  (hide/show-frame-window *current-child* nil))
+
+(defun show-current-frame-window ()
+  "Show the current frame window"
+  (hide/show-frame-window *current-child* t))
+

Modified: clfswm/src/menu-def.lisp
==============================================================================
--- clfswm/src/menu-def.lisp	(original)
+++ clfswm/src/menu-def.lisp	Wed May 28 16:12:58 2008
@@ -83,9 +83,7 @@
 (add-sub-menu 'frame-menu "n" 'frame-nw-hook-menu "Frame new window hook menu")
 (add-sub-menu 'frame-menu "m" 'frame-movement-menu "Frame movement menu")
 (add-sub-menu 'frame-menu "w" 'managed-window-menu "Managed window type menu")
-(add-sub-menu 'frame-menu "i" 'frame-info-menu "Frame info menu")
-(add-menu-key 'frame-menu "u" 'renumber-current-frame)
-(add-menu-key 'frame-menu "x" 'explode-current-frame)
+(add-sub-menu 'frame-menu "s" 'frame-miscellaneous-menu "Frame miscallenous menu")
 
 
 (add-menu-key 'frame-adding-menu "a" 'add-default-frame)
@@ -126,8 +124,14 @@
 (add-menu-key 'managed-window-menu "u" 'current-frame-manage-no-window-type)
 
 
-(add-menu-key 'frame-info-menu "s" 'show-all-frames-info)
-(add-menu-key 'frame-info-menu "h" 'hide-all-frames-info)
+(add-menu-key 'frame-miscellaneous-menu "s" 'show-all-frames-info)
+(add-menu-key 'frame-miscellaneous-menu "i" 'hide-all-frames-info)
+(add-menu-key 'frame-miscellaneous-menu "h" 'hide-current-frame-window)
+(add-menu-key 'frame-miscellaneous-menu "w" 'show-current-frame-window)
+(add-menu-key 'frame-miscellaneous-menu "u" 'renumber-current-frame)
+(add-menu-key 'frame-miscellaneous-menu "x" 'explode-current-frame)
+
+
 
 
 (add-menu-key 'window-menu "i" 'display-current-window-info)

Modified: clfswm/src/package.lisp
==============================================================================
--- clfswm/src/package.lisp	(original)
+++ clfswm/src/package.lisp	Wed May 28 16:12:58 2008
@@ -99,6 +99,11 @@
 			  :accessor frame-forced-unmanaged-window
 			  :initform nil
 			  :documentation "A list of forced unmanaged windows (wm-name or window)")
+   (show-window-p :initarg :show-window-p :accessor frame-show-window-p :initform t)
+   (hidden-list :initarg :hidden-list :accessor frame-hidden-list :initform nil
+		:documentation "A list of hidden children")
+   (n-focused-child :initarg :n-focused-child :accessor frame-n-focused-child :initform 0
+		    :documentation "A number to choose which child to focus")
    (window :initarg :window :accessor frame-window :initform nil)
    (gc :initarg :gc :accessor frame-gc :initform nil)
    (child :initarg :child :accessor frame-child :initform nil)



More information about the clfswm-cvs mailing list