From pbrochard at common-lisp.net Sun Jun 5 12:42:25 2011 From: pbrochard at common-lisp.net (pbrochard at common-lisp.net) Date: Sun, 05 Jun 2011 05:42:25 -0700 Subject: [clfswm-cvs] r478 - in clfswm: . doc src Message-ID: Author: pbrochard Date: Sun Jun 5 05:42:22 2011 New Revision: 478 Log: src/clfswm-util.lisp (add-frame-in-parent-frame): New function and binding. Modified: clfswm/ChangeLog 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-util.lisp Modified: clfswm/ChangeLog ============================================================================== --- clfswm/ChangeLog Sat Jun 4 05:36:40 2011 (r477) +++ clfswm/ChangeLog Sun Jun 5 05:42:22 2011 (r478) @@ -1,3 +1,8 @@ +2011-06-05 Philippe Brochard + + * src/clfswm-util.lisp (add-frame-in-parent-frame): New function + and binding. + 2011-06-04 Philippe Brochard * src/clfswm.lisp (main-unprotected): Destroy all frames windows Modified: clfswm/doc/keys.html ============================================================================== --- clfswm/doc/keys.html Sat Jun 4 05:36:40 2011 (r477) +++ clfswm/doc/keys.html Sun Jun 5 05:42:22 2011 (r478) @@ -1258,6 +1258,17 @@ + Control + + + A + + + Add a frame in the parent frame (and reorganize parent frame) + + + + Modified: clfswm/doc/keys.txt ============================================================================== --- clfswm/doc/keys.txt Sat Jun 4 05:36:40 2011 (r477) +++ clfswm/doc/keys.txt Sun Jun 5 05:42:22 2011 (r478) @@ -126,6 +126,7 @@ O Open the next window in a new frame in the parent frame Control O Open the next window in a new frame in the root frame A Add a default frame in the current frame + Control A Add a frame in the parent frame (and reorganize parent frame) Plus Increase the tile layout size Minus Decrease the tile layout size Control Plus Increase slowly the tile layout size Modified: clfswm/doc/menu.html ============================================================================== --- clfswm/doc/menu.html Sat Jun 4 05:36:40 2011 (r477) +++ clfswm/doc/menu.html Sun Jun 5 05:42:22 2011 (r478) @@ -1323,148 +1323,103 @@ d: Privilege granting - Configure behavior of the privilege-granting tool

- e: Background - Change the background + e: Multimedia Systems Selector - Configure defaults for GStreamer applications

- f: Date and Time - Date and Time preferences panel + f: Touchpad - Set your touchpad preferences

- g: Displays - Change resolution and position of monitors and projectors + g: Java Control Panel

- h: System Info - System Information + h: Java Policy Settings

- i: Keyboard - Edit keyboard settings and application shortcuts + i: Menu Updating Tool

- j: Removable Media - Configure media and autorun preferences + j: Change Password

- k: Mouse and Touchpad - Set your mouse and touchpad preferences + k: Menu Editor

- l: Network - Network settings + l: System Settings

- m: Power - Power management settings + m: Preferred Applications

- n: Printers - Change printer settings + n: Customize Look and Feel - Customizes look and feel of your desktop and applications

- o: Region and Language - Change your region and language settings + o: Monitor Settings - Change screen resolution and configure external monitors

- p: Screen - Screen brightness and lock settings + p: Opera Widget Manager

- q: Sound - Change sound volume and sound events + q: Panel

- r: Universal Access - Universal Access Preferences + r: Qt Config - Configure Qt behavior, styles, fonts

- s: User Accounts - Add or remove users + s: Startup Applications - Choose what applications to start when you log in

- t: Multimedia Systems Selector - Configure defaults for GStreamer applications + t: File Manager - Configure the Thunar file manager

- u: Touchpad - Set your touchpad preferences + u: Panel tint2 - Customize the panel settings

- v: Java Control Panel + v: Startup Disk Creator - Create a startup disk using a CD or disc image

- w: Java Policy Settings + w: Desktop - Set desktop background and menu and icon behaviour

- x: Menu Updating Tool + x: Display - Configure screen settings and layout

- y: Change Password + y: Keyboard - Edit keyboard settings and application shortcuts

- z: Menu Editor + z: Mouse - Configure pointer device behavior and appearance

- 0: System Settings + 0: Session and Startup - Customize desktop startup and splash screen

- 1: Preferred Applications + 1: Settings Manager - Graphical Settings Manager for Xfce 4

- 2: Customize Look and Feel - Customizes look and feel of your desktop and applications + 2: Appearance - Customize the look of your desktop

- 3: Monitor Settings - Change screen resolution and configure external monitors + 3: Window Manager - Configure window behavior and shortcuts

- 4: Opera Widget Manager + 4: Window Manager Tweaks - Fine-tune window behaviour and effects

- 5: Panel + 5: Workspaces - Set number and names of workspaces

- 6: Qt Config - Configure Qt behavior, styles, fonts + 6: Orage preferences - Settings for the Xfce 4 Calendar Application (Orage)

- 7: Startup Applications - Choose what applications to start when you log in + 7: Accessibility - Improve keyboard and mouse accessibility

- 8: File Manager - Configure the Thunar file manager + 8: Settings Editor - Graphical settings editor for Xfconf

- 9: Panel tint2 - Customize the panel settings + 9: Xfce 4 Printing System Settings - Allow you to select the printing system backend that xfprint will use

- A: Startup Disk Creator - Create a startup disk using a CD or disc image -

-

- B: Desktop - Set desktop background and menu and icon behaviour -

-

- C: Display - Configure screen settings and layout -

-

- D: Keyboard - Edit keyboard settings and application shortcuts -

-

- E: Mouse - Configure pointer device behavior and appearance -

-

- F: Session and Startup - Customize desktop startup and splash screen -

-

- G: Settings Manager - Graphical Settings Manager for Xfce 4 -

-

- H: Appearance - Customize the look of your desktop -

-

- I: Window Manager - Configure window behavior and shortcuts -

-

- J: Window Manager Tweaks - Fine-tune window behaviour and effects -

-

- K: Workspaces - Set number and names of workspaces -

-

- L: Orage preferences - Settings for the Xfce 4 Calendar Application (Orage) -

-

- M: Accessibility - Improve keyboard and mouse accessibility -

-

- N: Settings Editor - Graphical settings editor for Xfconf -

-

- O: Xfce 4 Printing System Settings - Allow you to select the printing system backend that xfprint will use -

-

- P: Screensaver - Change screensaver properties + A: Screensaver - Change screensaver properties


@@ -1507,31 +1462,31 @@ l: Keyboard Layout - Preview keyboard layouts

- m: System Settings + m: Panel

- n: Panel + n: System Monitor

- o: System Monitor + o: GParted - Create, reorganize, and delete partitions

- p: User Accounts - Add or remove users + p: Htop - Show System Processes

- q: GParted - Create, reorganize, and delete partitions + q: Dolphin

- r: Htop - Show System Processes + r: K3b - Disk writing program

- s: Dolphin + s: KDiskFree

- t: K3b - Disk writing program + t: Konqueror

- u: KDiskFree + u: Konqueror

v: Konqueror @@ -1540,79 +1495,73 @@ w: Konqueror

- x: Konqueror -

-

- y: Konqueror -

-

- z: KInfoCenter + x: KInfoCenter

- 0: File Manager - Super User Mode + y: File Manager - Super User Mode

- 1: Konsole + z: Konsole

- 2: KRandRTray - A panel applet for resizing and reorientating X screens. + 0: KRandRTray - A panel applet for resizing and reorientating X screens.

- 3: Krfb + 1: Krfb

- 4: Krusader - root-mode + 2: Krusader - root-mode

- 5: System Monitor + 3: System Monitor

- 6: KSystemLog + 4: KSystemLog

- 7: KUser + 5: KUser

- 8: KWalletManager + 6: KWalletManager

- 9: KwikDisk + 7: KwikDisk

- A: Nepomuk Backup + 8: Nepomuk Backup

- B: Yakuake + 9: Yakuake

- C: Task Manager - Manage running processes + A: Task Manager - Manage running processes

- D: rxvt-unicode - An Unicode capable rxvt clone + B: rxvt-unicode - An Unicode capable rxvt clone

- E: UNetbootin - Tool for creating Live USB drives + C: UNetbootin - Tool for creating Live USB drives

- F: Startup Disk Creator - Create a startup disk using a CD or disc image + D: Startup Disk Creator - Create a startup disk using a CD or disc image

- G: Startup Disk Creator - Create a startup disk using a CD or disc image + E: Startup Disk Creator - Create a startup disk using a CD or disc image

- H: Oracle VM VirtualBox + F: Oracle VM VirtualBox

- I: Wireshark - Network traffic analyzer + G: Wireshark - Network traffic analyzer

- J: Log Out + H: Log Out

- K: Xfe - A lightweight file manager for X Window + I: Xfe - A lightweight file manager for X Window

- L: XNC - Graphical File manager, X Northern Captain + J: XNC - Graphical File manager, X Northern Captain


