Changeset 153

Show
Ignore:
Timestamp:
08/23/08 21:16:39 (3 months ago)
Author:
pbrochard
Message:

Massive update: Fast layout switch, switch to last child, color nearly everywhere (Help, keys...), simple way for corners configuration, auto-doc on corners, show configuration variables

Location:
clfswm
Files:
3 added
23 modified

Legend:

Unmodified
Added
Removed
  • clfswm/ChangeLog

    r152 r153  
     12008-08-23  Philippe Brochard  <pbrochard@common-lisp.net> 
     2 
     3        * src/clfswm-info.lisp (show-config-variable): New function. 
     4 
     52008-08-19  Philippe Brochard  <pbrochard@common-lisp.net> 
     6 
     7        * src/clfswm-layout.lisp (tile-horizontal-layout): New layout. 
     8 
     9        * src/clfswm-info.lisp: Colored help for key binding and corners 
     10        actions. 
     11 
     122008-08-18  Philippe Brochard  <pbrochard@common-lisp.net> 
     13 
     14        * src/clfswm-util.lisp (delete-focus-window) 
     15        (destroy-focus-window): Remove chid only in  
     16        handle-unmap/destroy-notify. Focus *current-root* only when 
     17        closing/killing the current child. 
     18 
     19        * src/clfswm-autodoc.lisp (produce-corner-*-doc): New autodoc 
     20        functions or corners. 
     21 
     222008-08-17  Philippe Brochard  <pbrochard@common-lisp.net> 
     23 
     24        * src/clfswm-corner.lisp (present-clfswm-terminal): New corner 
     25        action: Hide/Unhide a terminal on mouse corner action. (By default 
     26        right mouse button on the top left corner). 
     27 
     28        * src/config.lisp (*never-managed-window-list*): New config 
     29        variable. 
     30 
     31        * src/clfswm-internal.lisp (never-managed-window-p): New function: 
     32        Handle never managed window in a more simple way. 
     33 
     34        * src/clfswm-corner.lisp: New file and new and more simple method 
     35        to define corners actions. 
     36 
     372008-08-15  Philippe Brochard  <pbrochard@common-lisp.net> 
     38 
     39        * src/clfswm-info.lisp (info-mode): Info line can now be colored. 
     40 
     41        * src/clfswm-layout.lisp (fast-layout-switch) 
     42        (define-fast-layout-switch): New functions: Switch between two 
     43        layouts. 
     44 
     45        * src/clfswm-second-mode.lisp (leave-second-mode): Takes care if 
     46        really in the second mode. So leave-second-mode can be used even 
     47        in the main mode. 
     48 
     49        * src/clfswm-util.lisp (switch-to-last-child): New function: 
     50        Store the current child and switch to the previous one. 
     51 
    1522008-07-16  Philippe Brochard  <pbrochard@common-lisp.net> 
    253 
  • clfswm/TODO

    r152 r153  
    88Should handle these soon. 
    99 
    10 - Show config -> list and display documentation for all tweakable global variables. [Philippe] 
    11  
    12 - Fast switch between two children. [Philippe] 
    13  
    14 - Fast layout switch [Philippe] 
     10- Factorize layout 
    1511 
    1612- A Gimp layout example (a main window and all others on the left) [Philippe] 
     
    2016- Ensure-unique-number/name (new function) [Philippe] 
    2117 
     18- Show config -> list and display documentation for all tweakable global variables. [Philippe] 
     19   A finir : remove src/test.lisp src/load-test.lisp 
     20   Dans ~/.clfswmrc: 
     21      ;;;; AUTO-CONFIG - Do not edit those lines by hands: they are overwritten by CLFSWM 
     22      (defparameter *ma-var* value) 
     23      ... 
     24      ;;;; AUTO-CONFIG End : You can add your configurations below this line. 
     25 
     26- Focus policy by frame 
    2227 
    2328 
     
    2530===== 
    2631 
    27 - cd/pwd a la shell to navigate throw frames. [Philippe]  
     32- cd/pwd a la shell to navigate throw frames. [Philippe] 
    2833 
    2934- From stumpwm: [Philippe] 
     
    3237 this in place I suspect you will need to restart stumpwm very rarely 
    3338 and it won't spontaneously bring down X." 
     39  => Reset all -> place clfswm in its starting state. 
     40 
    3441 
    3542- Zoom 
     
    4754    * down 
    4855 
    49 - Remote access to the clfswm REPL [Philippe] 
    50  
    5156- Undo/redo (any idea to implement this is welcome) 
    5257 
    5358- Mouse support in menu? 
     59 
     60- Remote access to the clfswm REPL [Philippe] 
     61   Protocol:  Server: Ask: random-number 
     62              Client: Reply: associated random-number 
     63              Server: Ok 
     64              Client: a lisp form (+ 2 2) 
     65              ... 
     66   Random-number a compile time: '((rnd-1-server rnd-1-client) (rnd-1-server rnd-1-client) (rnd-1-server rnd-1-client) ...) 
  • clfswm/clfswm.asd

    r119 r153  
    1515                        ((:file "tools") 
    1616                         (:file "my-html" 
    17                           :depends-on ("tools")) 
     17                                :depends-on ("tools")) 
    1818                         (:file "package" 
    19                           :depends-on ("my-html" "tools" "version")) 
     19                                :depends-on ("my-html" "tools" "version")) 
     20                         (:file "keysyms" 
     21                                :depends-on ("package")) 
     22                         (:file "xlib-util" 
     23                                :depends-on ("package" "keysyms" "tools")) 
    2024                         (:file "config" 
    21                           :depends-on ("package")) 
    22                          (:file "keysyms" 
    23                           :depends-on ("package")) 
    24                          (:file "xlib-util" 
    25                           :depends-on ("package" "keysyms" "config")) 
     25                                :depends-on ("package" "xlib-util")) 
    2626                         (:file "netwm-util" 
    27                           :depends-on ("package" "xlib-util")) 
     27                                :depends-on ("package" "xlib-util")) 
    2828                         (:file "clfswm-keys" 
    29                           :depends-on ("package" "config" "xlib-util" "keysyms")) 
     29                                :depends-on ("package" "config" "xlib-util" "keysyms")) 
    3030                         (:file "clfswm-autodoc" 
    31                           :depends-on ("package" "clfswm-keys" "my-html" "tools")) 
     31                                :depends-on ("package" "clfswm-keys" "my-html" "tools" "config")) 
    3232                         (:file "clfswm-internal" 
    33                           :depends-on ("xlib-util" "clfswm-keys" "netwm-util" "tools")) 
     33                                :depends-on ("xlib-util" "clfswm-keys" "netwm-util" "tools" "config")) 
    3434                         (:file "clfswm" 
    35                           :depends-on ("xlib-util" "netwm-util" "clfswm-keys" "config" 
    36                                                   "clfswm-internal" "tools")) 
     35                                :depends-on ("xlib-util" "netwm-util" "clfswm-keys" "config" 
     36                                                        "clfswm-internal" "tools")) 
    3737                         (:file "version" 
    38                           :depends-on ("tools")) 
     38                                :depends-on ("tools")) 
    3939                         (:file "clfswm-second-mode" 
    40                           :depends-on ("package" "clfswm" "clfswm-internal")) 
     40                                :depends-on ("package" "clfswm" "clfswm-internal")) 
     41                         (:file "clfswm-corner" 
     42                                :depends-on ("package" "config" "clfswm-internal")) 
    4143                         (:file "clfswm-info" 
    42                           :depends-on ("package" "version" "xlib-util" "config" "clfswm-keys" "clfswm" "clfswm-internal" "clfswm-autodoc")) 
     44                                :depends-on ("package" "version" "xlib-util" "config" "clfswm-keys" "clfswm" "clfswm-internal" 
     45                                                       "clfswm-autodoc" "clfswm-corner")) 
    4346                         (:file "clfswm-menu" 
    44                           :depends-on ("package" "clfswm-info")) 
     47                                :depends-on ("package" "clfswm-info")) 
    4548                         (:file "menu-def" 
    46                           :depends-on ("clfswm-menu")) 
     49                                :depends-on ("clfswm-menu")) 
    4750                         (:file "clfswm-util" 
    48                           :depends-on ("clfswm" "keysyms" "clfswm-info" "clfswm-second-mode" "clfswm-query" "clfswm-menu" "clfswm-autodoc")) 
     51                                :depends-on ("clfswm" "keysyms" "clfswm-info" "clfswm-second-mode" "clfswm-query" "clfswm-menu" "clfswm-autodoc" "clfswm-corner")) 
    4952                         (:file "clfswm-query" 
    50                           :depends-on ("package" "config")) 
     53                                :depends-on ("package" "config")) 
    5154                         (:file "clfswm-layout" 
    52                           :depends-on ("package" "clfswm-internal" "clfswm-util" "clfswm-info" "menu-def")) 
     55                                :depends-on ("package" "clfswm-internal" "clfswm-util" "clfswm-info" "menu-def")) 
    5356                         (:file "clfswm-pack" 
    54                           :depends-on ("clfswm" "clfswm-util" "clfswm-second-mode")) 
     57                                :depends-on ("clfswm" "clfswm-util" "clfswm-second-mode")) 
    5558                         (:file "clfswm-nw-hooks" 
    56                           :depends-on ("package" "clfswm-util" "clfswm-info" "clfswm-layout" "menu-def")) 
     59                                :depends-on ("package" "clfswm-util" "clfswm-info" "clfswm-layout" "menu-def")) 
    5760                         (:file "bindings" 
    58                           :depends-on ("clfswm" "clfswm-internal" "clfswm-util")) 
     61                                :depends-on ("clfswm" "clfswm-internal" "clfswm-util")) 
    5962                         (:file "bindings-second-mode" 
    60                           :depends-on ("clfswm" "clfswm-util" "clfswm-query" "bindings" "clfswm-pack" "clfswm-menu" "menu-def" 
    61                                                 "clfswm-layout")))))) 
     63                                :depends-on ("clfswm" "clfswm-util" "clfswm-query" "bindings" "clfswm-pack" "clfswm-menu" "menu-def" 
     64                                                      "clfswm-layout")))))) 
    6265 
    6366 
  • clfswm/doc/keys.html

    r145 r153  
    121121      <tr> 
    122122        <td align="right" style="color:#ff0000" nowrap> 
     123           Shift  
     124        </td> 
     125        <td align="center" nowrap> 
     126            Tab 
     127        </td> 
     128        <td style="color:#0000ff" nowrap> 
     129          Store the current child and switch to the previous one 
     130        </td> 
     131      </tr> 
     132      <tr> 
     133        <td align="right" style="color:#ff0000" nowrap> 
    123134           Mod-1  
    124135        </td> 
     
    193204        </td> 
    194205        <td style="color:#0000ff" nowrap> 
     206          Switch between two layouts 
     207        </td> 
     208      </tr> 
     209      <tr> 
     210        <td align="right" style="color:#ff0000" nowrap> 
     211           Mod-1  
     212        </td> 
     213        <td align="center" nowrap> 
     214          Menu 
     215        </td> 
     216        <td style="color:#0000ff" nowrap> 
    195217          Show all frames info windows until a key is release 
    196218        </td> 
     
    237259        </td> 
    238260        <td style="color:#0000ff" nowrap> 
    239           Delete the focus window in all frames and workspaces 
     261          Close focus window: Delete the focus window in all frames and workspaces 
    240262        </td> 
    241263      </tr> 
     
    248270        </td> 
    249271        <td style="color:#0000ff" nowrap> 
    250           Destroy the focus window in all frames and workspaces 
     272          Kill focus window: Destroy the focus window in all frames and workspaces 
    251273        </td> 
    252274      </tr> 
     
    432454        <td style="color:#0000ff" nowrap> 
    433455          Move and focus the current frame or focus the current window parent. 
    434 On *present-windows-corner*: Present windows in the current root. 
    435 On *present-all-windows-corner*: Present all windows in all frames. 
     456Or do actions on corners 
     457        </td> 
     458      </tr> 
     459      <tr> 
     460        <td align="right" style="color:#ff0000" nowrap> 
     461           
     462        </td> 
     463        <td align="center" nowrap> 
     464          2 
     465        </td> 
     466        <td style="color:#0000ff" nowrap> 
     467          Do actions on corners 
    436468        </td> 
    437469      </tr> 
     
    445477        <td style="color:#0000ff" nowrap> 
    446478          Resize and focus the current frame or focus the current window parent. 
    447 On *present-windows-corner*: Present windows in the current root. 
    448 On *present-all-windows-corner*: Present all windows in all frames. 
     479Or do actions on corners 
    449480        </td> 
    450481      </tr> 
     
    810841      <tr> 
    811842        <td align="right" style="color:#ff0000" nowrap> 
     843           Shift  
     844        </td> 
     845        <td align="center" nowrap> 
     846            Tab 
     847        </td> 
     848        <td style="color:#0000ff" nowrap> 
     849          Store the current child and switch to the previous one 
     850        </td> 
     851      </tr> 
     852      <tr> 
     853        <td align="right" style="color:#ff0000" nowrap> 
    812854           Mod-1  
    813855        </td> 
     
    937979        </td> 
    938980        <td style="color:#0000ff" nowrap> 
    939           Delete the focus window in all frames and workspaces 
     981          Close focus window: Delete the focus window in all frames and workspaces 
    940982        </td> 
    941983      </tr> 
     
    948990        </td> 
    949991        <td style="color:#0000ff" nowrap> 
    950           Destroy the focus window in all frames and workspaces 
     992          Kill focus window: Destroy the focus window in all frames and workspaces 
    951993        </td> 
    952994      </tr> 
     
    12421284        <td style="color:#0000ff" nowrap> 
    12431285          Move and focus the current child - Create a new frame on the root window. 
    1244 On *present-windows-corner*: Present windows in the current root. 
    1245 On *present-all-windows-corner*: Present all windows in all frames. 
     1286Or do corners actions 
     1287        </td> 
     1288      </tr> 
     1289      <tr> 
     1290        <td align="right" style="color:#ff0000" nowrap> 
     1291           
     1292        </td> 
     1293        <td align="center" nowrap> 
     1294          2 
     1295        </td> 
     1296        <td style="color:#0000ff" nowrap> 
     1297          Do actions on corners 
    12461298        </td> 
    12471299      </tr> 
     
    12551307        <td style="color:#0000ff" nowrap> 
    12561308          Resize and focus the current child - Create a new frame on the root window. 
    1257 On *present-windows-corner*: Present windows in the current root. 
    1258 On *present-all-windows-corner*: Present all windows in all frames. 
     1309Or do corners actions 
    12591310        </td> 
    12601311      </tr> 
  • clfswm/doc/keys.txt

    r145 r153  
    77-------------- 
    88 
    9 Mod-1                F1              Open the help and info window 
    10 Mod-1 Control Shift  Home            Quit clfswm 
    11 Mod-1                Right           Select the next sister frame 
    12 Mod-1                Left            Select the previous sister frame 
    13 Mod-1                Down            Select the previous level in frame 
    14 Mod-1                Up              Select the next level in frame 
    15 Mod-1                Tab             Select the next child 
    16 Mod-1 Shift          Tab             Select the previous child 
    17 Mod-1                Return          Enter in the selected frame - ie make it the root frame 
    18 Mod-1 Shift          Return          Leave the selected frame - ie make its parent the root frame 
    19 Mod-1                Page_up         Lower the child in the current frame 
    20 Mod-1                Page_down       Raise the child in the current frame 
    21 Mod-1                Home            Switch to the root frame 
    22 Mod-1 Shift          Home            Switch and select the root frame 
    23                      Menu            Show all frames info windows until a key is release 
    24 Shift                Menu            Show all frames info windows 
    25 Control              Menu            Show/Hide the root frame 
    26 Mod-1                B               Move the pointer to the lower right corner of the screen 
    27 Control Shift        Escape          Delete the focus window in all frames and workspaces 
    28 Mod-1 Control Shift  Escape          Destroy the focus window in all frames and workspaces 
    29 Control              Escape          Remove the focus window in the current frame 
    30 Shift                Escape          Unhide all hidden windows into the current child 
    31 Mod-1                T               Switch to editing mode 
    32 Control              Less            Switch to editing mode 
    33 Mod-1                |1|             Bind or jump to a slot 
    34 Mod-1                |2|             Bind or jump to a slot 
    35 Mod-1                |3|             Bind or jump to a slot 
    36 Mod-1                |4|             Bind or jump to a slot 
    37 Mod-1                |5|             Bind or jump to a slot 
    38 Mod-1                |6|             Bind or jump to a slot 
    39 Mod-1                |7|             Bind or jump to a slot 
    40 Mod-1                |8|             Bind or jump to a slot 
    41 Mod-1                |9|             Bind or jump to a slot 
    42 Mod-1                |0|             Bind or jump to a slot 
     9  Mod-1                F1              Open the help and info window 
     10  Mod-1 Control Shift  Home            Quit clfswm 
     11  Mod-1                Right           Select the next sister frame 
     12  Mod-1                Left            Select the previous sister frame 
     13  Mod-1                Down            Select the previous level in frame 
     14  Mod-1                Up              Select the next level in frame 
     15  Mod-1                Tab             Select the next child 
     16  Mod-1 Shift          Tab             Select the previous child 
     17  Shift                Tab             Store the current child and switch to the previous one 
     18  Mod-1                Return          Enter in the selected frame - ie make it the root frame 
     19  Mod-1 Shift          Return          Leave the selected frame - ie make its parent the root frame 
     20  Mod-1                Page_up         Lower the child in the current frame 
     21  Mod-1                Page_down       Raise the child in the current frame 
     22  Mod-1                Home            Switch to the root frame 
     23  Mod-1 Shift          Home            Switch and select the root frame 
     24                       Menu            Switch between two layouts 
     25  Mod-1                Menu            Show all frames info windows until a key is release 
     26  Shift                Menu            Show all frames info windows 
     27  Control              Menu            Show/Hide the root frame 
     28  Mod-1                B               Move the pointer to the lower right corner of the screen 
     29  Control Shift        Escape          Close focus window: Delete the focus window in all frames and workspaces 
     30  Mod-1 Control Shift  Escape          Kill focus window: Destroy the focus window in all frames and workspaces 
     31  Control              Escape          Remove the focus window in the current frame 
     32  Shift                Escape          Unhide all hidden windows into the current child 
     33  Mod-1                T               Switch to editing mode 
     34  Control              Less            Switch to editing mode 
     35  Mod-1                |1|             Bind or jump to a slot 
     36  Mod-1                |2|             Bind or jump to a slot 
     37  Mod-1                |3|             Bind or jump to a slot 
     38  Mod-1                |4|             Bind or jump to a slot 
     39  Mod-1                |5|             Bind or jump to a slot 
     40  Mod-1                |6|             Bind or jump to a slot 
     41  Mod-1                |7|             Bind or jump to a slot 
     42  Mod-1                |8|             Bind or jump to a slot 
     43  Mod-1                |9|             Bind or jump to a slot 
     44  Mod-1                |0|             Bind or jump to a slot 
    4345 
    4446 
     
    4648---------------------------------- 
    4749 
    48                      1               Move and focus the current frame or focus the current window parent. 
    49 On *present-windows-corner*: Present windows in the current root. 
    50 On *present-all-windows-corner*: Present all windows in all frames. 
    51                      3               Resize and focus the current frame or focus the current window parent. 
    52 On *present-windows-corner*: Present windows in the current root. 
    53 On *present-all-windows-corner*: Present all windows in all frames. 
    54 Mod-1                1               Move and focus the current child - Create a new frame on the root window 
    55 Mod-1                3               Resize and focus the current child - Create a new frame on the root window 
    56 Mod-1 Control        1               Move the window under the mouse cursor to another frame 
    57                      4               Select the next level in frame 
    58                      5               Select the previous level in frame 
    59 Mod-1                4               Enter in the selected frame - ie make it the root frame 
    60 Mod-1                5               Leave the selected frame - ie make its parent the root frame 
     50                       1               Move and focus the current frame or focus the current window parent. 
     51Or do actions on corners 
     52                       2               Do actions on corners 
     53                       3               Resize and focus the current frame or focus the current window parent. 
     54Or do actions on corners 
     55  Mod-1                1               Move and focus the current child - Create a new frame on the root window 
     56  Mod-1                3               Resize and focus the current child - Create a new frame on the root window 
     57  Mod-1 Control        1               Move the window under the mouse cursor to another frame 
     58                       4               Select the next level in frame 
     59                       5               Select the previous level in frame 
     60  Mod-1                4               Enter in the selected frame - ie make it the root frame 
     61  Mod-1                5               Leave the selected frame - ie make its parent the root frame 
    6162 
    6263 
     
    6465---------------- 
    6566 
    66 Mod-1                F1              Open the help and info window for the second mode 
    67                      M               Open the main menu 
    68                      Less            Open the main menu 
    69 Control              Less            Open the main menu 
    70                      F               Open the frame menu 
    71                      W               Open the window menu 
    72                      N               Open the action by name menu 
    73                      U               Open the action by number menu 
    74                      P               Open the frame pack menu 
    75                      L               Open the frame fill menu 
    76                      R               Open the frame resize menu 
    77                      I               Identify a key 
    78                      Colon           Eval a lisp form from the query input 
    79                      Exclam          Run a program from the query input 
    80                      Return          Leave second mode 
    81                      Escape          Leave second mode 
    82                      T               Tile with spaces the current frame 
    83 Mod-1 Control Shift  Home            Quit clfswm 
    84 Mod-1                Right           Select the next sister frame 
    85 Mod-1                Left            Select the previous sister frame 
    86 Mod-1                Down            Select the previous level in frame 
    87 Mod-1                Up              Select the next level in frame 
    88 Mod-1                Tab             Select the next child 
    89 Mod-1 Shift          Tab             Select the previous child 
    90 Mod-1                Return          Enter in the selected frame - ie make it the root frame 
    91 Mod-1 Shift          Return          Leave the selected frame - ie make its parent the root frame 
    92 Mod-1                Page_up         Lower the child in the current frame 
    93 Mod-1                Page_down       Raise the child in the current frame 
    94 Mod-1                Home            Switch to the root frame 
    95 Mod-1 Shift          Home            Switch and select the root frame 
    96                      Menu            Show all frames info windows until a key is release 
    97 Mod-1                B               Move the pointer to the lower right corner of the screen 
    98                      O               Open the next window in a new frame in the root frame 
    99 Control              O               Open the next window in a new frame in the parent frame 
    100                      A               Add a default frame in the current frame 
    101 Control Shift        Escape          Delete the focus window in all frames and workspaces 
    102 Mod-1 Control Shift  Escape          Destroy the focus window in all frames and workspaces 
    103 Control              Escape          Remove the focus window in the current frame 
    104 Shift                Escape          Unhide all hidden windows into the current child 
    105 Control              X               Cut the current child to the selection 
    106 Mod-1 Control        X               Clear the current selection 
    107 Control              C               Copy the current child to the selection 
    108 Control              V               Paste the selection in the current frame 
    109 Control Shift        V               Paste the selection in the current frame - Do not clear the selection after paste 
    110                      Delete          Remove the current child from its parent frame 
    111                      C               start an xterm 
    112                      E               start emacs 
    113 Control              E               start an emacs for another user 
    114                      H               start an xclock 
    115 Shift                Menu            Show all frames info windows 
    116 Control              Menu            Show/Hide the root frame 
    117 Mod-1                |1|             Bind or jump to a slot 
    118 Mod-1                |2|             Bind or jump to a slot 
    119 Mod-1                |3|             Bind or jump to a slot 
    120 Mod-1                |4|             Bind or jump to a slot 
    121 Mod-1                |5|             Bind or jump to a slot 
    122 Mod-1                |6|             Bind or jump to a slot 
    123 Mod-1                |7|             Bind or jump to a slot 
    124 Mod-1                |8|             Bind or jump to a slot 
    125 Mod-1                |9|             Bind or jump to a slot 
    126 Mod-1                |0|             Bind or jump to a slot 
     67  Mod-1                F1              Open the help and info window for the second mode