[clfswm-cvs] r107 - in clfswm: . doc src
pbrochard at common-lisp.net
pbrochard at common-lisp.net
Thu May 1 15:20:54 UTC 2008
Author: pbrochard
Date: Thu May 1 11:20:47 2008
New Revision: 107
Added:
clfswm/src/menu-def.lisp
Modified:
clfswm/ChangeLog
clfswm/clfswm.asd
clfswm/doc/keys.html
clfswm/doc/keys.txt
clfswm/doc/menu.html
clfswm/doc/menu.txt
clfswm/src/bindings-second-mode.lisp
clfswm/src/clfswm-layout.lisp
clfswm/src/clfswm-nw-hooks.lisp
clfswm/src/clfswm.lisp
Log:
menu-def.lisp: New file
Modified: clfswm/ChangeLog
==============================================================================
--- clfswm/ChangeLog (original)
+++ clfswm/ChangeLog Thu May 1 11:20:47 2008
@@ -1,3 +1,11 @@
+2008-05-01 Philippe Brochard <pbrochard at common-lisp.net>
+
+ * src/menu-def.lisp: New file: move all menu definition in
+ menu-def.lisp.
+
+ * src/clfswm-layout.lisp (register-layout): Use a function instead
+ of a macro.
+
2008-04-30 Philippe Brochard <pbrochard at common-lisp.net>
* src/clfswm-autodoc.lisp (produce-menu-doc,
Modified: clfswm/clfswm.asd
==============================================================================
--- clfswm/clfswm.asd (original)
+++ clfswm/clfswm.asd Thu May 1 11:20:47 2008
@@ -39,23 +39,25 @@
(:file "clfswm-second-mode"
:depends-on ("package" "clfswm" "clfswm-internal"))
(:file "clfswm-info"
- :depends-on ("package" "version" "xlib-util" "config" "clfswm-keys" "clfswm" "clfswm-internal"))
+ :depends-on ("package" "version" "xlib-util" "config" "clfswm-keys" "clfswm" "clfswm-internal" "clfswm-autodoc"))
(:file "clfswm-menu"
:depends-on ("package" "clfswm-info"))
+ (:file "menu-def"
+ :depends-on ("clfswm-menu"))
(:file "clfswm-util"
- :depends-on ("clfswm" "keysyms" "clfswm-info" "clfswm-second-mode" "clfswm-query" "clfswm-menu"))
+ :depends-on ("clfswm" "keysyms" "clfswm-info" "clfswm-second-mode" "clfswm-query" "clfswm-menu" "clfswm-autodoc"))
(:file "clfswm-query"
:depends-on ("package" "config"))
(:file "clfswm-layout"
- :depends-on ("package" "clfswm-internal" "clfswm-util" "clfswm-info"))
+ :depends-on ("package" "clfswm-internal" "clfswm-util" "clfswm-info" "menu-def"))
(:file "clfswm-pack"
:depends-on ("clfswm" "clfswm-util" "clfswm-second-mode"))
(:file "clfswm-nw-hooks"
- :depends-on ("package" "clfswm-util" "clfswm-info"))
+ :depends-on ("package" "clfswm-util" "clfswm-info" "clfswm-layout" "menu-def"))
(:file "bindings"
:depends-on ("clfswm" "clfswm-internal" "clfswm-util"))
(:file "bindings-second-mode"
- :depends-on ("clfswm" "clfswm-util" "clfswm-query" "bindings" "clfswm-pack" "clfswm-menu"))))))
+ :depends-on ("clfswm" "clfswm-util" "clfswm-query" "bindings" "clfswm-pack" "clfswm-menu" "menu-def"))))))
Modified: clfswm/doc/keys.html
==============================================================================
--- clfswm/doc/keys.html (original)
+++ clfswm/doc/keys.html Thu May 1 11:20:47 2008
@@ -1456,7 +1456,7 @@
</td>
<td align="center" nowrap>
- Clfswm motion
+ Motion
</td>
<td style="color:#0000ff" nowrap>
Grab text
Modified: clfswm/doc/keys.txt
==============================================================================
--- clfswm/doc/keys.txt (original)
+++ clfswm/doc/keys.txt Thu May 1 11:20:47 2008
@@ -152,5 +152,5 @@
2 Leave the info mode
4 Move one line up
5 Move one line down
- Clfswm::motion Grab text
+ Motion Grab text
Modified: clfswm/doc/menu.html
==============================================================================
--- clfswm/doc/menu.html (original)
+++ clfswm/doc/menu.html Thu May 1 11:20:47 2008
@@ -43,13 +43,13 @@
a: <a href="#FRAME-ADDING-MENU">< Adding frame menu ></a>
</p>
<p>
- l: < Frame layout menu >
+ l: <a href="#FRAME-LAYOUT-MENU">< Frame layout menu ></a>
</p>
<p>
- o: < Frame layout menu (Set only once) >
+ o: <a href="#FRAME-LAYOUT-ONCE-MENU">< Frame layout menu (Only once) ></a>
</p>
<p>
- n: < Frame new window hook menu >
+ n: <a href="#FRAME-NW-HOOK-MENU">< Frame new window hook menu ></a>
</p>
<p>
m: <a href="#FRAME-MOVEMENT-MENU">< Frame movement menu ></a>
@@ -81,6 +81,78 @@
</p>
<hr>
<h3>
+ <a name="FRAME-LAYOUT-MENU"></a><a href="#FRAME-MENU">Frame-Layout-Menu</a>
+ </h3>
+ <p>
+ a: Maximize windows in there frame - leave frame to there size (no layout)
+ </p>
+ <p>
+ b: Tile child in its frame
+ </p>
+ <p>
+ c: Tile Left: main child on left and others on right
+ </p>
+ <p>
+ d: Tile Right: main child on right and others on left
+ </p>
+ <p>
+ e: Tile Top: main child on top and others on bottom
+ </p>
+ <p>
+ f: Tile Bottom: main child on bottom and others on top
+ </p>
+ <p>
+ g: Tile Space: tile child in its frame leaving spaces between them
+ </p>
+ <hr>
+ <h3>
+ <a name="FRAME-LAYOUT-ONCE-MENU"></a><a href="#FRAME-MENU">Frame-Layout-Once-Menu</a>
+ </h3>
+ <p>
+ a: Maximize windows in there frame - leave frame to there size (no layout)
+ </p>
+ <p>
+ b: Tile child in its frame
+ </p>
+ <p>
+ c: Tile Left: main child on left and others on right
+ </p>
+ <p>
+ d: Tile Right: main child on right and others on left
+ </p>
+ <p>
+ e: Tile Top: main child on top and others on bottom
+ </p>
+ <p>
+ f: Tile Bottom: main child on bottom and others on top
+ </p>
+ <p>
+ g: Tile Space: tile child in its frame leaving spaces between them
+ </p>
+ <hr>
+ <h3>
+ <a name="FRAME-NW-HOOK-MENU"></a><a href="#FRAME-MENU">Frame-Nw-Hook-Menu</a>
+ </h3>
+ <p>
+ a: Open the next window in the current frame
+ </p>
+ <p>
+ b: Open the next window in the current root
+ </p>
+ <p>
+ c: Open the next window in a new frame in the current root
+ </p>
+ <p>
+ d: Open the next window in a new frame in the root frame
+ </p>
+ <p>
+ e: Open the next window in a new frame in the parent frame
+ </p>
+ <p>
+ f: Open the next window in the current frame and leave the focus on the current child
+ </p>
+ <hr>
+ <h3>
<a name="FRAME-MOVEMENT-MENU"></a><a href="#FRAME-MENU">Frame-Movement-Menu</a>
</h3>
<p>
Modified: clfswm/doc/menu.txt
==============================================================================
--- clfswm/doc/menu.txt (original)
+++ clfswm/doc/menu.txt Thu May 1 11:20:47 2008
@@ -12,7 +12,7 @@
Frame-Menu
a: < Adding frame menu >
l: < Frame layout menu >
-o: < Frame layout menu (Set only once) >
+o: < Frame layout menu (Only once) >
n: < Frame new window hook menu >
m: < Frame movement menu >
w: < Managed window type menu >
@@ -25,6 +25,32 @@
a: Add a default frame
p: Add a placed frame
+Frame-Layout-Menu
+a: Maximize windows in there frame - leave frame to there size (no layout)
+b: Tile child in its frame
+c: Tile Left: main child on left and others on right
+d: Tile Right: main child on right and others on left
+e: Tile Top: main child on top and others on bottom
+f: Tile Bottom: main child on bottom and others on top
+g: Tile Space: tile child in its frame leaving spaces between them
+
+Frame-Layout-Once-Menu
+a: Maximize windows in there frame - leave frame to there size (no layout)
+b: Tile child in its frame
+c: Tile Left: main child on left and others on right
+d: Tile Right: main child on right and others on left
+e: Tile Top: main child on top and others on bottom
+f: Tile Bottom: main child on bottom and others on top
+g: Tile Space: tile child in its frame leaving spaces between them
+
+Frame-Nw-Hook-Menu
+a: Open the next window in the current frame
+b: Open the next window in the current root
+c: Open the next window in a new frame in the current root
+d: Open the next window in a new frame in the root frame
+e: Open the next window in a new frame in the parent frame
+f: Open the next window in the current frame and leave the focus on the current child
+
Frame-Movement-Menu
p: < Frame pack menu >
f: < Frame fill menu >
Modified: clfswm/src/bindings-second-mode.lisp
==============================================================================
--- clfswm/src/bindings-second-mode.lisp (original)
+++ clfswm/src/bindings-second-mode.lisp Thu May 1 11:20:47 2008
@@ -36,148 +36,6 @@
(define-second-key ("F1" :mod-1) 'help-on-second-mode)
-;;;;;;;;;;;;;;;;;
-;;;; Menu entry
-;;;;;;;;;;;;;;;;;
-
-;;; Here is a small example of menu manipulation:
-
-;;(add-menu-key 'main "a" 'help-on-second-mode)
-;;(add-menu-key 'main "c" 'help-on-clfswm)
-;;
-;;(add-sub-menu 'main "p" 'plop "A sub menu")
-;;
-;;(add-menu-key 'plop "a" 'help-on-clfswm)
-;;(add-menu-key 'plop "b" 'help-on-second-mode)
-;;(add-menu-key 'plop "d" 'help-on-second-mode)
-
-
-;;(del-menu-key 'main "p")
-;;(del-menu-value 'plop 'help-on-main-mode)
-;;(del-sub-menu 'main 'plop)
-
-;;(define-second-key ("a") 'open-menu)
-
-
-
-(defun frame-layout-menu ()
- "< Frame layout menu >"
- (info-mode-menu (keys-from-list *layout-list*)))
-
-(defun frame-layout-once-menu ()
- "< Frame layout menu (Set only once) >"
- (info-mode-menu (keys-from-list (loop :for l :in *layout-list*
- :collect (create-symbol (format nil "~A" l) "-ONCE")))))
-
-(defun frame-nw-hook-menu ()
- "< Frame new window hook menu >"
- (info-mode-menu (keys-from-list *nw-hook-list*)))
-
-
-
-(add-sub-menu 'main "f" 'frame-menu "Frame menu")
-(add-sub-menu 'main "w" 'window-menu "Window menu")
-(add-sub-menu 'main "s" 'selection-menu "Selection menu")
-(add-sub-menu 'main "n" 'action-by-name-menu "Action by name menu")
-(add-sub-menu 'main "u" 'action-by-number-menu "Action by number menu")
-(add-sub-menu 'main "y" 'utility-menu "Utility menu")
-
-
-
-(add-sub-menu 'frame-menu "a" 'frame-adding-menu "Adding frame menu")
-(add-menu-key 'frame-menu "l" 'frame-layout-menu)
-(add-menu-key 'frame-menu "o" 'frame-layout-once-menu)
-(add-menu-key 'frame-menu "n" 'frame-nw-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 "r" 'rename-current-child)
-(add-menu-key 'frame-menu "u" 'renumber-current-frame)
-(add-menu-key 'frame-menu "x" 'explode-current-frame)
-
-
-(add-menu-key 'frame-adding-menu "a" 'add-default-frame)
-(add-menu-key 'frame-adding-menu "p" 'add-placed-frame)
-
-
-(add-sub-menu 'frame-movement-menu "p" 'frame-pack-menu "Frame pack menu")
-(add-sub-menu 'frame-movement-menu "f" 'frame-fill-menu "Frame fill menu")
-(add-sub-menu 'frame-movement-menu "r" 'frame-resize-menu "Frame resize menu")
-(add-menu-key 'frame-movement-menu "c" 'center-current-frame)
-
-
-(add-menu-key 'frame-pack-menu "Up" 'current-frame-pack-up)
-(add-menu-key 'frame-pack-menu "Down" 'current-frame-pack-down)
-(add-menu-key 'frame-pack-menu "Left" 'current-frame-pack-left)
-(add-menu-key 'frame-pack-menu "Right" 'current-frame-pack-right)
-
-
-(add-menu-key 'frame-fill-menu "Up" 'current-frame-fill-up)
-(add-menu-key 'frame-fill-menu "Down" 'current-frame-fill-down)
-(add-menu-key 'frame-fill-menu "Left" 'current-frame-fill-left)
-(add-menu-key 'frame-fill-menu "Right" 'current-frame-fill-right)
-(add-menu-key 'frame-fill-menu #\a 'current-frame-fill-all-dir)
-(add-menu-key 'frame-fill-menu #\v 'current-frame-fill-vertical)
-(add-menu-key 'frame-fill-menu #\h 'current-frame-fill-horizontal)
-
-(add-menu-key 'frame-resize-menu "Up" 'current-frame-resize-up)
-(add-menu-key 'frame-resize-menu "Down" 'current-frame-resize-down)
-(add-menu-key 'frame-resize-menu "Left" 'current-frame-resize-left)
-(add-menu-key 'frame-resize-menu "Right" 'current-frame-resize-right)
-(add-menu-key 'frame-resize-menu #\d 'current-frame-resize-all-dir)
-(add-menu-key 'frame-resize-menu #\a 'current-frame-resize-all-dir-minimal)
-
-
-(add-menu-key 'managed-window-menu "m" 'current-frame-manage-window-type)
-(add-menu-key 'managed-window-menu "a" 'current-frame-manage-all-window-type)
-(add-menu-key 'managed-window-menu "n" 'current-frame-manage-only-normal-window-type)
-(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 'window-menu "i" 'display-current-window-info)
-(add-menu-key 'window-menu "f" 'force-window-in-frame)
-(add-menu-key 'window-menu "c" 'force-window-center-in-frame)
-(add-menu-key 'window-menu "m" 'manage-current-window)
-(add-menu-key 'window-menu "u" 'unmanage-current-window)
-(add-menu-key 'window-menu "a" 'adapt-current-frame-to-window-hints)
-(add-menu-key 'window-menu "w" 'adapt-current-frame-to-window-width-hint)
-(add-menu-key 'window-menu "h" 'adapt-current-frame-to-window-height-hint)
-
-
-
-(add-menu-key 'selection-menu "x" 'cut-current-child)
-(add-menu-key 'selection-menu "c" 'copy-current-child)
-(add-menu-key 'selection-menu "v" 'paste-selection)
-(add-menu-key 'selection-menu "p" 'paste-selection-no-clear)
-(add-menu-key 'selection-menu "Delete" 'remove-current-child)
-(add-menu-key 'selection-menu "z" 'clear-selection)
-
-
-
-(add-menu-key 'action-by-name-menu "f" 'focus-frame-by-name)
-(add-menu-key 'action-by-name-menu "o" 'open-frame-by-name)
-(add-menu-key 'action-by-name-menu "d" 'delete-frame-by-name)
-(add-menu-key 'action-by-name-menu "m" 'move-current-child-by-name)
-(add-menu-key 'action-by-name-menu "c" 'copy-current-child-by-name)
-
-(add-menu-key 'action-by-number-menu "f" 'focus-frame-by-number)
-(add-menu-key 'action-by-number-menu "o" 'open-frame-by-number)
-(add-menu-key 'action-by-number-menu "d" 'delete-frame-by-number)
-(add-menu-key 'action-by-number-menu "m" 'move-current-child-by-number)
-(add-menu-key 'action-by-number-menu "c" 'copy-current-child-by-number)
-
-
-(add-menu-key 'utility-menu "i" 'identify-key)
-(add-menu-key 'utility-menu "colon" 'eval-from-query-string)
-(add-menu-key 'utility-menu "exclam" 'run-program-from-query-string)
-
-
-
-
(defun open-frame-menu ()
"Open the frame menu"
(open-menu (find-menu 'frame-menu)))
Modified: clfswm/src/clfswm-layout.lisp
==============================================================================
--- clfswm/src/clfswm-layout.lisp (original)
+++ clfswm/src/clfswm-layout.lisp Thu May 1 11:20:47 2008
@@ -39,6 +39,8 @@
+(defparameter *layout-current-key* (char-code #\a))
+
;;; Generic functions
(defun set-layout (layout)
@@ -63,20 +65,19 @@
-(defmacro register-layout (layout)
- `(progn
- (setf *layout-list* (append *layout-list* (list ',layout)))
- (defun ,(intern (format nil "~A-ONCE" layout)) ()
- (set-layout-dont-leave #',(intern (subseq (format nil "~A" layout) 4)))
- (show-all-children *current-root*)
- (fixe-real-size-current-child)
- (set-layout-dont-leave #'no-layout))))
-
+(defun register-layout (layout)
+ (let ((once-name (create-symbol (format nil "~A" layout) "-ONCE")))
+ (setf (symbol-function once-name)
+ (lambda ()
+ (set-layout-dont-leave (intern (subseq (format nil "~A" layout) 4)))
+ (show-all-children *current-root*)
+ (fixe-real-size-current-child)
+ (set-layout-dont-leave #'no-layout)))
+ (setf (documentation once-name 'function) (documentation layout 'function))
+ (add-menu-key 'frame-layout-menu (code-char *layout-current-key*) layout)
+ (add-menu-key 'frame-layout-once-menu (code-char *layout-current-key*) once-name)
+ (incf *layout-current-key*)))
-(defun set-layout-once-documentation ()
- (loop :for l :in *layout-list*
- :do (setf (documentation (create-symbol (format nil "~A" l) "-ONCE") 'function)
- (documentation l 'function))))
@@ -114,7 +115,7 @@
"Maximize windows in there frame - leave frame to there size (no layout)"
(set-layout #'no-layout))
-(register-layout set-no-layout)
+(register-layout 'set-no-layout)
@@ -140,7 +141,7 @@
"Tile child in its frame"
(set-layout #'tile-layout))
-(register-layout set-tile-layout)
+(register-layout 'set-tile-layout)
;;; Tile Left
@@ -172,7 +173,7 @@
(layout-ask-size "Tile size in percent (%)" :tile-size)
(set-layout #'tile-left-layout))
-(register-layout set-tile-left-layout)
+(register-layout 'set-tile-left-layout)
@@ -206,7 +207,7 @@
(set-layout #'tile-right-layout))
-(register-layout set-tile-right-layout)
+(register-layout 'set-tile-right-layout)
@@ -240,7 +241,7 @@
(layout-ask-size "Tile size in percent (%)" :tile-size)
(set-layout #'tile-top-layout))
-(register-layout set-tile-top-layout)
+(register-layout 'set-tile-top-layout)
@@ -275,7 +276,7 @@
(set-layout #'tile-bottom-layout))
-(register-layout set-tile-bottom-layout)
+(register-layout 'set-tile-bottom-layout)
@@ -306,4 +307,4 @@
(layout-ask-size "Space size in percent (%)" :tile-space-size 10)
(set-layout #'tile-space-layout))
-(register-layout set-tile-space-layout)
+(register-layout 'set-tile-space-layout)
Modified: clfswm/src/clfswm-nw-hooks.lisp
==============================================================================
--- clfswm/src/clfswm-nw-hooks.lisp (original)
+++ clfswm/src/clfswm-nw-hooks.lisp Thu May 1 11:20:47 2008
@@ -37,6 +37,8 @@
;;; 3- Register your new hook with register-nw-hook.
+(defparameter *nw-hook-current-key* (char-code #\a))
+
(defun set-nw-hook (hook)
"Set the hook of the current child"
@@ -47,7 +49,9 @@
(leave-second-mode)))
(defun register-nw-hook (hook)
- (setf *nw-hook-list* (append *nw-hook-list* (list hook))))
+ (setf *nw-hook-list* (append *nw-hook-list* (list hook)))
+ (add-menu-key 'frame-nw-hook-menu (code-char *nw-hook-current-key*) hook)
+ (incf *nw-hook-current-key*))
(defun default-window-placement (frame window)
Modified: clfswm/src/clfswm.lisp
==============================================================================
--- clfswm/src/clfswm.lisp (original)
+++ clfswm/src/clfswm.lisp Thu May 1 11:20:47 2008
@@ -213,7 +213,6 @@
:pointer-motion))
;;(intern-atoms *display*)
(netwm-set-properties)
- (set-layout-once-documentation)
(xlib:display-force-output *display*)
(setf *child-selection* nil)
(setf *root-frame* (create-frame :name "Root" :number 0) ;; :layout #'tile-space-layout)
Added: clfswm/src/menu-def.lisp
==============================================================================
--- (empty file)
+++ clfswm/src/menu-def.lisp Thu May 1 11:20:47 2008
@@ -0,0 +1,164 @@
+;;; --------------------------------------------------------------------------
+;;; CLFSWM - FullScreen Window Manager
+;;;
+;;; --------------------------------------------------------------------------
+;;; Documentation: Menu definitions
+;;;
+;;; Note: Mod-1 is the Alt or Meta key, Mod-2 is the Numlock key.
+;;; --------------------------------------------------------------------------
+;;;
+;;; (C) 2005 Philippe Brochard <hocwp at free.fr>
+;;;
+;;; This program is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program; if not, write to the Free Software
+;;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+;;;
+;;; --------------------------------------------------------------------------
+
+(in-package :clfswm)
+
+;;; Here is a small example of menu manipulation:
+
+;;(add-menu-key 'main "a" 'help-on-second-mode)
+;;(add-menu-key 'main "c" 'help-on-clfswm)
+;;
+;;(add-sub-menu 'main "p" 'plop "A sub menu")
+;;
+;;(add-menu-key 'plop "a" 'help-on-clfswm)
+;;(add-menu-key 'plop "b" 'help-on-second-mode)
+;;(add-menu-key 'plop "d" 'help-on-second-mode)
+
+
+;;(del-menu-key 'main "p")
+;;(del-menu-value 'plop 'help-on-main-mode)
+;;(del-sub-menu 'main 'plop)
+
+;;(define-second-key ("a") 'open-menu)
+
+
+
+;;(defun frame-layout-menu ()
+;; "< Frame layout menu >"
+;; (info-mode-menu (keys-from-list *layout-list*)))
+;;
+;;(defun frame-layout-once-menu ()
+;; "< Frame layout menu (Set only once) >"
+;; (info-mode-menu (keys-from-list (loop :for l :in *layout-list*
+;; :collect (create-symbol (format nil "~A" l) "-ONCE")))))
+;;
+;;(defun frame-nw-hook-menu ()
+;; "< Frame new window hook menu >"
+;; (info-mode-menu (keys-from-list *nw-hook-list*)))
+
+
+
+(add-sub-menu 'main "f" 'frame-menu "Frame menu")
+(add-sub-menu 'main "w" 'window-menu "Window menu")
+(add-sub-menu 'main "s" 'selection-menu "Selection menu")
+(add-sub-menu 'main "n" 'action-by-name-menu "Action by name menu")
+(add-sub-menu 'main "u" 'action-by-number-menu "Action by number menu")
+(add-sub-menu 'main "y" 'utility-menu "Utility menu")
+
+
+
+(add-sub-menu 'frame-menu "a" 'frame-adding-menu "Adding frame menu")
+(add-sub-menu 'frame-menu "l" 'frame-layout-menu "Frame layout menu")
+(add-sub-menu 'frame-menu "o" 'frame-layout-once-menu "Frame layout menu (Only once)")
+(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 "r" 'rename-current-child)
+(add-menu-key 'frame-menu "u" 'renumber-current-frame)
+(add-menu-key 'frame-menu "x" 'explode-current-frame)
+
+
+(add-menu-key 'frame-adding-menu "a" 'add-default-frame)
+(add-menu-key 'frame-adding-menu "p" 'add-placed-frame)
+
+
+(add-sub-menu 'frame-movement-menu "p" 'frame-pack-menu "Frame pack menu")
+(add-sub-menu 'frame-movement-menu "f" 'frame-fill-menu "Frame fill menu")
+(add-sub-menu 'frame-movement-menu "r" 'frame-resize-menu "Frame resize menu")
+(add-menu-key 'frame-movement-menu "c" 'center-current-frame)
+
+
+(add-menu-key 'frame-pack-menu "Up" 'current-frame-pack-up)
+(add-menu-key 'frame-pack-menu "Down" 'current-frame-pack-down)
+(add-menu-key 'frame-pack-menu "Left" 'current-frame-pack-left)
+(add-menu-key 'frame-pack-menu "Right" 'current-frame-pack-right)
+
+
+(add-menu-key 'frame-fill-menu "Up" 'current-frame-fill-up)
+(add-menu-key 'frame-fill-menu "Down" 'current-frame-fill-down)
+(add-menu-key 'frame-fill-menu "Left" 'current-frame-fill-left)
+(add-menu-key 'frame-fill-menu "Right" 'current-frame-fill-right)
+(add-menu-key 'frame-fill-menu #\a 'current-frame-fill-all-dir)
+(add-menu-key 'frame-fill-menu #\v 'current-frame-fill-vertical)
+(add-menu-key 'frame-fill-menu #\h 'current-frame-fill-horizontal)
+
+(add-menu-key 'frame-resize-menu "Up" 'current-frame-resize-up)
+(add-menu-key 'frame-resize-menu "Down" 'current-frame-resize-down)
+(add-menu-key 'frame-resize-menu "Left" 'current-frame-resize-left)
+(add-menu-key 'frame-resize-menu "Right" 'current-frame-resize-right)
+(add-menu-key 'frame-resize-menu #\d 'current-frame-resize-all-dir)
+(add-menu-key 'frame-resize-menu #\a 'current-frame-resize-all-dir-minimal)
+
+
+(add-menu-key 'managed-window-menu "m" 'current-frame-manage-window-type)
+(add-menu-key 'managed-window-menu "a" 'current-frame-manage-all-window-type)
+(add-menu-key 'managed-window-menu "n" 'current-frame-manage-only-normal-window-type)
+(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 'window-menu "i" 'display-current-window-info)
+(add-menu-key 'window-menu "f" 'force-window-in-frame)
+(add-menu-key 'window-menu "c" 'force-window-center-in-frame)
+(add-menu-key 'window-menu "m" 'manage-current-window)
+(add-menu-key 'window-menu "u" 'unmanage-current-window)
+(add-menu-key 'window-menu "a" 'adapt-current-frame-to-window-hints)
+(add-menu-key 'window-menu "w" 'adapt-current-frame-to-window-width-hint)
+(add-menu-key 'window-menu "h" 'adapt-current-frame-to-window-height-hint)
+
+
+
+(add-menu-key 'selection-menu "x" 'cut-current-child)
+(add-menu-key 'selection-menu "c" 'copy-current-child)
+(add-menu-key 'selection-menu "v" 'paste-selection)
+(add-menu-key 'selection-menu "p" 'paste-selection-no-clear)
+(add-menu-key 'selection-menu "Delete" 'remove-current-child)
+(add-menu-key 'selection-menu "z" 'clear-selection)
+
+
+
+(add-menu-key 'action-by-name-menu "f" 'focus-frame-by-name)
+(add-menu-key 'action-by-name-menu "o" 'open-frame-by-name)
+(add-menu-key 'action-by-name-menu "d" 'delete-frame-by-name)
+(add-menu-key 'action-by-name-menu "m" 'move-current-child-by-name)
+(add-menu-key 'action-by-name-menu "c" 'copy-current-child-by-name)
+
+(add-menu-key 'action-by-number-menu "f" 'focus-frame-by-number)
+(add-menu-key 'action-by-number-menu "o" 'open-frame-by-number)
+(add-menu-key 'action-by-number-menu "d" 'delete-frame-by-number)
+(add-menu-key 'action-by-number-menu "m" 'move-current-child-by-number)
+(add-menu-key 'action-by-number-menu "c" 'copy-current-child-by-number)
+
+
+(add-menu-key 'utility-menu "i" 'identify-key)
+(add-menu-key 'utility-menu "colon" 'eval-from-query-string)
+(add-menu-key 'utility-menu "exclam" 'run-program-from-query-string)
+
More information about the clfswm-cvs
mailing list