[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