From pbrochard at common-lisp.net Sat Apr 5 19:20:49 2014 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 5 Apr 2014 12:20:49 -0700 (PDT) Subject: [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1212-59-geff5cfd Message-ID: <20140405192049.42F563564A3@mail.common-lisp.net> 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 eff5cfda6e50e2a75854a23cf883050f07fa6f34 (commit) from acac7da7e5c3a7989f972249295872f179edaa8a (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 eff5cfda6e50e2a75854a23cf883050f07fa6f34 Author: Philippe Brochard Date: Sat Apr 5 23:20:43 2014 +0200 Do not remove a child if it's the last child in *root-frame* diff --git a/src/clfswm-util.lisp b/src/clfswm-util.lisp index bf45aee..102b522 100644 --- a/src/clfswm-util.lisp +++ b/src/clfswm-util.lisp @@ -406,16 +406,32 @@ Write (defparameter *contrib-dir* \"/usr/local/lib/clfswm/\") in ~A.~%" (show-all-children t)) (current-child)))) + + +(defun count-child-in-root (child root) + (let ((count 0)) + (with-all-children (root c) + (when (child-equal-p c child) + (incf count))) + count)) + + +(defun find-a-last-child (child) + (with-all-children (child c) + (when (= (count-child-in-root c *root-frame*) 1) + (return-from find-a-last-child t)))) + (defun remove-current-child () "Remove the current child from its parent frame" (unless (child-root-p (current-child)) - (let ((parent (find-parent-frame (current-child)))) - (hide-all (current-child)) - (remove-child-in-frame (current-child) (find-parent-frame (current-child) (find-current-root))) - (when parent - (setf (current-child) parent)) - (show-all-children t) - (leave-second-mode)))) + (unless (find-a-last-child (current-child)) + (let ((parent (find-parent-frame (current-child)))) + (hide-all (current-child)) + (remove-child-in-frame (current-child) (find-parent-frame (current-child) (find-current-root))) + (when parent + (setf (current-child) parent)))) + (show-all-children t) + (leave-second-mode))) (defun delete-current-child () "Delete the current child and its children in all frames" ----------------------------------------------------------------------- Summary of changes: src/clfswm-util.lisp | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sat Apr 5 21:53:12 2014 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 5 Apr 2014 14:53:12 -0700 (PDT) Subject: [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1212-60-g5d3a9e0 Message-ID: <20140405215312.C9B0F3564A3@mail.common-lisp.net> 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 5d3a9e096d2e67943bf15e111ce9ad6cc8229392 (commit) from eff5cfda6e50e2a75854a23cf883050f07fa6f34 (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 5d3a9e096d2e67943bf15e111ce9ad6cc8229392 Author: Philippe Brochard Date: Sun Apr 6 01:53:08 2014 +0200 Copyright date update diff --git a/contrib/amixer.lisp b/contrib/amixer.lisp index 53d4aee..2af5d6f 100644 --- a/contrib/amixer.lisp +++ b/contrib/amixer.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Volume mode ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2012 Desmond O. Chang +;;; (C) 2014 Desmond O. Chang ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/contrib/blank-window-mode.lisp b/contrib/blank-window-mode.lisp index 3797ebc..52cfce5 100644 --- a/contrib/blank-window-mode.lisp +++ b/contrib/blank-window-mode.lisp @@ -8,7 +8,7 @@ ;;; in school class for interactive presentation). ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2012 Philippe Brochard +;;; (C) 2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/contrib/cd-player.lisp b/contrib/cd-player.lisp index d017118..bda1ad0 100644 --- a/contrib/cd-player.lisp +++ b/contrib/cd-player.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Music Player Daemon (MPD) interface ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2012 Philippe Brochard +;;; (C) 2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/contrib/clfswm b/contrib/clfswm index 7353244..8355ef4 100755 --- a/contrib/clfswm +++ b/contrib/clfswm @@ -1,6 +1,6 @@ #!/bin/bash -e # -# (C) 2012 Xavier Maillard +# (C) 2014 Xavier Maillard # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/contrib/contrib-example.lisp b/contrib/contrib-example.lisp index 7c77536..d5b3de0 100644 --- a/contrib/contrib-example.lisp +++ b/contrib/contrib-example.lisp @@ -5,7 +5,7 @@ ;;; Documentation: A contrib example. ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2012 Philippe Brochard +;;; (C) 2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/contrib/keyb_fr.lisp b/contrib/keyb_fr.lisp index c0cdfc7..46e05f8 100644 --- a/contrib/keyb_fr.lisp +++ b/contrib/keyb_fr.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Define some keybindings for an azerty french keyboard ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2012 Philippe Brochard +;;; (C) 2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/contrib/moc.lisp b/contrib/moc.lisp index 9e604e1..226b108 100644 --- a/contrib/moc.lisp +++ b/contrib/moc.lisp @@ -5,7 +5,7 @@ ;;; Documentation: MOC - Console audio player - interface ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2013 Philippe Brochard +;;; (C) 2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/contrib/mpd.lisp b/contrib/mpd.lisp index 52cd03a..14ffffa 100644 --- a/contrib/mpd.lisp +++ b/contrib/mpd.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Music Player Daemon (MPD) interface ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2012 Philippe Brochard +;;; (C) 2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/contrib/osd.lisp b/contrib/osd.lisp index 70dc3d5..0ef6155 100644 --- a/contrib/osd.lisp +++ b/contrib/osd.lisp @@ -5,7 +5,7 @@ ;;; Documentation: OSD (On Screen Display) for presentations. ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2012 Philippe Brochard +;;; (C) 2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/contrib/reboot-halt.lisp b/contrib/reboot-halt.lisp index 455f19a..9e08c50 100644 --- a/contrib/reboot-halt.lisp +++ b/contrib/reboot-halt.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Reboot and halt menu ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2012 Philippe Brochard +;;; (C) 2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/contrib/server/clfswm-client.lisp b/contrib/server/clfswm-client.lisp index b0a6323..075cb31 100644 --- a/contrib/server/clfswm-client.lisp +++ b/contrib/server/clfswm-client.lisp @@ -7,7 +7,7 @@ ;;; same clfswm binary. ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2012 Philippe Brochard +;;; (C) 2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/contrib/server/crypt.lisp b/contrib/server/crypt.lisp index 01e4e76..9d54940 100644 --- a/contrib/server/crypt.lisp +++ b/contrib/server/crypt.lisp @@ -7,7 +7,7 @@ ;;; same clfswm binary. ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2012 Philippe Brochard +;;; (C) 2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/contrib/server/key.lisp b/contrib/server/key.lisp index 9e1cff0..314d58b 100644 --- a/contrib/server/key.lisp +++ b/contrib/server/key.lisp @@ -7,7 +7,7 @@ ;;; same clfswm binary. ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2012 Philippe Brochard +;;; (C) 2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/contrib/server/load.lisp b/contrib/server/load.lisp index 47725aa..0bd1f21 100644 --- a/contrib/server/load.lisp +++ b/contrib/server/load.lisp @@ -5,7 +5,7 @@ ;;; Documentation: CLFSWM Client ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2012 Philippe Brochard +;;; (C) 2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/contrib/server/server.lisp b/contrib/server/server.lisp index cfd9411..6bf5496 100644 --- a/contrib/server/server.lisp +++ b/contrib/server/server.lisp @@ -7,7 +7,7 @@ ;;; same clfswm binary. ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2012 Philippe Brochard +;;; (C) 2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/contrib/toolbar.lisp b/contrib/toolbar.lisp index d132af0..819b1a6 100644 --- a/contrib/toolbar.lisp +++ b/contrib/toolbar.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Toolbar ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2012 Philippe Brochard +;;; (C) 2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/contrib/volume-mode.lisp b/contrib/volume-mode.lisp index 7a938aa..eff4eae 100644 --- a/contrib/volume-mode.lisp +++ b/contrib/volume-mode.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Volume mode ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2012 Desmond O. Chang +;;; (C) 2014 Desmond O. Chang ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/contrib/wallpaper.lisp b/contrib/wallpaper.lisp index 42017ed..fcefdae 100644 --- a/contrib/wallpaper.lisp +++ b/contrib/wallpaper.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Wallpaper utilities ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2012 Philippe Brochard +;;; (C) 2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/contrib/xmms.lisp b/contrib/xmms.lisp index 4768022..8e5262a 100644 --- a/contrib/xmms.lisp +++ b/contrib/xmms.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Music Player Daemon (MPD) interface ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2012 Philippe Brochard +;;; (C) 2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/bindings-second-mode.lisp b/src/bindings-second-mode.lisp index 1bf0ea0..32e9e3e 100644 --- a/src/bindings-second-mode.lisp +++ b/src/bindings-second-mode.lisp @@ -7,7 +7,7 @@ ;;; Note: Mod-1 is the Alt or Meta key, Mod-2 is the Numlock key. ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/bindings.lisp b/src/bindings.lisp index 48b78a0..80348aa 100644 --- a/src/bindings.lisp +++ b/src/bindings.lisp @@ -7,7 +7,7 @@ ;;; Note: Mod-1 is the Alt or Meta key, Mod-2 is the Numlock key. ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-autodoc.lisp b/src/clfswm-autodoc.lisp index d6ba4ba..94e5e25 100644 --- a/src/clfswm-autodoc.lisp +++ b/src/clfswm-autodoc.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Auto documentation tools ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-circulate-mode.lisp b/src/clfswm-circulate-mode.lisp index 957684a..886bd44 100644 --- a/src/clfswm-circulate-mode.lisp +++ b/src/clfswm-circulate-mode.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Main functions ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-configuration.lisp b/src/clfswm-configuration.lisp index 201e270..8174c60 100644 --- a/src/clfswm-configuration.lisp +++ b/src/clfswm-configuration.lisp @@ -6,7 +6,7 @@ ;;; ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-corner.lisp b/src/clfswm-corner.lisp index 1f9904f..90224b2 100644 --- a/src/clfswm-corner.lisp +++ b/src/clfswm-corner.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Corner functions ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-expose-mode.lisp b/src/clfswm-expose-mode.lisp index 50f36ef..7a8726f 100644 --- a/src/clfswm-expose-mode.lisp +++ b/src/clfswm-expose-mode.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Expose functions - An expose like. ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-fastswitch-mode.lisp b/src/clfswm-fastswitch-mode.lisp index 39c1b5d..3afecba 100644 --- a/src/clfswm-fastswitch-mode.lisp +++ b/src/clfswm-fastswitch-mode.lisp @@ -8,7 +8,7 @@ ;;; A window or a frame will always have the same shortcut. ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-generic-mode.lisp b/src/clfswm-generic-mode.lisp index b840278..feaad29 100644 --- a/src/clfswm-generic-mode.lisp +++ b/src/clfswm-generic-mode.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Main functions ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-info.lisp b/src/clfswm-info.lisp index ca9983b..1506c3a 100644 --- a/src/clfswm-info.lisp +++ b/src/clfswm-info.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Info function (see the end of this file for user definition ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp index ca8b176..edc3c2b 100644 --- a/src/clfswm-internal.lisp +++ b/src/clfswm-internal.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Main functions ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-keys.lisp b/src/clfswm-keys.lisp index 687ab78..416dd1b 100644 --- a/src/clfswm-keys.lisp +++ b/src/clfswm-keys.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Keys functions definition ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-layout.lisp b/src/clfswm-layout.lisp index ba00eec..ad898bb 100644 --- a/src/clfswm-layout.lisp +++ b/src/clfswm-layout.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Layout functions ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-menu.lisp b/src/clfswm-menu.lisp index 58a730e..e909dfd 100644 --- a/src/clfswm-menu.lisp +++ b/src/clfswm-menu.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Menu functions ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-nw-hooks.lisp b/src/clfswm-nw-hooks.lisp index 13a0e98..bdf6750 100644 --- a/src/clfswm-nw-hooks.lisp +++ b/src/clfswm-nw-hooks.lisp @@ -8,7 +8,7 @@ ;;; mapped. ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-pack.lisp b/src/clfswm-pack.lisp index 7177dae..011aac5 100644 --- a/src/clfswm-pack.lisp +++ b/src/clfswm-pack.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Tile, pack and fill functions ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-placement.lisp b/src/clfswm-placement.lisp index d777d66..83c1f83 100644 --- a/src/clfswm-placement.lisp +++ b/src/clfswm-placement.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Placement functions ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-query.lisp b/src/clfswm-query.lisp index d7a14cd..08cc8ca 100644 --- a/src/clfswm-query.lisp +++ b/src/clfswm-query.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Query utility ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-second-mode.lisp b/src/clfswm-second-mode.lisp index a3ff5e7..3c6c501 100644 --- a/src/clfswm-second-mode.lisp +++ b/src/clfswm-second-mode.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Second mode functions ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm-util.lisp b/src/clfswm-util.lisp index 102b522..8977b02 100644 --- a/src/clfswm-util.lisp +++ b/src/clfswm-util.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Utility ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/clfswm.lisp b/src/clfswm.lisp index 52d2459..e5721ed 100644 --- a/src/clfswm.lisp +++ b/src/clfswm.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Main functions ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/config.lisp b/src/config.lisp index f025589..76589de 100644 --- a/src/config.lisp +++ b/src/config.lisp @@ -10,7 +10,7 @@ ;;; (you can do a 'grep CONFIG *.lisp' to see what you can configure) ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/menu-def.lisp b/src/menu-def.lisp index 997d8ea..aab2760 100644 --- a/src/menu-def.lisp +++ b/src/menu-def.lisp @@ -7,7 +7,7 @@ ;;; Note: Mod-1 is the Alt or Meta key, Mod-2 is the Numlock key. ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/my-html.lisp b/src/my-html.lisp index 46cc436..be9e3f9 100644 --- a/src/my-html.lisp +++ b/src/my-html.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Html generator helper ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/netwm-util.lisp b/src/netwm-util.lisp index ff747f3..2dabe66 100644 --- a/src/netwm-util.lisp +++ b/src/netwm-util.lisp @@ -6,7 +6,7 @@ ;;; http://freedesktop.org/wiki/Specifications_2fwm_2dspec ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/package.lisp b/src/package.lisp index a7208d9..0bb1758 100644 --- a/src/package.lisp +++ b/src/package.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Package definition ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/tools.lisp b/src/tools.lisp index a41249c..7cef301 100644 --- a/src/tools.lisp +++ b/src/tools.lisp @@ -5,7 +5,7 @@ ;;; Documentation: General tools ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by diff --git a/src/version.lisp b/src/version.lisp index 05284ed..bee6388 100644 --- a/src/version.lisp +++ b/src/version.lisp @@ -1,4 +1,4 @@ -;; Copyright (C) 2005-2013 Xavier Maillard +;; Copyright (C) 2005-2014 Xavier Maillard ;; Copyright (C) 2005-2013 Martin Bishop ;; ;; Borrowed from Stumpwm diff --git a/src/xlib-util.lisp b/src/xlib-util.lisp index 8dae671..415cc90 100644 --- a/src/xlib-util.lisp +++ b/src/xlib-util.lisp @@ -5,7 +5,7 @@ ;;; Documentation: Utility functions ;;; -------------------------------------------------------------------------- ;;; -;;; (C) 2005-2013 Philippe Brochard +;;; (C) 2005-2014 Philippe Brochard ;;; ;;; This program is free software; you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ----------------------------------------------------------------------- Summary of changes: contrib/amixer.lisp | 2 +- contrib/blank-window-mode.lisp | 2 +- contrib/cd-player.lisp | 2 +- contrib/clfswm | 2 +- contrib/contrib-example.lisp | 2 +- contrib/keyb_fr.lisp | 2 +- contrib/moc.lisp | 2 +- contrib/mpd.lisp | 2 +- contrib/osd.lisp | 2 +- contrib/reboot-halt.lisp | 2 +- contrib/server/clfswm-client.lisp | 2 +- contrib/server/crypt.lisp | 2 +- contrib/server/key.lisp | 2 +- contrib/server/load.lisp | 2 +- contrib/server/server.lisp | 2 +- contrib/toolbar.lisp | 2 +- contrib/volume-mode.lisp | 2 +- contrib/wallpaper.lisp | 2 +- contrib/xmms.lisp | 2 +- src/bindings-second-mode.lisp | 2 +- src/bindings.lisp | 2 +- src/clfswm-autodoc.lisp | 2 +- src/clfswm-circulate-mode.lisp | 2 +- src/clfswm-configuration.lisp | 2 +- src/clfswm-corner.lisp | 2 +- src/clfswm-expose-mode.lisp | 2 +- src/clfswm-fastswitch-mode.lisp | 2 +- src/clfswm-generic-mode.lisp | 2 +- src/clfswm-info.lisp | 2 +- src/clfswm-internal.lisp | 2 +- src/clfswm-keys.lisp | 2 +- src/clfswm-layout.lisp | 2 +- src/clfswm-menu.lisp | 2 +- src/clfswm-nw-hooks.lisp | 2 +- src/clfswm-pack.lisp | 2 +- src/clfswm-placement.lisp | 2 +- src/clfswm-query.lisp | 2 +- src/clfswm-second-mode.lisp | 2 +- src/clfswm-util.lisp | 2 +- src/clfswm.lisp | 2 +- src/config.lisp | 2 +- src/menu-def.lisp | 2 +- src/my-html.lisp | 2 +- src/netwm-util.lisp | 2 +- src/package.lisp | 2 +- src/tools.lisp | 2 +- src/version.lisp | 2 +- src/xlib-util.lisp | 2 +- 48 files changed, 48 insertions(+), 48 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Fri Apr 4 21:34:03 2014 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 4 Apr 2014 14:34:03 -0700 (PDT) Subject: [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1212-57-ga147320 Message-ID: <20140404213403.4C56E3564D0@mail.common-lisp.net> 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 a147320f8b16029e212f99dbae77de6c883271ea (commit) from 64e0032f8bda7fedbe186f770e91eeebbdf11547 (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 a147320f8b16029e212f99dbae77de6c883271ea Author: Philippe Brochard Date: Sat Apr 5 01:33:57 2014 +0200 Add a menu binding to retrieve existing windows not already managed by CLFSWM diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp index dc6f150..ca8b176 100644 --- a/src/clfswm-internal.lisp +++ b/src/clfswm-internal.lisp @@ -1665,7 +1665,9 @@ managed." (all-frame-windows (get-all-frame-windows))) (dolist (win (xlib:query-tree (xlib:screen-root screen))) (unless (or (child-member win all-windows) - (child-member win all-frame-windows)) + (child-member win all-frame-windows) + (child-equal-p win *no-focus-window*) + (child-equal-p win *sm-window*)) (let ((map-state (xlib:window-map-state win)) (wm-state (window-state win))) (unless (or (eql (xlib:window-override-redirect win) :on) diff --git a/src/clfswm-util.lisp b/src/clfswm-util.lisp index f5cefac..e525829 100644 --- a/src/clfswm-util.lisp +++ b/src/clfswm-util.lisp @@ -457,6 +457,9 @@ Write (defparameter *contrib-dir* \"/usr/local/lib/clfswm/\") in ~A.~%" (show-all-children t))) +(defun retrieve-existing-window () + "Retrieve existing windows not already managed by CLFSWM." + (process-existing-windows *screen*)) diff --git a/src/menu-def.lisp b/src/menu-def.lisp index 005e128..997d8ea 100644 --- a/src/menu-def.lisp +++ b/src/menu-def.lisp @@ -87,6 +87,7 @@ (add-menu-key 'child-menu "n" 'ensure-unique-number) (add-menu-key 'child-menu "Delete" 'delete-current-child) (add-menu-key 'child-menu "X" 'remove-current-child) +(add-menu-key 'child-menu "R" 'retrieve-existing-window) (add-menu-key 'child-menu "h" 'hide-current-child) (add-menu-key 'child-menu "u" 'unhide-a-child) (add-menu-key 'child-menu "f" 'unhide-a-child-from-all-frames) ----------------------------------------------------------------------- Summary of changes: src/clfswm-internal.lisp | 4 +++- src/clfswm-util.lisp | 3 +++ src/menu-def.lisp | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Fri Apr 4 21:48:11 2014 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 4 Apr 2014 14:48:11 -0700 (PDT) Subject: [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1212-58-gacac7da Message-ID: <20140404214811.3315C3564D0@mail.common-lisp.net> 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 acac7da7e5c3a7989f972249295872f179edaa8a (commit) from a147320f8b16029e212f99dbae77de6c883271ea (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 acac7da7e5c3a7989f972249295872f179edaa8a Author: Philippe Brochard Date: Sat Apr 5 01:48:09 2014 +0200 Leave second mode when retrieving windows diff --git a/src/clfswm-util.lisp b/src/clfswm-util.lisp index e525829..bf45aee 100644 --- a/src/clfswm-util.lisp +++ b/src/clfswm-util.lisp @@ -459,7 +459,9 @@ Write (defparameter *contrib-dir* \"/usr/local/lib/clfswm/\") in ~A.~%" (defun retrieve-existing-window () "Retrieve existing windows not already managed by CLFSWM." - (process-existing-windows *screen*)) + (process-existing-windows *screen*) + (show-all-children t) + (leave-second-mode)) ----------------------------------------------------------------------- Summary of changes: src/clfswm-util.lisp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager From pbrochard at common-lisp.net Sat Apr 5 21:59:20 2014 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 5 Apr 2014 14:59:20 -0700 (PDT) Subject: [clfswm-git]CLFSWM - A(nother) Common Lisp FullScreen Window Manager branch master updated. R-1212-61-g39938c5 Message-ID: <20140405215920.CC4DB3564A3@mail.common-lisp.net> 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 39938c58ffeec32f333109c52dc5977ae5a88ee7 (commit) from 5d3a9e096d2e67943bf15e111ce9ad6cc8229392 (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 39938c58ffeec32f333109c52dc5977ae5a88ee7 Author: Philippe Brochard Date: Sun Apr 6 01:59:14 2014 +0200 Declare second mode global variables in package.lisp diff --git a/src/clfswm-second-mode.lisp b/src/clfswm-second-mode.lisp index 3c6c501..979220b 100644 --- a/src/clfswm-second-mode.lisp +++ b/src/clfswm-second-mode.lisp @@ -25,9 +25,6 @@ (in-package :clfswm) -(defparameter *sm-window* nil) -(defparameter *sm-font* nil) -(defparameter *sm-gc* nil) (defparameter *second-mode-leave-function* nil "Execute the function if not nil") diff --git a/src/package.lisp b/src/package.lisp index 0bb1758..43919f1 100644 --- a/src/package.lisp +++ b/src/package.lisp @@ -78,6 +78,11 @@ It is particulary useful with CLISP/MIT-CLX.") (defparameter *root* nil) (defparameter *no-focus-window* nil) +(defparameter *sm-window* nil) +(defparameter *sm-font* nil) +(defparameter *sm-gc* nil) + + (defparameter *background-image* nil) (defparameter *background-gc* nil) ----------------------------------------------------------------------- Summary of changes: src/clfswm-second-mode.lisp | 3 --- src/package.lisp | 5 +++++ 2 files changed, 5 insertions(+), 3 deletions(-) hooks/post-receive -- CLFSWM - A(nother) Common Lisp FullScreen Window Manager