Modified: clfswm/doc/menu.txt ============================================================================== --- clfswm/doc/menu.txt Sat Jun 4 05:36:40 2011 (r477) +++ clfswm/doc/menu.txt Sun Jun 5 05:42:22 2011 (r478) @@ -447,54 +447,39 @@ b: Preferred Applications c: Keyboard Indicator plugins - Enable/disable installed plugins d: Privilege granting - Configure behavior of the privilege-granting tool -e: Background - Change the background -f: Date and Time - Date and Time preferences panel -g: Displays - Change resolution and position of monitors and projectors -h: System Info - System Information -i: Keyboard - Edit keyboard settings and application shortcuts -j: Removable Media - Configure media and autorun preferences -k: Mouse and Touchpad - Set your mouse and touchpad preferences -l: Network - Network settings -m: Power - Power management settings -n: Printers - Change printer settings -o: Region and Language - Change your region and language settings -p: Screen - Screen brightness and lock settings -q: Sound - Change sound volume and sound events -r: Universal Access - Universal Access Preferences -s: User Accounts - Add or remove users -t: Multimedia Systems Selector - Configure defaults for GStreamer applications -u: Touchpad - Set your touchpad preferences -v: Java Control Panel -w: Java Policy Settings -x: Menu Updating Tool -y: Change Password -z: Menu Editor -0: System Settings -1: Preferred Applications -2: Customize Look and Feel - Customizes look and feel of your desktop and applications -3: Monitor Settings - Change screen resolution and configure external monitors -4: Opera Widget Manager -5: Panel -6: Qt Config - Configure Qt behavior, styles, fonts -7: Startup Applications - Choose what applications to start when you log in -8: File Manager - Configure the Thunar file manager -9: Panel tint2 - Customize the panel settings -A: Startup Disk Creator - Create a startup disk using a CD or disc image -B: Desktop - Set desktop background and menu and icon behaviour -C: Display - Configure screen settings and layout -D: Keyboard - Edit keyboard settings and application shortcuts -E: Mouse - Configure pointer device behavior and appearance -F: Session and Startup - Customize desktop startup and splash screen -G: Settings Manager - Graphical Settings Manager for Xfce 4 -H: Appearance - Customize the look of your desktop -I: Window Manager - Configure window behavior and shortcuts -J: Window Manager Tweaks - Fine-tune window behaviour and effects -K: Workspaces - Set number and names of workspaces -L: Orage preferences - Settings for the Xfce 4 Calendar Application (Orage) -M: Accessibility - Improve keyboard and mouse accessibility -N: Settings Editor - Graphical settings editor for Xfconf -O: Xfce 4 Printing System Settings - Allow you to select the printing system backend that xfprint will use -P: Screensaver - Change screensaver properties +e: Multimedia Systems Selector - Configure defaults for GStreamer applications +f: Touchpad - Set your touchpad preferences +g: Java Control Panel +h: Java Policy Settings +i: Menu Updating Tool +j: Change Password +k: Menu Editor +l: System Settings +m: Preferred Applications +n: Customize Look and Feel - Customizes look and feel of your desktop and applications +o: Monitor Settings - Change screen resolution and configure external monitors +p: Opera Widget Manager +q: Panel +r: Qt Config - Configure Qt behavior, styles, fonts +s: Startup Applications - Choose what applications to start when you log in +t: File Manager - Configure the Thunar file manager +u: Panel tint2 - Customize the panel settings +v: Startup Disk Creator - Create a startup disk using a CD or disc image +w: Desktop - Set desktop background and menu and icon behaviour +x: Display - Configure screen settings and layout +y: Keyboard - Edit keyboard settings and application shortcuts +z: Mouse - Configure pointer device behavior and appearance +0: Session and Startup - Customize desktop startup and splash screen +1: Settings Manager - Graphical Settings Manager for Xfce 4 +2: Appearance - Customize the look of your desktop +3: Window Manager - Configure window behavior and shortcuts +4: Window Manager Tweaks - Fine-tune window behaviour and effects +5: Workspaces - Set number and names of workspaces +6: Orage preferences - Settings for the Xfce 4 Calendar Application (Orage) +7: Accessibility - Improve keyboard and mouse accessibility +8: Settings Editor - Graphical settings editor for Xfconf +9: Xfce 4 Printing System Settings - Allow you to select the printing system backend that xfprint will use +A: Screensaver - Change screensaver properties System a: Terminal - Use the command line @@ -509,42 +494,40 @@ j: dconf Editor - Directly edit your entire configuration database k: Configuration Editor - Directly edit your entire configuration database l: Keyboard Layout - Preview keyboard layouts -m: System Settings -n: Panel -o: System Monitor -p: User Accounts - Add or remove users -q: GParted - Create, reorganize, and delete partitions -r: Htop - Show System Processes -s: Dolphin -t: K3b - Disk writing program -u: KDiskFree +m: Panel +n: System Monitor +o: GParted - Create, reorganize, and delete partitions +p: Htop - Show System Processes +q: Dolphin +r: K3b - Disk writing program +s: KDiskFree +t: Konqueror +u: Konqueror v: Konqueror w: Konqueror -x: Konqueror -y: Konqueror -z: KInfoCenter -0: File Manager - Super User Mode -1: Konsole -2: KRandRTray - A panel applet for resizing and reorientating X screens. -3: Krfb -4: Krusader - root-mode -5: System Monitor -6: KSystemLog -7: KUser -8: KWalletManager -9: KwikDisk -A: Nepomuk Backup -B: Yakuake -C: Task Manager - Manage running processes -D: rxvt-unicode - An Unicode capable rxvt clone -E: UNetbootin - Tool for creating Live USB drives -F: Startup Disk Creator - Create a startup disk using a CD or disc image -G: Startup Disk Creator - Create a startup disk using a CD or disc image -H: Oracle VM VirtualBox -I: Wireshark - Network traffic analyzer -J: Log Out -K: Xfe - A lightweight file manager for X Window -L: XNC - Graphical File manager, X Northern Captain +x: KInfoCenter +y: File Manager - Super User Mode +z: Konsole +0: KRandRTray - A panel applet for resizing and reorientating X screens. +1: Krfb +2: Krusader - root-mode +3: System Monitor +4: KSystemLog +5: KUser +6: KWalletManager +7: KwikDisk +8: Nepomuk Backup +9: Yakuake +A: Task Manager - Manage running processes +B: rxvt-unicode - An Unicode capable rxvt clone +C: UNetbootin - Tool for creating Live USB drives +D: Startup Disk Creator - Create a startup disk using a CD or disc image +E: Startup Disk Creator - Create a startup disk using a CD or disc image +F: Oracle VM VirtualBox +G: Wireshark - Network traffic analyzer +H: Log Out +I: Xfe - A lightweight file manager for X Window +J: XNC - Graphical File manager, X Northern Captain Utility a: SAGE - SAGE NOTEBOOK Modified: clfswm/src/bindings-second-mode.lisp ============================================================================== --- clfswm/src/bindings-second-mode.lisp Sat Jun 4 05:36:40 2011 (r477) +++ clfswm/src/bindings-second-mode.lisp Sun Jun 5 05:42:22 2011 (r478) @@ -143,6 +143,7 @@ (define-second-key ("o") 'set-open-in-new-frame-in-parent-frame-nw-hook) (define-second-key ("o" :control) 'set-open-in-new-frame-in-root-frame-nw-hook) (define-second-key ("a") 'add-default-frame) + (define-second-key ("a" :control) 'add-frame-in-parent-frame) (define-second-key ("plus") 'inc-tile-layout-size) (define-second-key ("minus") 'dec-tile-layout-size) (define-second-key ("plus" :control) 'inc-slow-tile-layout-size) Modified: clfswm/src/clfswm-util.lisp ============================================================================== --- clfswm/src/clfswm-util.lisp Sat Jun 4 05:36:40 2011 (r477) +++ clfswm/src/clfswm-util.lisp Sun Jun 5 05:42:22 2011 (r478) @@ -98,6 +98,20 @@ (push (create-frame :name name) (frame-child *current-child*)))) (leave-second-mode)) +(defun add-frame-in-parent-frame () + "Add a frame in the parent frame (and reorganize parent frame)" + (let ((new-frame (create-frame)) + (parent (find-parent-frame *current-child*))) + (when parent + (pushnew new-frame (frame-child parent)) + (setf *current-root* parent + *current-child* parent) + (set-layout-once #'tile-space-layout) + (setf *current-child* new-frame) + (leave-second-mode)))) + + + (defun add-placed-frame () "Add a placed frame in the current frame" From pbrochard at common-lisp.net Tue Jun 7 20:49:05 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 07 Jun 2011 13:49:05 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. 3a100320a99c5ea9d20d66afb4d3451db8507c2e Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via 3a100320a99c5ea9d20d66afb4d3451db8507c2e (commit) from a20cae39cc8de5a2dd5775cc3c875b629616b0a7 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 3a100320a99c5ea9d20d66afb4d3451db8507c2e Author: Philippe Brochard Date: Tue Jun 7 22:49:39 2011 +0200 Git on common-lisp.net test. Git emails test diff --git a/TODO b/TODO index 0aeb62d..4c366c3 100644 --- a/TODO +++ b/TODO @@ -7,6 +7,8 @@ URGENT PROBLEMS =============== Should handle these soon. +Another git Test (emails) + -> Nothing here yet. ----------------------------------------------------------------------- Summary of changes: TODO | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Tue Jun 7 20:52:44 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 07 Jun 2011 13:52:44 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. a5c67700a4539103448c62244dbafa4174ac3c1a Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via a5c67700a4539103448c62244dbafa4174ac3c1a (commit) from 3a100320a99c5ea9d20d66afb4d3451db8507c2e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit a5c67700a4539103448c62244dbafa4174ac3c1a Author: Philippe Brochard Date: Tue Jun 7 22:53:20 2011 +0200 Git on common-lisp.net test. Git emails test diff --git a/TODO b/TODO index 4c366c3..1625f05 100644 --- a/TODO +++ b/TODO @@ -7,7 +7,7 @@ URGENT PROBLEMS =============== Should handle these soon. -Another git Test (emails) +Another git Test (email) 2 -> Nothing here yet. ----------------------------------------------------------------------- Summary of changes: TODO | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Tue Jun 7 21:09:43 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 07 Jun 2011 14:09:43 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. fe96c404ab44a9949e730aed86df2c6a73c6703e Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via fe96c404ab44a9949e730aed86df2c6a73c6703e (commit) from a5c67700a4539103448c62244dbafa4174ac3c1a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit fe96c404ab44a9949e730aed86df2c6a73c6703e Author: Philippe Brochard Date: Tue Jun 7 23:10:18 2011 +0200 Git on common-lisp.net test. Git emails test diff --git a/TODO b/TODO index 1625f05..ac2ef08 100644 --- a/TODO +++ b/TODO @@ -7,7 +7,7 @@ URGENT PROBLEMS =============== Should handle these soon. -Another git Test (email) 2 +Another git Test (email) 3 -> Nothing here yet. ----------------------------------------------------------------------- Summary of changes: TODO | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Tue Jun 7 21:17:14 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 07 Jun 2011 14:17:14 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. 4508d72d46ab6f20f7cda8ccdda9ed34c51a8793 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via 4508d72d46ab6f20f7cda8ccdda9ed34c51a8793 (commit) from fe96c404ab44a9949e730aed86df2c6a73c6703e (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 4508d72d46ab6f20f7cda8ccdda9ed34c51a8793 Author: Philippe Brochard Date: Tue Jun 7 23:17:49 2011 +0200 Git on common-lisp.net test. Git emails test - End diff --git a/TODO b/TODO index ac2ef08..0aeb62d 100644 --- a/TODO +++ b/TODO @@ -7,8 +7,6 @@ URGENT PROBLEMS =============== Should handle these soon. -Another git Test (email) 3 - -> Nothing here yet. ----------------------------------------------------------------------- Summary of changes: TODO | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Wed Jun 8 06:41:29 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 07 Jun 2011 23:41:29 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. eae099d3e0683513130b31a59cdcfb8f5da3f3da Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via eae099d3e0683513130b31a59cdcfb8f5da3f3da (commit) from 4508d72d46ab6f20f7cda8ccdda9ed34c51a8793 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit eae099d3e0683513130b31a59cdcfb8f5da3f3da Author: Philippe Brochard Date: Wed Jun 8 08:42:01 2011 +0200 Test of both repo.or.cz and common-lisp.net git repositories diff --git a/TODO b/TODO index 0aeb62d..0524af8 100644 --- a/TODO +++ b/TODO @@ -7,6 +7,8 @@ URGENT PROBLEMS =============== Should handle these soon. +Test both git repository on repo.or.cz and common-lisp.net + -> Nothing here yet. ----------------------------------------------------------------------- Summary of changes: TODO | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Wed Jun 8 06:56:41 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 07 Jun 2011 23:56:41 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. 73451e0f4e12f355bdc932cb9a2e8ab1a39a5442 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via 73451e0f4e12f355bdc932cb9a2e8ab1a39a5442 (commit) from eae099d3e0683513130b31a59cdcfb8f5da3f3da (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 73451e0f4e12f355bdc932cb9a2e8ab1a39a5442 Author: Philippe Brochard Date: Wed Jun 8 08:57:15 2011 +0200 src/clfswm-internal.lisp (delete-child-and-children-in-all-frames): Delete or destroy children before displaying all children. diff --git a/ChangeLog b/ChangeLog index bb3d229..2d24a6c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-06-08 Philippe Brochard + + * src/clfswm-internal.lisp + (delete-child-and-children-in-all-frames): Delete or destroy + children before displaying all children. + 2011-06-05 Philippe Brochard * src/clfswm-util.lisp (add-frame-in-parent-frame): New function diff --git a/TODO b/TODO index 0524af8..0aeb62d 100644 --- a/TODO +++ b/TODO @@ -7,8 +7,6 @@ URGENT PROBLEMS =============== Should handle these soon. -Test both git repository on repo.or.cz and common-lisp.net - -> Nothing here yet. diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp index 280eda3..24ddd3e 100644 --- a/src/clfswm-internal.lisp +++ b/src/clfswm-internal.lisp @@ -1172,9 +1172,9 @@ Warning:frame window and gc are freeed." (when (child-equal-p child *current-child*) (setf *current-child* *current-root*)) (delete-child-and-children-in-frames child *root-frame*) - (show-all-children) (when (xlib:window-p child) - (funcall close-methode child))) + (funcall close-methode child)) + (show-all-children)) ----------------------------------------------------------------------- Summary of changes: ChangeLog | 6 ++++++ TODO | 2 -- src/clfswm-internal.lisp | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Wed Jun 8 08:57:43 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 08 Jun 2011 01:57:43 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. c7bdf8d74c01bd59d3dac47244925bde02e3d316 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via c7bdf8d74c01bd59d3dac47244925bde02e3d316 (commit) from 73451e0f4e12f355bdc932cb9a2e8ab1a39a5442 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit c7bdf8d74c01bd59d3dac47244925bde02e3d316 Author: Philippe Brochard Date: Wed Jun 8 10:58:18 2011 +0200 Release 1106 diff --git a/ChangeLog b/ChangeLog index 2d24a6c..4cdf441 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2011-06-08 Philippe Brochard + * *: **** Release 1102 **** + +2011-06-08 Philippe Brochard + * src/clfswm-internal.lisp (delete-child-and-children-in-all-frames): Delete or destroy children before displaying all children. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Wed Jun 8 08:59:33 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 08 Jun 2011 01:59:33 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. 1272fcf1d0e74f0279b83b773bfe19f228137fb4 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via 1272fcf1d0e74f0279b83b773bfe19f228137fb4 (commit) from c7bdf8d74c01bd59d3dac47244925bde02e3d316 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 1272fcf1d0e74f0279b83b773bfe19f228137fb4 Author: Philippe Brochard Date: Wed Jun 8 11:00:07 2011 +0200 Changelog update diff --git a/ChangeLog b/ChangeLog index 4cdf441..14d2799 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,6 @@ 2011-06-08 Philippe Brochard - * *: **** Release 1102 **** + * *: **** Release 1106 **** 2011-06-08 Philippe Brochard ----------------------------------------------------------------------- Summary of changes: ChangeLog | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Wed Jun 8 19:42:26 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 08 Jun 2011 12:42:26 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. 04eb71e13410ef28f3ef8cf027cf50be4dae998a Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via 04eb71e13410ef28f3ef8cf027cf50be4dae998a (commit) from 1272fcf1d0e74f0279b83b773bfe19f228137fb4 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 04eb71e13410ef28f3ef8cf027cf50be4dae998a Author: Philippe Brochard Date: Wed Jun 8 21:42:56 2011 +0200 src/clfswm-internal.lisp (clean-windows-in-all-frames): New function to prevent xlib error when a window is deleted. diff --git a/ChangeLog b/ChangeLog index 14d2799..86ab774 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ 2011-06-08 Philippe Brochard - * *: **** Release 1106 **** + * src/clfswm-internal.lisp (clean-windows-in-all-frames): New + function to prevent xlib error when a window is deleted. 2011-06-08 Philippe Brochard diff --git a/load.lisp b/load.lisp index aa2baeb..094cb45 100644 --- a/load.lisp +++ b/load.lisp @@ -63,6 +63,9 @@ (in-package :clfswm) +(main-unprotected :read-conf-file-p t) +(quit) + #-:BUILD-DOC (ignore-errors (main :read-conf-file-p t)) diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp index 24ddd3e..b50c937 100644 --- a/src/clfswm-internal.lisp +++ b/src/clfswm-internal.lisp @@ -690,6 +690,7 @@ + (defgeneric adapt-child-to-parent (child parent)) (defmethod adapt-child-to-parent ((window xlib:window) parent) @@ -1156,7 +1157,6 @@ Warning:frame window and gc are freeed." (setf *current-child* *current-root*)) (delete-child-in-frames child *root-frame*)) - (defun delete-child-and-children-in-frames (child root) "Delete child and its children in the frame root and in all its children Warning:frame window and gc are freeed." @@ -1177,6 +1177,19 @@ Warning:frame window and gc are freeed." (show-all-children)) +(defun clean-windows-in-all-frames () + "Remove all xlib:windows present in *root-frame* and not in the xlib tree" + (let ((x-tree (xlib:query-tree *root*))) + (with-all-frames (*root-frame* frame) + (dolist (child (frame-child frame)) + (when (xlib:window-p child) + (unless (member child x-tree :test #'xlib:window-equal) + (setf (frame-child frame) + (child-remove child (frame-child frame))))))))) + + + + (defun place-window-from-hints (window) "Place a window from its hints" diff --git a/src/clfswm.lisp b/src/clfswm.lisp index 5772fee..6399eac 100644 --- a/src/clfswm.lisp +++ b/src/clfswm.lisp @@ -94,6 +94,7 @@ (unless (and (not send-event-p) (not (xlib:window-equal window event-window))) (when (find-child window *root-frame*) + (clean-windows-in-all-frames) (delete-child-in-all-frames window) (show-all-children)))) @@ -102,6 +103,7 @@ (unless (or send-event-p (xlib:window-equal window event-window)) (when (find-child window *root-frame*) + (clean-windows-in-all-frames) (delete-child-in-all-frames window) (show-all-children)))) ----------------------------------------------------------------------- Summary of changes: ChangeLog | 3 ++- load.lisp | 3 +++ src/clfswm-internal.lisp | 15 ++++++++++++++- src/clfswm.lisp | 2 ++ 4 files changed, 21 insertions(+), 2 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Wed Jun 8 19:52:57 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 08 Jun 2011 12:52:57 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. b188c017d6302c3e2e8e52b020d29c9a7ad05bef Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via b188c017d6302c3e2e8e52b020d29c9a7ad05bef (commit) from 04eb71e13410ef28f3ef8cf027cf50be4dae998a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit b188c017d6302c3e2e8e52b020d29c9a7ad05bef Author: Philippe Brochard Date: Wed Jun 8 21:53:28 2011 +0200 load.lisp: remove unprotected test case diff --git a/ChangeLog b/ChangeLog index 86ab774..6ed6989 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2011-06-08 Philippe Brochard + * *: **** Release 1106 **** + +2011-06-08 Philippe Brochard + * src/clfswm-internal.lisp (clean-windows-in-all-frames): New function to prevent xlib error when a window is deleted. diff --git a/load.lisp b/load.lisp index 094cb45..aa2baeb 100644 --- a/load.lisp +++ b/load.lisp @@ -63,9 +63,6 @@ (in-package :clfswm) -(main-unprotected :read-conf-file-p t) -(quit) - #-:BUILD-DOC (ignore-errors (main :read-conf-file-p t)) ----------------------------------------------------------------------- Summary of changes: ChangeLog | 4 ++++ load.lisp | 3 --- 2 files changed, 4 insertions(+), 3 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Wed Jun 8 20:25:06 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 08 Jun 2011 13:25:06 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. 59cd35db78c29e540c7b4af221c0c42662d231af Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via 59cd35db78c29e540c7b4af221c0c42662d231af (commit) from b188c017d6302c3e2e8e52b020d29c9a7ad05bef (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 59cd35db78c29e540c7b4af221c0c42662d231af Author: Philippe Brochard Date: Wed Jun 8 22:24:53 2011 +0200 Finale 1106 release diff --git a/TODO b/TODO index 0aeb62d..89275af 100644 --- a/TODO +++ b/TODO @@ -13,7 +13,7 @@ Should handle these soon. FOR THE NEXT RELEASE ==================== -- Implement a save/restore root-frame system. ANd use it on error reset. +- Implement a save/restore root-frame system. And use it on error reset. MAYBE ===== ----------------------------------------------------------------------- Summary of changes: TODO | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Wed Jun 8 20:25:53 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 08 Jun 2011 13:25:53 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager annotated tag R-1106 created. R-1106 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The annotated tag, R-1106 has been created at 4689def5ccbb76bd9d1864797e89737e79c11450 (tag) tagging 59cd35db78c29e540c7b4af221c0c42662d231af (commit) tagged by Philippe Brochard on Wed Jun 8 22:25:15 2011 +0200 - Log ----------------------------------------------------------------- 1106 release Desmond O. Chang (6): XDG_CONFIG_HOME should be $HOME/.config by default. src/clfswm-util.lisp (run-or-raise): New function (thanks to Desmond O. Chang). src/keysyms.lisp: Add extended keysyms from stumpwm. No need to create the functions every time. src/clfswm.lisp (main): Use ASDF:SYSTEM-SOURCE-DIRECTORY instead of *LOAD-TRUENAME*. *LOAD-TRUENAME* is only bound during a call to LOAD. If one eval CLFSWM:MAIN in repl, BASE-DIR will be an empty string. Use ASDF:SYSTEM-SOURCE-DIRECTORY to fix it. contrib/volume-mode.lisp: Add a volume mode inspired by the emms volume package. and its alsa mixer interface Krzysztof Drewniak (1): Fix a README spelling error Philippe Brochard (401): first commit first commit first commit first commit first commit remove all Merge git+ssh://hocwp at repo.or.cz/srv/git/clfswm A test of new git repository remove all again populating Merge git+ssh://hocwp at repo.or.cz/srv/git/clfswm populating populating populating populating test of svn and git test of svn and git adding .gitignore Unmanaged windows are now allowed to be moved or resized. resize-window: Take care of window size hints. manage-current-window, unmanage-current-window: New functions: Allow to force to manage or unmanage a window by its parent frame. Display unmanaged windows only when its window parent is the current child. paste-selection-no-clear: Prevent to paste a child on one of its own children. (this prevent a recursive bug). mouse-move-window-over-frame: New function to move the window under the mouse cursor to another frame. produce-doc-*: Moved to clfswm-autodoc.lisp. Produce-menu-doc, produce-menu-doc-html: New functions. update the TODO file update the TODO file menu-def.lisp: New file Add boundaries in the info mode window. Info mode: Add boundaries with mouse wheel movement Display all texts with a double buffering method -m Documentation update display all frame info before leaving the second mode or the info mode. For different mouse actions: Ensure that the current child is a frame. set-current-child, adapt-child-to-parent, show-child, hide-child): Handle the case where child is not a frame or a window. Version update Update the dot-clfswm. New bindings to frame-pack/fill/resize-menu README update Give a minimal size for windows. Center windows in the screen instead of in there frame. tile-space-current-frame bound on C-t. Autodoc update Take care of unmanaged (hidden) windows. Use 'Tab' instead of 'Iso_Left_Tab'. bind-or-jump: Bind 'Tab', 'Return' and 'Space' to jump to a child. 'B' to bind a slot on the current child. Show a message to follow the autodocumentation process. Second mode #\a: New binding on 'add-default-frame'. In *.lisp: Rename 'brother' frames to 'sister' frames. with-movement: Display frame info for all frames in current root. resize-window: Use a better algorithme to resize windows. show-child: Always display frame info even if the frame is hidden. current-frame-manage-window-type: Fix a typo in managed types. place-window-from-hints: Center unmanaged windows in the root screen. clear-nw-hook, clear-all-nw-hooks: new functions. leave-focus-frame-nw-hook: remove an ignore declaration (tile-left-space-layout): New layout. (tile-left-layout, tile-right-layout, tile-top-layout, tile-bottom-layout): Use all the frame space when there is only one child. default-frame-nw-hook: Do not handle the ROX pinboard (ie: leave it lowered in the root window as expected). Autodoc: produce-*-doc-*: Add a note to use the autodoc functions. More dot-clfswmrc examples remove-child-in-frame: Destroy the frame window for the removed child and its children. remove-child-in-frame: better algorithm to remove window and gc frame rename-current-child: Do not display the frame info for a window. hide/show-frame-window: new function and menu item. hide-current-child, unhide-a-child, unhide-all-children: New functions. info-mode-menu: Handle symbols and functions. (TODO update) hide-current-child, unhide-a-child, unhide-all-children: New functions. unhide-a-child-from-all-frames: Unhide a child from a choice in all frames with hidden children. info-mode-menu: Handle separators. have-to-present-windows, have-to-present-all-windows: New functions to have an MaxOS expose like on mouse click in screen corner. Info-mode: Page_Down, Page_Up: Add boundaries. frame-lower-child, frame-raise-child: New functions to raise/lower a child in its frame. mouse-click-to-focus-and-move-window, mouse-click-to-focus-and-resize-window: Stop button event. This prevent a keyboard/pointer freeze. leave-focus-frame-nw-hook: Adapt behaviour to the new raise/lower property. leave-focus-frame-nw-hook: Call clear-nw-hook before the rest of the hook. Add raise/lower keys on second mode and in a menu entry show-all-children: Always raise all displayed children. Remove all references to raise-p. raise-p-list, show-all-children: Raise only viewable children. focus-child: Algorithm change to raise only the selected child. (show-all-children): Compute geometry and selection first and then show only necessary children. (show-child): remove unneeded display-p parameter. (get-fullscreen-size): Place the frame border outside the screen (this prevent the loose of 2 pixels per directions :) Compress motion events in event loop display-current-window-info: Display the window id. have-to-present-virtual-keyboard: Add a virtual keyboard corner (top right by default). By default 'xvkbd' is used. place maxsized and fullscreened windows in the center of the screen 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 Different focus policy by frame. A possible GIMP layout Factorize layouts in menu. Allow comments in menu. Main window layout for top, bottom and left direction src/clfswm-layout.lisp (set-gimp-layout): Change the layout to main-window-right-layout. Change the keybinding for (shift)alt+tab to not select windows in the main window lisst. Bind F8 to add a window in the main window list. Bind F9 to remove a window in the main window list. Change the focus policy to :sloppy. Add a specific GIMP layout menu. (help-on-gimp-layout): Describe how to use the GIMP layout. main, main-unprotected: Handle error in a superior main function. Now CLFSWM can't break the X session. It just reinitialize the display and run a new main loop. reload-clfswm: New function to reload CLFSWM. Rename quit-clfswm to exit-clfswm. Reset-clfswm: new function handle-enter-notify: Add a sloppy strict focus policy -> Sloppy focus only for windows in the current frame. main-unprotected: Exit clfswm on init error (ie: when another window manager is running). handle-enter-notify: sloppy-select mode. Select a child and its parents on mouse over. Add a menu entry to set a focus policy for all frames. Handle the case where cursor is nil. (workaround on some CLX implementation). Change key binding for the CLFSWM menu entry. Bind 't' to tile-current-frame. Documentation update Documentation update show-all-children: Do not raise a child by default => far less flickering. show-all-children: Do not raise a child by default => far less flickering. (Changelog update) named-frame-nw-hook/numbered-frame-nw-hook: open the next window in a named/numbered frame. Documentation update clfswm.asd update ensure-unique-name/number: New function and menu entry. Documentation update dot-clfswmrc update TODO update TODO update jump-to-slot: Prevent to jump on a deleted child. jump-to-slot: Prevent to jump on a deleted child. TODO update my-character->keysyms: Use a macro to avoid warning with clisp/new-clx. display-frame-info: Use configurable colors and fix a bug with background. display-frame-info: Set window background when displaying info. query-string: Do not ungrab keyboard if it's already grabbed. show-standard-menu: Display the standard menu from the 'update-menus' command. menu-def.lisp: Use a menu instead of a function for the standard menu. open-menu: Remember parent menu to undo menu opening. src/clfswm-keys.lisp: Add a default modifiers list before bindings keys. This allow the use of Numlock or Caps_Lock while using clfswm. Remove a with-numlock not yet defined Use the *binding-hook* to create main/second/info keys and mouse bindings. with-capslock, without-capslock, with-numlock, without-cnumlock: New functions. TODO and configuration file update remove-hook: New function. TODO update. Fix a typo in without-numlock unalias-modifiers: Convert a modifier alias in a real modifier. For example: :alt is :mod-1, :numlock is :mod-2... Rename sister frame to brother frame. Doc update Add children navigation menu in the movement menu (select next/previous child/brother/level). - clisp/new-clx is supported with a least the 2.48 version (not yet released) wait-no-key-or-button-press, wait-a-key-or-button-press: Check buttons press/release correctly Add a needed argument in funcall-button-from-code get-color: Allocate colors only once -> fix a segfault with clisp/new-clx. handle-map-request: Add a fix to manage correctly fullscreen windows (SDL particularly). handle-map-request: Remove unused override-redirect-p argument Handle fullscreen windows the icewm way null-size-window-p): Better check of null sized windows. info-mode: Ensure integer windows size. Use *default-font-string* for all font-string. Test username run-program-from-query-string: Launch command only with a return validation. Begining of circulate-mode circulate-mode: Optimisation in window redraw. sm-handle-motion-notify: Optimisation when drawing second mode window. src/*.lisp (*): Use map-window instead of xlib:map-window. So calls xlib:display-finish-output on each map-request. So speed up the window display. reorder-child, reorder-brother: Reinitialise on circulate type change child to brother or brother to child. Add support for Clozure Common Lisp (CCL) maximize-layout: New layout: Maximize windows and frames in there parent frame. frame-toggle-maximize: New function: Maximize/Unmaximize the current frame in its parent frame. frame-toggle-maximize: Redisplay only the parent frame of the current frame. reorder-child, reorder-brother: Handle empty frames. reorder-brother: Redisplay only the parent frame of the current child. update documentation clfswm.asd: Dependency fix for clfswm-generic-mode. reorder-brother: Handle root-frame correctly. info-mode: Optimization in loop function. *.lisp: Handle motion with a default modifier. reorder-brother: Ensure that the parent is a frame. test src/clfswm-placement.lisp: New file. Allow to place info windows or query windows on an arbitrary place. Allow to bannish the pointer on an arbitrary place. package.lisp: fixe default placements fixe TODO and bannish pointer placement query-enter-function: Assign font before width and height calculation. *-child-placement: Adjust coordinates to one pixel in the current child. get-fullscreen-size: Adjust default fullscreen sizes. draw-circulate-mode-window: Ensure that all characters are printable. clfswm-circulate-mode: Adjust circulate-mode-placement get-fullscreen-size, *-child-placement: One pixel adjustment (again). TODO update Minor documentation update contrib/mpd.lisp: New file to handle the Music Player Daemon (MPD) clfswm-info.lisp: Use a standard menu for the help-menu. contrib/mpd.lisp: Use a standard menu. TODO update contrib/keyb_fr.lisp: New file to handle an azerty keyboard. set-default-second-keys: Bind 'o' on set-open-in-new-frame-in-parent-frame-nw-hook. set-no-layout-remember-size): New layout: Maximize windows in there frame - Leave frames to there actual size. contrib/xmms.lisp: New file to handle the xmms player. contrib/cd-player.lisp: New file to handle the CD player. one-column-layout, one-line-layout: New layouts. tile-layout, tile-horizontal-layout: Keep child order and don't make unnecessary child movement. tile-layout, tile-horizontal-layout: Keep child order and don't make unnecessary child movement. One-column-layout, One-line-layout: New layouts. contrib/mpd.lisp (start-gmpc): Add gmpc in the mpd menu. TODO update Simplification of Escape key to close/kill/remove the focus window and unhide all windows. TODO update. Add a read-conf-file-p parameter to prevent reading the configuration file. Add a Suspend/Reboot/Halt menu in contrib reboot-halt.lisp: Remove test code Begining of mouse support in info mode. Add mouse support in info mode. clfswm is now usable only with the mouse save-configuration-variables): New function to save all configuration variables in clfswmrc. clfswm.lisp: fixe configuration file name Configuration menu: New menu to configure all clfswm variables while clfswm is running. Add an information about configuration variables TODO update. Change key order in configuration menu Begin with #\a key in the configuration menu Change save key in configuration menu Prevent errors while in configuration menu Prevent to add a newline on each configuration variables save src/clfswm.lisp (main): Add an alternate configuration filename parameter. load.lisp: Add a debuging code example. Replace Menu* keys with Alt-F10* in bindings*.lisp Add a loop-hook parameter and a loop timeout. contrib/reboot-halt.lisp: Do nothing on the first menu entry -m -m run-other-window-manager: Add the ability to launch an other window manager and to return to clfswm. Add a configure/make procedure to build clfswm identify-key, move-window, resize-window, wait-mouse-button-release: Add a timeout in xlib:process-event. clfswm-util.lisp (mouse-click-to-focus-generic): Use find-child-under-mouse instead of the window passed by xlib:process-event. clfswm-util.lisp (delete-focus-window, destroy-focus-window): Remove child in parent frame before stopping it. src/clfswm-util.lisp (mouse-click-to-focus-generic): Redisplay all children in *current-root* after moving/resizing a frame. src/clfswm-internal.lisp (remove-child-in-frame): Do not destroy the frame window and the frame gc. Close a very annoying bug when cuting/pasting a frame or moving a child over frames with the mouse. bindings-second-mode.lisp (set-default-second-mouse): Use mouse-move-child-over-frame instead of mouse-move-window-over-frame src/clfswm-internal.lisp (delete-child-and-children-in-all-frames): New function and binding: Second mode - Control+Delete delete the current child and its children in all frames (ie: close the current child and its children). src/binding*.lisp: Bind control+g to escape the current action like emacs. src/package.lisp: Add a placement configuration group. src/clfswm-util.lisp (delete-current-child): Invert bindings and menu entry between delete-current-child and remove-current-child. ie: Delete a child and its children in all frames by default. big summer commit Add a clfswm server/client clean contrib/server/ src/*.lisp: Replace the case to handle event with a more (tricky) lispy method which bind a function to each keywords associated to graphics events. Remove event handler hooks as they're not needed anymore (To replace them: use closure and define-handler). Date copyright and version update Documentation update Documentation update src/clfswm-util.lisp (mouse-click-to-focus-generic): Fix an unwanted flickering with unmanaged windows. TODO update src/clfswm-internal.lisp. with-find-in-all-frames: New macro. find-parent-frame, find-frame-window, find-frame-by-name find-frame-by-number: Use with-find-in-all-frames to search in frames in the right order. src/xlib-util.lisp (compress-motion-notify): Use a loop instead of an event-case. contrib/server/key.lisp (ushell-sh): Add ccl and ecl support. main-loop, generic-mode: Use an xlib:event-listen before processing event with xlib:process-event. This prevent a bug with CLX threaded implementation like sbcl. * src/*.lisp: Use the new child-equal-p to compare children. This prevent a bug with sbcl/cmucl when the standard equal function does not work with xlib:window. * src/clfswm-internal.lisp (child-equal-p): New predicate. src/clfswm-keys.lisp (define-ungrab/grab): Use all values returned by xlib:keysym->keycodes. src/clfswm-keys.lisp (define-ungrab/grab): Remove debug test src/clfswm-circulate-mode.lisp (circulate-loop-function): Use is-a-key-pressed-p. src/xlib-util.lisp (is-a-key-pressed-p): New predicate. main-mode:configure-request: Raise the window only when present on the current child and focus it accordingly. src/clfswm.lisp (main-loop): Ensure that all events have been processed after a process-event. main-mode:configure-request: Do not raise fullscreened windows. child-member, child-remove: New predicates. src/*.lisp: Use child-member and child-remove everywhere it's needed. hide-current-child: Prevent from removing the current root. run-other-window-manager: Update for clisp compatibility. src/clfswm-corner.lisp (present-clfswm-terminal): Make the clfswm terminal working even on xterm title changes. src/xlib-util.lisp (handle-event): use with-xlib-protect only in handle-event. Add a with-simple-restart to prevent a clisp/new-lisp infinite loop. src/clfswm.lisp (main-loop): Protect all xlib functions with an with-xlib-protect. with-xlib-protect: Add a with-simple-restart on top of body execution. src/clfswm.lisp (error-handler): New function do handle asynchronous errors and ignore them. (open-display): Install the new error-handler on display. src/clfswm-util.lisp (update-menus): Follow XDG specifications instead of the non-portable Debian update-menu. src/clfswm-corner.lisp (generate-present-body): New macro. (present-clfswm-terminal, present-virtual-keyboard): Use generate-present-body. Remove useless comment src/clfswm-util.lisp (update-menus): List all directories and subdirectories in /usr/share:/usr/local/share:/usr/share:/usr/local/share:/usr/share:/usr/local/share:/usr/share:/usr/local/share:/usr/share:/usr/local/share/applications. Add a Screensaver section in standard menu set-hide-unmanaged-window, set-show-unmanaged-window, set-default-hide-unmanaged-window: New functions and menu entry to hide or not unmanaged windows. Documentation update set-globally-hide-unmanaged-window, set-globally-show-unmanaged-window: New functions and menu entry. Documentation update TODO update contrib/clfswm: Add support to cmucl, ccl and ecl. contrib/clfswm: Move clfswm sources to if there is no write permission on . So anybody can start clfswm even if there is no write permission on the source directory. src/clfswm-util.lisp (speed-mouse-reset, speed-mouse-left, speed-mouse-right, speed-mouse-up, speed-mouse-down, speed-mouse-undo, speed-mouse-first-history): New functions to quickly move the mouse. Implemented for the second mode. src/clfswm-util.lisp (speed-mouse-reset, speed-mouse-left, speed-mouse-right, speed-mouse-up, speed-mouse-down, speed-mouse-undo, speed-mouse-first-history): New functions to quickly move the mouse. Implemented for the second mode. src/clfswm-util.lisp (speed-mouse-right, speed-mouse-down): Use screen size instead of hardcoded test coordinates. src/clfswm-expose-mode.lisp: Move and rename present*-windows in a separate clfswm-expose-mode.lisp file. src/xlib-util.lisp (with-handle-event-symbol): Use a filled list with handle-event-fun symbols instead of inspecting clfswm internals symbols on each mode change. Update corners from present-windows to expose-windows-mode src/clfswm-expose-mode.lisp (expose-windows-mode, expose-all-windows-mode): Use a generic mode. src/clfswm-internal.lisp (child-position): New function. src/clfswm-expose-mode.lisp (expose-mode-display-accel-windows): New functions. Add a window on each child in the expose mode to quickly select them. Fixe a double gcontext free configure: Use the Xavier Maillard clfswm script in contrib to build an executable in the standard way. Upgrade to asdf 2.0 TODO update. Documentation update. TODO update src/clfswm-expose-mode.lisp (expose-create-window): Show window title in accel window. src/clfswm-nw-hooks.lisp (absorb-window-nw-hook): Absorb new window hook: the frame absorb all new windows that match nw-absorb-test frame data slot. src/clfswm-util.lisp (bind-on-slot): Add an optional parameter to bind the current child from the configuration file. src/clfswm-circulate-mode.lisp (select-next-subchild): Add the possibility to circulate over subchild of the current child. TODO update Documentation update Circulate in subchild: show-all-children only for current frame src/clfswm-internal.lisp (show-all-children): Do not raise a child when its parent is hidden. src/clfswm-query.lisp (query-print-string): Change cursor color and show parenthesis matching with colors (on match and on errors). src/clfswm-query.lisp (add-in-query-string): Handle correctly the mod-5 modifier. * src/clfswm-util.lisp (): Add an Hello window at startup. * src/tools.lisp (process-timers): Add a timer system. clfswm.lisp: move display-hello-window in the *init-hook* list src/clfswm-util.lisp (display-hello-window): Add a timer to hide the hello window. Add Configuration variables. src/tools.lisp (add-timer): Add an id to identify the timer. Remove test functions src/clfswm-util.lisp (open-notify-window): Convert hello-window functions to a more generic Notify-window system. src/clfswm-info.lisp (show-first-aid-kit): Display the essential key binding in main and second mode. Documentation update contrib/osd.lisp: New file: OSD (On Screen Display) for presentations. src/clfswm-menu.lisp (open-menu): Modularise function. src/clfswm-keys.lisp (binding-substitute-modifier): Utility to change modifiers after binding definition. src/clfswm-internal.lisp (show-child): Show window only if not hidden. * src/xlib-util.lisp: Remove unnecessary xlib:display-finish-output. contrib/server/server.lisp: Load clfswm client code in the main program and let the user start it with a --client command line option. * src/package.lisp (*main-entrance-hook*): New hook executed after loading configuration file and before opening the display. TODO update src/clfswm-expose-mode.lisp (expose-create-window): Ensure that all characters are printable. FIle test File suppression test Remove uneeded files contrib/server: Remove uneeded files contrib/server: add a test file Add CLX as system dependency Add CLX as system dependency (2) src/clfswm-query.lisp (query-print-string): Handle long lines correctly. TODO update src/clfswm-query.lisp (query-mode-complet): New function: Handle completion in query-mode. src/clfswm-internal.lisp (frame-select-next-child, frame-select-previous-child): New functions and bindings. Select the next/previous child in the current frame. Documentation update load.lisp: fix typo src/clfswm-layout.lisp (tile-layout-ask-keep-position): New function to let the user choose to keep child position with tile layout. src/clfswm-layout.lisp (tile-layout, set-tile-layout): Fill blanks if needed. Documentation and dot-clfswmrc update src/clfswm-expose-mode.lisp (expose-windows-current-child-mode): New function an bindings. Documentation update src/clfswm-util.lisp (mouse-click-to-focus-generic): Do not focus the parent child when the current root is a window. src/clfswm-internal.lisp (set-current-root): Handle window-parent in set-current-root. version update contrib/osd.lisp: minor tweaking src/clfswm-expose-mode.lisp (expose-mode-display-accel-windows): Do not display the accel window for unmanaged windows. src/clfswm-util.lisp (find-child-under-mouse): Do not find hidden windows. expose-windows-generic: banish pointer on exit contrib/server.lisp: minor tweaking contrib/osd.lisp: Display doc before calling associated function src/clfswm-second-mode.lisp (*second-mode-leave-function*): New variable bound to a function executed (when not null) on second mode leaving. src/clfswm-second-mode.lisp (sm-leave-function): Do not use *second-mode-program* anymore. src/clfswm-second-mode.lisp (second-key-mode): Call the second mode leave function only when the generic mode was ended. src/xlib-util.lisp (with-xlib-protect): Force to revert to the main mode state. contrib/osd.lisp (display-doc): Add another method where a CLFSWM native window is used to display the key documentation. Documentation update Put load.lisp in normal mode and not documentation mode src/clfswm.lisp (main-mode): Raise or not unmanaged windows following request in *never-managed-window-list*. src/clfswm-util.lisp (mouse-focus-move/resize-generic): Take care of never managed windows to move or resize them if the raise parameter is true. mouse-focus-move/resize-generic: do not focus a never managed window *never-managed-window-list*: Structure change to be more flexible. Let the choice to focus, raise and do nothing on never managed windows. Better clfswm terminal identification src/clfswm.lisp (main-unprotected): Destroy the notify window before closing the display. Tis fix a bug when resetting/reloading clfswm. src/clfswm.lisp (main-unprotected): Add a close hook. And close the notify window, the virtual keyboard and the clfswm terminal by default. src/clfswm.lisp (main-unprotected): Create the configuration menu only once at startup. src/clfswm-configuration.lisp (add-all-configuration-default-value): Add a default value to configurable variables. src/clfswm-configuration.lisp (reset-all-config-variables): New function and menu entry. src/clfswm-configuration.lisp (query-conf-value): Add the ability to leave the field blank to reset the variable to its default value. src/clfswm-util.lisp (query-yes-or-no): New function. src/clfswm-internal.lisp (show-all-children): Rethink of display child order to prevent very annoying flickering. src/clfswm-internal.lisp (show-all-children): Perform only one recusion on the clfswm tree: calculate geometry and place child in one pass. TODO update src/xlib-util.lisp (move-window,resize-window): Add a *color-move-window* border when moving or resizing a window. src/clfswm-internal.lisp (show-all-children): Simplify the selection method. (show-all-children): add the ability to display all child from *root-frame* and hide all those who are not in *current-root*. -> remove hide-all-children when needed. src/clfswm-configuration.lisp (create-configuration-menu): Change the config system with a more lispy one and a less string based one: (defconfig name value group doc). src/clfswm-info.lisp (show-config-variable); src/clfswm-autodoc.lisp (produce-configuration-variables): Use the new defconfig method. src/clfswm-configuration.lisp (save-variables-in-conf-file): Save only variables with a different value than there original value. src/clfswm-internal.lisp (show-all-children): Hide windows not in the current root before displaying those in current root. Remove all hide-all unnecessary calls. src/clfswm-util.lisp (cut-current-child, remove-current-child, delete-current-child): Hide the current child before doing the action. src/clfswm-layout.lisp: Add a variable border size for frames and windows. contrib/volume-mode.lisp (set-default-volume-keys): Add more keybindings (up/down, right/left) to raise/lower the volume. src/clfswm-internal.lisp (show-all-children): Handle properly duplicated child in multipe frames. clfswm.asd: Change compilation order to prevent undefined variables. src/clfswm-internal.lisp (show-child(frame)): Handle properly the show-root-frame-p parameter. src/clfswm-util.lisp (move-frame, resize-frame): Do not move or resize a frame when it's the current root. Copyright date update Documentation update src/clfswm-layout.lisp (set-gimp-layout): Display a notify window with the help on the GIMP layout. src/clfswm-autodoc.lisp (produce-all-docs): Produce a documentation for all configurable variables in CLFSWM. src/clfswm-autodoc.lisp (produce-conf-var-doc-html): Produce a documentation for all configurable variables in CLFSWM - HTML version. Fix never-managed-windows in contrib/osd.lisp src/clfswm-info.lisp (show-config-variable): call produce-conf-var-doc. src/clfswm-internal.lisp (x-px->fl, y-px->fl): Takes care of border size. binding(-second-mode).lisp: minor keys update (switch-to-last-child) contrib/server.lisp: Use the same port variable in the server and the client contrib/clfswm, configure: Add a lisp binary option to choose the binary program used to build clfswm clfswm-query.lisp, clfswm-info.lisp: redefine keys before entering in the mode src/clfswm-menu.lisp (open-menu): Save info hash table keys instead of deleting newly created keys. src/clfswm-util.lisp (with-movement-select-next-brother, with-movement-select-previous-brother, with-movement-select-next-child): Use a simple method (do not enter in the circulate mode) to allow to circulate in all children or brothers. src/clfswm-pack.lisp (move-frame-constrained, resize-frame-constrained): New function. Move and resize frame with the mouse constrained by other frame brothers. src/clfswm-pack.lisp (resize-frame-constrained): Takes care of border size. * src/clfswm-pack.lisp (implode-frame, implode-current-frame): New functions. Absorb all frames subchildren in frame. Explode frame opposite. * src/clfswm-pack.lisp (implode-frame): Hide child before removing it src/clfswm-pack.lisp (move-frame-constrained, resize-frame-constrained): Use pixels instead of floating measure. src/clfswm-circulate-mode.lisp (select-brother-generic-spatial-move+right/left/up/down): New function to select a brother from another in a spatial move. src/clfswm-circulate-mode.lisp (select-brother-generic-spatial-move+right/left/up/down): New function to select a brother from another in a spatial move. src/clfswm-layout.lisp (update-layout-managed-children): Fix a bug by using the parent frame instead of the current child. src/clfswm-internal.lisp (fixe-real-size): Takes care of border size. src/clfswm-layout.lisp (tile-left|right|top|bottom-layout): Ask to keep children positions or not. src/bindings-second-mode.lisp (set-default-second-keys): select-brother-spatial-move-* binding update. Documentation update src/clfswm-layout.lisp (update-layout-managed-children-position): New function. src/clfswm-layout.lisp (update-layout-managed-children-position): New function. TODO update src/clfswm-nw-hooks.lisp (make-permanent-nw-hook-frame): New function. Prevent to add or delete a new window hook for this frame. Documentation update contrib/osd.lisp (funcall-button-from-code): Display osd documention for buttons and fix some redefining warnings. src/clfswm-util.lisp (ask-close/kill-current-window): Add an *ask-close/kill-placement* placement window variable. src/clfswm-util.lisp (copy-focus-window, cut-focus-window): New functions and ask-close/kill-current-window menu and bindings entry. src/clfswm-util.lisp (copy-focus-window, cut-focus-window): New functions and ask-close/kill-current-window menu and bindings entry. Documentation update src/clfswm-internal.lisp (show-all-children): Rectangular optimization to display only needed children. src/clfswm-internal.lisp (show-all-children): Remove flickering on select-next/previous-brother. src/clfswm-util.lisp (delete-focus-window-generic): Do not hide child before removing, so prevent a flickering. src/clfswm-internal.lisp (get-parent-layout): Handle correctly unmanaged windows. src/clfswm-internal.lisp (delete-child-and-children-in-all-frames): Show all children before deleting/destroying a windows, so prevent a flickering. src/clfswm-internal.lisp (get-parent-layout): Return the fullscreen size when the current root is a window. src/clfswm-internal.lisp (get-parent-layout): Minor fullscreen size tweaking. src/clfswm-util.lisp (mouse-click-to-focus-generic): Update behaviour accordingly to function specifications. src/clfswm-internal.lisp (display-frame-info): Remove hidden infos in frames windows. src/clfswm-expose-mode.lisp (define-expose-letter-keys): Add 0..1 and A..Z keys to select a child in expos? mode. src/clfswm-layout.lisp (inc-tile-layout-size, dec-tile-layout-size, inc-slow-tile-layout-size, dec-slow-tile-layout-size): New functions and bindings. src/clfswm.lisp (main-unprotected): Destroy all frames windows before closing the display (not really needed). Documentation update Version update src/clfswm-util.lisp (add-frame-in-parent-frame): New function and binding. Common-lisp.net git test Git on common-lisp.net test. Trac test Git on common-lisp.net test. Git emails test Git on common-lisp.net test. Git emails test Git on common-lisp.net test. Git emails test Git on common-lisp.net test. Git emails test - End Test of both repo.or.cz and common-lisp.net git repositories src/clfswm-internal.lisp (delete-child-and-children-in-all-frames): Delete or destroy children before displaying all children. Release 1106 Changelog update src/clfswm-internal.lisp (clean-windows-in-all-frames): New function to prevent xlib error when a window is deleted. load.lisp: remove unprotected test case Finale 1106 release Xavier Maillard (10): Username test Username test 2 Untest Add a generic mode to define all other modes. Remove a test key Use generic-mode for info-mode. Adding generic-mode Add an xlib-util dependency for clfswm-generic-mode Transitional: revert to old circulate behaviour Use a generic mode for query-string pbrochard (92): first commit first commit first commit use a default group datas navigation keys change to always select the current child Alt-tab navigate throw childs-Alt-arrow navigate throw brothers create-group use &rest arguments New contrib directory for additional user code Hide groups when moving by name add a contributed example Rename and renumber childs. Move query-* in a separate file Solve a wrong with-gcontext bug (xlib::string-concat) Specify the base directory in the main loop. The main loop has key parameters Remove all reference to pager Handle mouse in the main mode the same way as in the second mode. Main mouse actions are now defined in bindings.lisp Remove button-pess/release in window-event. They are handled another way Begining of mouse handling -> wheel mouse Check /home/phil/.config/clfswm/clfswmrc first. New clfswm script thanks to Xavier Maillard. Beginning of new window hook New file: clfswm-nw-hooks.lisp to store hooks on new windows test of git new git test Add clfswm-nw-hooks in clfswm.asd A git test with svn and rsync New git test another test Last test? and another one And this is the last Apply patch on contrib/clfswm Display the documentation associated to keys when identifying a key. Fix a glitch in clfswm-keys.lisp - Thanks Xavier New doc directory. Move asdf.lisp to contrib/ Adding doc directory Check for Keysym+Shift. Remove all #Date# references. force-window-in-group/force-window-center-in-group: new functions Use ISO_Left_Tab instead of Tab for select-previous-child. Move *.lisp in src/ Move clfswm.asd and load.lisp on main directory TODO: new file Add alt+1/2/3... description More TODO things New functions: Show/hide groups info windows. Register system for new window hooks. Bind control+o to open the next window in a new group in the root group (as open in next window in a new workspace in 0801 version). Remove :button-* in *window-events* -> prevent an access-error bug This patch just fixes an annoyance when calling our script without any argument. Ignore files for git New version package. Move date-string to tools.lisp. Localize date-string Pack, Fill, Resize functions. Remove show-all-childs in info-mode -> less flickering more TODO things explode-group/explode-current-group: new functions. Rename 'group' in 'frame'. Rename 'childs' in 'children'. keys-from-list new clfswm-info function Do not raise windows with no-layout Use :first-only to raise only the first child (useful with no-layout). Mouse move and resize. New functions for coordinates conversions In second mode: Focus, move and resize the current child (even if it's a window). Create a new frame on the root window. (in the main mode only if *create-frame-on-root* is true) In with-all-*: Reverse the child list to manage the first child last (like in show-all-children) Create a default frame in the root frame (Be sure to update your configuration file). Up/Down: Swap select previous/next level Stop button event only if there is a geometry change. More TODO things Bind Alt+mouse-1/3 to move or resize a frame or the window's father. Limit minimal child size to 1x1. bind-or-jump: New (great) function. Allow additional arguments to function on key/mouse press/release. Add keys definitions to bind-or-jump in the second mode. New nw-hook: Open the next window in the current frame and leave the focus to the current child. test of git pack Test again Set the layout only one time and revert to no-layout to freely handle frames. Apply this with open-in-new-frame-in-root-frame-nw-hook switch-to-root-frame: show later - new key parameter to have less flickering. Keyboard handle strategie change: Grab all keys by default and replay just what is needed. No change for the second mode. Add key handling on no focus window and on frame windows. Better handle of keysyms. Revert to hold grabning method for the main mode. Handle all keysyms in the main mode (for example: 1 on an azerty keyboard). Move the default frame creation on the default init hook. Move the size computation outside the show-child part. Redisplay only the current child when needed. More TODO things Display-child is the first child by default -> less flickering. Solve a bug with father-p in show-all-children. New menu system that let user change keys or functions associated to keys. Show the documentation for the function bound on a key. Move with-movement, current-frame-fill/pack/resize-* from bindings-second-mode.lisp to clfswm-util.lisp. clfswm.asd: Add a dependency from clfswm-second-mode.lisp to clfswm.lisp. open-in-new-frame-in-parent-frame-nw-hook: New new window hook. adapt-current-frame-to-window-hints: New function. ensure-printable: Return always a string even with a null string. src/*.lisp: Rename all 'father' occurrences to 'parent'. Managed type: new frame parameter. This allow to choose what window type a frame must handle. A git test Another git test Another test Another test... And another git test Another test.. A test of svn Final git/svn test? New TODO things ----------------------------------------------------------------------- hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sun Jun 12 13:22:03 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 12 Jun 2011 06:22:03 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-1-g4ced474 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via 4ced474d5047017face5ff5f4796aa6a5b5046c6 (commit) from 59cd35db78c29e540c7b4af221c0c42662d231af (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 4ced474d5047017face5ff5f4796aa6a5b5046c6 Author: Philippe Brochard Date: Sun Jun 12 15:22:18 2011 +0200 src/clfswm-internal.lisp (process-existing-windows): Do not process the notify window. diff --git a/ChangeLog b/ChangeLog index 6ed6989..8d4d1ba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-06-12 Philippe Brochard + + * src/clfswm-internal.lisp (process-existing-windows): Do not + process the notify window. + 2011-06-08 Philippe Brochard * *: **** Release 1106 **** diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp index b50c937..a331406 100644 --- a/src/clfswm-internal.lisp +++ b/src/clfswm-internal.lisp @@ -1256,7 +1256,8 @@ managed." (let ((map-state (xlib:window-map-state win)) (wm-state (window-state win))) (unless (or (eql (xlib:window-override-redirect win) :on) - (eql win *no-focus-window*)) + (eql win *no-focus-window*) + (is-notify-window-p win)) (when (or (eql map-state :viewable) (eql wm-state +iconic-state+)) (format t "Processing ~S: type=~A ~S~%" (xlib:wm-name win) (window-type win) win) ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 +++++ src/clfswm-internal.lisp | 3 ++- 2 files changed, 7 insertions(+), 1 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sun Jun 12 13:28:33 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 12 Jun 2011 06:28:33 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-2-gaee2c88 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via aee2c88643e4fc35bae78a3575766822b47c7cff (commit) from 4ced474d5047017face5ff5f4796aa6a5b5046c6 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit aee2c88643e4fc35bae78a3575766822b47c7cff Author: Philippe Brochard Date: Sun Jun 12 15:29:00 2011 +0200 src/clfswm.lisp (:unmap-notify, :destroy-notify): Show all children just after the xlib tree cleanup -> reduce the flickering when a window is deleted or destroyed. diff --git a/ChangeLog b/ChangeLog index 8d4d1ba..21dfb53 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2011-06-12 Philippe Brochard + * src/clfswm.lisp (:unmap-notify, :destroy-notify): Show all + children just after the xlib tree cleanup -> reduce the + flickering when a window is deleted or destroyed. + * src/clfswm-internal.lisp (process-existing-windows): Do not process the notify window. diff --git a/src/clfswm.lisp b/src/clfswm.lisp index 6399eac..4e42f2e 100644 --- a/src/clfswm.lisp +++ b/src/clfswm.lisp @@ -95,6 +95,7 @@ (not (xlib:window-equal window event-window))) (when (find-child window *root-frame*) (clean-windows-in-all-frames) + (show-all-children) (delete-child-in-all-frames window) (show-all-children)))) @@ -104,6 +105,7 @@ (xlib:window-equal window event-window)) (when (find-child window *root-frame*) (clean-windows-in-all-frames) + (show-all-children) (delete-child-in-all-frames window) (show-all-children)))) ----------------------------------------------------------------------- Summary of changes: ChangeLog | 4 ++++ src/clfswm.lisp | 2 ++ 2 files changed, 6 insertions(+), 0 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Mon Jun 13 19:12:09 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 13 Jun 2011 12:12:09 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-3-g5eed5d3 Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via 5eed5d3b6877a956036b22f0a032db3e0006160c (commit) from aee2c88643e4fc35bae78a3575766822b47c7cff (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 5eed5d3b6877a956036b22f0a032db3e0006160c Author: Sylvain HENRY Date: Mon Jun 13 21:12:33 2011 +0200 *.*: Minor spelling fix. diff --git a/AUTHORS b/AUTHORS index 563cdaf..4fb00f2 100644 --- a/AUTHORS +++ b/AUTHORS @@ -9,6 +9,8 @@ Contributors Xavier Maillard xma at gnu dot org Cyrille THOUVENIN +Desmond O. Chang +Sylvain HENRY ----------------------------------- diff --git a/ChangeLog b/ChangeLog index 21dfb53..4f8765f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2011-06-13 Sylvain HENRY + + * *.*: Minor spelling fix. + 2011-06-12 Philippe Brochard * src/clfswm.lisp (:unmap-notify, :destroy-notify): Show all @@ -214,7 +218,7 @@ Remove all hide-all unnecessary calls. * src/clfswm-configuration.lisp (save-variables-in-conf-file): - Save only variables with a different value than there original + Save only variables with a different value than their original value. 2011-03-07 Philippe Brochard @@ -838,7 +842,7 @@ 2009-06-28 Philippe Brochard * src/clfswm-layout.lisp (set-no-layout-remember-size): New layout: - Maximize windows in there frame - Leave frames to there actual + Maximize windows in their frame - Leave frames to their actual size. * src/bindings-second-mode.lisp (set-default-second-keys): Bind @@ -944,7 +948,7 @@ Maximize/Unmaximize the current frame in its parent frame. * src/clfswm-layout.lisp (maximize-layout): New layout: Maximize - windows and frames in there parent frame. + windows and frames in their parent frame. 2009-05-05 Philippe Brochard @@ -1410,7 +1414,7 @@ * src/config.lisp (*default-window-width/height*): New parameters. * src/clfswm-internal.lisp (place-window-from-hints): Center - windows in the screen instead of in there frame. + windows in the screen instead of in their frame. * src/bindings-second-mode.lisp (tile-space-current-frame): New binding on C-t. @@ -1861,7 +1865,7 @@ * clfswm.lisp (handle-exposure): Redisplay groups on exposure event but do not clear the root window. - (handle-configure-request): Adjust unmanaged window from there + (handle-configure-request): Adjust unmanaged window from their request. * clfswm-internal.lisp (process-new-window): Adjust new window diff --git a/doc/menu.html b/doc/menu.html index c045c95..d71786a 100644 --- a/doc/menu.html +++ b/doc/menu.html @@ -1953,13 +1953,13 @@ a: < Frame fast layout menu >

- b: No layout: Maximize windows in there frame - Leave frames to there original size + b: No layout: Maximize windows in their frame - Leave frames to their original size

- c: No layout: Maximize windows in there frame - Leave frames to there actual size + c: No layout: Maximize windows in their frame - Leave frames to their actual size

- d: Maximize layout: Maximize windows and frames in there parent frame + d: Maximize layout: Maximize windows and frames in their parent frame

e: < Frame tile layout menu > @@ -2500,7 +2500,7 @@ F2: Save all configuration variables in clfswmrc

- F3: Reset all configuration variables to there default values + F3: Reset all configuration variables to their default values


diff --git a/doc/menu.txt b/doc/menu.txt index c54ff51..7d990df 100644 --- a/doc/menu.txt +++ b/doc/menu.txt @@ -663,9 +663,9 @@ p: Add a placed frame in the current frame Frame-Layout-Menu a: < Frame fast layout menu > -b: No layout: Maximize windows in there frame - Leave frames to there original size -c: No layout: Maximize windows in there frame - Leave frames to there actual size -d: Maximize layout: Maximize windows and frames in there parent frame +b: No layout: Maximize windows in their frame - Leave frames to their original size +c: No layout: Maximize windows in their frame - Leave frames to their actual size +d: Maximize layout: Maximize windows and frames in their parent frame e: < Frame tile layout menu > f: < Tile in one direction layout menu > g: < Tile with some space on one side menu > @@ -860,7 +860,7 @@ m: < Hook Group > n: < Main Mode Group > o: < Miscellaneous Group > F2: Save all configuration variables in clfswmrc -F3: Reset all configuration variables to there default values +F3: Reset all configuration variables to their default values Conf-Gimp-Layout a: Configure GIMP-LAYOUT-NOTIFY-WINDOW-DELAY diff --git a/src/clfswm-configuration.lisp b/src/clfswm-configuration.lisp index 0185445..9e91851 100644 --- a/src/clfswm-configuration.lisp +++ b/src/clfswm-configuration.lisp @@ -190,8 +190,8 @@ (defun reset-all-config-variables () - "Reset all configuration variables to there default values" - (when (query-yes-or-no "Do you really want to reset all values to there default?") + "Reset all configuration variables to their default values" + (when (query-yes-or-no "Do you really want to reset all values to their default?") (maphash (lambda (key val) (declare (ignore val)) (reset-config-to-default-value key)) diff --git a/src/clfswm-layout.lisp b/src/clfswm-layout.lisp index a6e1d2c..449e1c6 100644 --- a/src/clfswm-layout.lisp +++ b/src/clfswm-layout.lisp @@ -152,7 +152,7 @@ ;;; No layout (defgeneric no-layout (child parent) - (:documentation "No layout: Maximize windows in there frame - Leave frames to there original size")) + (:documentation "No layout: Maximize windows in their frame - Leave frames to their original size")) (defmethod no-layout ((child xlib:window) parent) (with-slots (rx ry rw rh) parent @@ -170,14 +170,14 @@ (defun set-no-layout () - "No layout: Maximize windows in there frame - Leave frames to there original size" + "No layout: Maximize windows in their frame - Leave frames to their original size" (set-layout #'no-layout)) (register-layout 'set-no-layout) ;;; No layout remember size (defun set-no-layout-remember-size () - "No layout: Maximize windows in there frame - Leave frames to there actual size" + "No layout: Maximize windows in their frame - Leave frames to their actual size" (fixe-real-size-current-child) (set-no-layout)) @@ -187,7 +187,7 @@ ;;; Maximize layout (defgeneric maximize-layout (child parent) - (:documentation "Maximize layout: Maximize windows and frames in there parent frame")) + (:documentation "Maximize layout: Maximize windows and frames in their parent frame")) (defmethod maximize-layout (child parent) (with-slots (rx ry rw rh) parent @@ -198,7 +198,7 @@ (defun set-maximize-layout () - "Maximize layout: Maximize windows and frames in there parent frame" + "Maximize layout: Maximize windows and frames in their parent frame" (set-layout #'maximize-layout)) (register-layout 'set-maximize-layout) ----------------------------------------------------------------------- Summary of changes: AUTHORS | 2 ++ ChangeLog | 14 +++++++++----- doc/menu.html | 8 ++++---- doc/menu.txt | 8 ++++---- src/clfswm-configuration.lisp | 4 ++-- src/clfswm-layout.lisp | 10 +++++----- 6 files changed, 26 insertions(+), 20 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Mon Jun 13 21:08:37 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 13 Jun 2011 14:08:37 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-4-g71685aa Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via 71685aab8f287c08403eb221126b63b2e0133a47 (commit) from 5eed5d3b6877a956036b22f0a032db3e0006160c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 71685aab8f287c08403eb221126b63b2e0133a47 Author: Philippe Brochard Date: Mon Jun 13 23:09:00 2011 +0200 src/keysyms.lisp: Repeat Page_Down/Up keysym definitions at the end of the file to change keysyms priority. diff --git a/ChangeLog b/ChangeLog index 4f8765f..655414e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-06-13 Philippe Brochard + + * src/keysyms.lisp: Repeat Page_Down/Up keysym definitions at the + end of the file to change keysyms priority. + 2011-06-13 Sylvain HENRY * *.*: Minor spelling fix. diff --git a/src/keysyms.lisp b/src/keysyms.lisp index 96ce20c..7bef747 100644 --- a/src/keysyms.lisp +++ b/src/keysyms.lisp @@ -2086,3 +2086,7 @@ (cl-define-keysym #x100000AC "usldead_asciitilde") (cl-define-keysym #x1000FE2C "usldead_cedilla") (cl-define-keysym #x1000FEB0 "usldead_ring") + +;; For convenience +(cl-define-keysym #xff55 "Page_Up") +(cl-define-keysym #xff56 "Page_Down") ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 +++++ src/keysyms.lisp | 4 ++++ 2 files changed, 9 insertions(+), 0 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Thu Jun 16 20:51:50 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Thu, 16 Jun 2011 13:51:50 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-5-g216af7b Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via 216af7bfc32b8bfc577ccbd2ae07c04c6029bd80 (commit) from 71685aab8f287c08403eb221126b63b2e0133a47 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 216af7bfc32b8bfc577ccbd2ae07c04c6029bd80 Author: Philippe Brochard Date: Thu Jun 16 22:52:10 2011 +0200 src/clfswm-internal.lisp (clean-windows-in-all-frames): Prevent current root and current child being equal to child. diff --git a/ChangeLog b/ChangeLog index 655414e..cac88ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-06-16 Philippe Brochard + + * src/clfswm-internal.lisp (clean-windows-in-all-frames): Prevent + current root and current child being equal to child. + 2011-06-13 Philippe Brochard * src/keysyms.lisp: Repeat Page_Down/Up keysym definitions at the diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp index a331406..744c8e6 100644 --- a/src/clfswm-internal.lisp +++ b/src/clfswm-internal.lisp @@ -1117,6 +1117,15 @@ For window: set current child to window or its parent according to window-parent (show-all-children)) + +(defun prevent-current-*-equal-child (child) + " Prevent current-root and current-child equal to child" + (when (child-equal-p child *current-root*) + (setf *current-root* (find-parent-frame child))) + (when (child-equal-p child *current-child*) + (setf *current-child* *current-root*))) + + (defun remove-child-in-frame (child frame) "Remove the child in frame" (when (frame-p frame) @@ -1130,10 +1139,7 @@ For window: set current child to window or its parent according to window-parent (defun remove-child-in-all-frames (child) "Remove child in all frames from *root-frame*" - (when (child-equal-p child *current-root*) - (setf *current-root* (find-parent-frame child))) - (when (child-equal-p child *current-child*) - (setf *current-child* *current-root*)) + (prevent-current-*-equal-child child) (remove-child-in-frames child *root-frame*)) @@ -1151,10 +1157,7 @@ Warning:frame window and gc are freeed." (defun delete-child-in-all-frames (child) "Delete child in all frames from *root-frame*" - (when (child-equal-p child *current-root*) - (setf *current-root* (find-parent-frame child))) - (when (child-equal-p child *current-child*) - (setf *current-child* *current-root*)) + (prevent-current-*-equal-child child) (delete-child-in-frames child *root-frame*)) (defun delete-child-and-children-in-frames (child root) @@ -1167,10 +1170,7 @@ Warning:frame window and gc are freeed." (defun delete-child-and-children-in-all-frames (child &optional (close-methode 'delete-window)) "Delete child and its children in all frames from *root-frame*" - (when (child-equal-p child *current-root*) - (setf *current-root* (find-parent-frame child))) - (when (child-equal-p child *current-child*) - (setf *current-child* *current-root*)) + (prevent-current-*-equal-child child) (delete-child-and-children-in-frames child *root-frame*) (when (xlib:window-p child) (funcall close-methode child)) @@ -1184,6 +1184,7 @@ Warning:frame window and gc are freeed." (dolist (child (frame-child frame)) (when (xlib:window-p child) (unless (member child x-tree :test #'xlib:window-equal) + (prevent-current-*-equal-child child) (setf (frame-child frame) (child-remove child (frame-child frame))))))))) ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 +++++ src/clfswm-internal.lisp | 25 +++++++++++++------------ 2 files changed, 18 insertions(+), 12 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Mon Jun 27 20:25:50 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 27 Jun 2011 13:25:50 -0700 Subject: [clfswm-cvs] [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1106-6-g8b8ecaa Message-ID: This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CLFSWM - A(nother) Common Lisp FullScreen Window Manager". The branch, master has been updated via 8b8ecaab723374838d43fd9fafc098ab4f63da7c (commit) from 216af7bfc32b8bfc577ccbd2ae07c04c6029bd80 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 8b8ecaab723374838d43fd9fafc098ab4f63da7c Author: Desmond O. Chang Date: Mon Jun 27 22:25:51 2011 +0200 [PATCH] CLFSWM should depend on sb-posix since src/tools.lisp uses sb-posix:getenv & sb-posix:putenv. diff --git a/clfswm.asd b/clfswm.asd index 8884df2..6f27c6d 100644 --- a/clfswm.asd +++ b/clfswm.asd @@ -78,7 +78,7 @@ (:file "bindings-second-mode" :depends-on ("clfswm" "clfswm-util" "clfswm-query" "bindings" "clfswm-pack" "clfswm-menu" "menu-def" "clfswm-layout"))))) - :depends-on ( #-:CLX :clx )) + :depends-on ( #-:CLX :clx #+:sbcl :sb-posix )) diff --git a/load.lisp b/load.lisp index aa2baeb..e6d5299 100644 --- a/load.lisp +++ b/load.lisp @@ -38,12 +38,6 @@ #+SBCL (require :asdf) -#+SBCL -(require :sb-posix) - -;;#+SBCL -;; (require :clx) - #+(or CMU ECL) (require :clx) ----------------------------------------------------------------------- Summary of changes: clfswm.asd | 2 +- load.lisp | 6 ------ 2 files changed, 1 insertions(+), 7 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager