From pbrochard at common-lisp.net Mon Feb 18 20:15:20 2008 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 18 Feb 2008 21:15:20 +0100 Subject: [clfswm-devel] How to install clisp for clfswm? In-Reply-To: (Matthieu Moy's message of "Tue\, 22 Jan 2008 11\:29\:48 +0100") References: <871w8aetqu.fsf@free.fr> Message-ID: <87d4qudns7.fsf@free.fr> [I don't know in which loop is this mail but it doesn't reach the mailing list - so second try...] Matthieu Moy a ?crit : > Philippe Brochard writes: > >> Matthieu Moy a ?crit : >> >>> Hi, >>> >> Hi, thanks for trying clfswm! > > De rien, merci de l'avoir ?crit ;-). > Ah, de rien aussi :) clfswm est avant tout pour mon usage perso. Tant mieux s'il sert ? quelqu'un d'autre. > (BTW, you might not remember, we discussed clfswm on a Linuxfr journal > some time ago. I'm the one looking for the way out ion3 ;-) ). > Yes, I remember this. I hope you'll like clfswm. > Thanks for the hints, I'll try that tonight. I think most of what you > write here should be included in the INSTALL. The install instructions > for clisp are really hard to get and understand (it's much easier to > find outdated documentation than finding an accurate one, and "google > clisp clx" doesn't help much). > I'm not sure it's my job to explain how to install clisp but there is no cost to add some hints in the INSTALL file. Good luck, Philippe -- Philippe Brochard http://hocwp.free.fr From pbrochard at common-lisp.net Mon Feb 18 22:05:34 2008 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 18 Feb 2008 23:05:34 +0100 Subject: [clfswm-devel] Major update of clfswm Message-ID: <87zltxdioh.fsf@free.fr> Hi all, After some exchange with Cyrille Thouvenin I started to rewrite some parts of clfswm. The main major change is that there is no more references to workspaces, all is a group. There is a root group and there childs. A child can be a group or an application window. Here is the old data structure: -------------------------------------------------- (defstruct workspace number group-list) (defstruct group x y width height window-list fullscreenp) (defparameter *workspace-list* nil) -------------------------------------------------- Here is the new one: -------------------------------------------------- (defclass group name number x y w h layout window gc child ...) -simplified- (defparameter *root-group* nil "Root of the root - ie the root group") (defparameter *current-root* nil "The current fullscreen maximized child") (defparameter *current-child* nil "The current child with the focus") -------------------------------------------------- Now using clfswm is like walking throw a tree of groups and windows. Here is the current keybinding to navigate throw this tree: Alt-Tab: circulate throw childs of *current-child* if it is a group. Alt-Left/Right: circulate throw brother childs (ie: this is like workspaces) Alt-Up: select the first child. Alt-Down: select the father of *current-child* Alt-Enter: Make the current selected child the current root (ie maximize it) Alt+Shift-Enter: Make the father of current root the current root (ie unmaximize the current child) There is no workspace but the same effect is obtened by circulating throw brothers childs. The advantages: - you can have workspace in any level. - there is no need for the pager: _you_are_in_the_pager_!!! You can find some screenshots here for a better idea: http://common-lisp.net/project/clfswm/temp/ Others changes are: * group/window coordinates are in float number between 0 (left) and 1 (right) so we can zoom them. Each group have its own window. * each group can have its own layout: no-layout: groups have there size, windows are maximized in the father group maximize-layout: groups and windows are maximized tile-layout: groups and windows are tiled tile-left/right/...: tile like in larswm/dwm... ... and so on - it's very easy to add a new layout. * a group is named so you can tell where you want to map a new window. * Each time a new window is created each group can do something with it (nothing, absorbe this window, copy this window, open a new group and map the window in it, open it in the group named toto... This is a more general process than the previous control-o (open next window in a new workspace)) * Chained key binding. Key binding are grouped by action and there is a little window to present possibles choices (there is no more a lot of keys to remember). * Currently I'm trying to have a different focus policy by groups (I don't know if I'll integrate this by default). Ouf, here it is :) It's a great change but the code is more simple (for example there is no more duplicated code with the second mode and the pager because there is no more pager :) I'll commited all this changes. So don't be too surprised by the new cvs content! Have fun, Philippe -- Philippe Brochard http://hocwp.free.fr From pbrochard at common-lisp.net Sun Feb 24 21:14:15 2008 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 24 Feb 2008 22:14:15 +0100 Subject: [clfswm-devel] Let's go for the next CLFSWM version Message-ID: <87ablq2h20.fsf@free.fr> Hi all, As I said in the last mail, I've done a lot of rework on CLFSWM to change its internal structure. Now the code is much simple and there is no more needs for the pager. If you look at the code and want to walk throw the group tree, don't crash your head on a recurcif algorithm. You can simply use the with-all-* macros. Here are some examples: -------------------------------------------------- ;; Walk throw all childs (with-all-childs (*root-group* child) (typecase child (xlib:window (print (xlib:wm-name child))) (group (print (group-number child))))) ;; Walk throw all groups (with-all-group (*root-group* group) (print (group-number group))) ;; Walk throw all windows (with-all-windows (*root-group* window) (print (wm-name xlib:window))) ;; Walk throw all childs - First form is applied on windows and the ;; second on groups (with-all-groups-windows (*root-group* child) (print (xlib:wm-name child)) (print (group-number child))) -------------------------------------------------- Also there is less keybinding, just press 'm' in the second mode to open a menu. All is not already there (like pack, resize, the mouse...) but I use this version already so there is nothing that prevent to have it in the CVS. Philippe -- Philippe Brochard http://hocwp.free.fr From pbrochard at common-lisp.net Sun Feb 24 21:18:18 2008 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 24 Feb 2008 22:18:18 +0100 Subject: [clfswm-devel] CLFSWM wiki opened Message-ID: <8763we2gv9.fsf@free.fr> Hi all, I've set up a wiki about CLFSWM here: http://hocwp.free.fr/clfswm-wiki/ Feel free to enhance it, share your ideas or your feeling about clfswm. There is a page for free discution if you find it more convenient than the mailing list. PS: Also, the devel mailing list is the prefered way to discuss about CLFSWM in general. Have fun, Philippe -- Philippe Brochard http://hocwp.free.fr From cl.thouvenin at laposte.net Thu Feb 28 20:54:11 2008 From: cl.thouvenin at laposte.net (Cyrille THOUVENIN) Date: Thu, 28 Feb 2008 21:54:11 +0100 Subject: [clfswm-devel] CLFSWM wiki Message-ID: <87oda0u7ik.fsf@ten.hd.free.fr> Hi, I have seen the wiki (ChuWiki) you set up at http://hocwp.free.fr/clfswm-wiki/wiki/Home. Common-lisp.net states at http://common-lisp.net/project-intro.shtml that they can provide Trac (http://trac.edgewall.org/). I personnaly do not use this wiki, but I have colleagues that do and they find that it is a good one. It has a wiki, a bug tracker built-in and a subversion browser that fit nicely together. Cheers, -- Cyrille From pbrochard at common-lisp.net Thu Feb 28 21:29:38 2008 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Thu, 28 Feb 2008 22:29:38 +0100 Subject: [clfswm-devel] CLFSWM wiki In-Reply-To: <87oda0u7ik.fsf@ten.hd.free.fr> (Cyrille THOUVENIN's message of "Thu\, 28 Feb 2008 21\:54\:11 +0100") References: <87oda0u7ik.fsf@ten.hd.free.fr> Message-ID: <87r6ew7osd.fsf@free.fr> Cyrille THOUVENIN writes: > Hi, > Hi, > I have seen the wiki (ChuWiki) you set up at > http://hocwp.free.fr/clfswm-wiki/wiki/Home. > Yes ChuWiki is very simple to set up. > Common-lisp.net states at http://common-lisp.net/project-intro.shtml > that they can provide Trac (http://trac.edgewall.org/). I > personnaly do not use this wiki, but I have colleagues that do and > they find that it is a good one. It has a wiki, a bug tracker > built-in and a subversion browser that fit nicely together. > Ah, ok, I've made a request to use trac from common-lisp.net. I'll remove the wiki on hocwp.free.fr and move it to the more conventional website : http://trac.common-lisp.net/clfswm Regards, Philippe -- Philippe Brochard From xma at gnu.org Fri Feb 29 02:00:08 2008 From: xma at gnu.org (Xavier Maillard) Date: Fri, 29 Feb 2008 03:00:08 +0100 Subject: [clfswm-devel] test, please ignore Message-ID: <200802290200.m1T208xw018008@localhost.localdomain> All is said :) Sorry, Xavier -- http://www.gnu.org http://www.april.org http://www.lolica.org From pbrochard at common-lisp.net Fri Feb 29 22:21:37 2008 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 29 Feb 2008 23:21:37 +0100 Subject: [clfswm-devel] CLFSWM Trac opened on Common-Lisp.net Message-ID: <87zltjqu8e.fsf@free.fr> Hi, All is in the subject but I've opened the CLFSWM trac on Common-lisp.net. Here: http://trac.common-lisp.net/clfswm As an anonymous user you can modify the wiki as you want and you can create new tickets. If you have an account on common-lisp.net you have more access on the wiki or for tickets. Feel free to contribute! Philippe Note1: As there have been some big changes on CLFSWM on the CVS I think it's better to talk about the CVS version of CLFSWM than its older and official version. I'll make a link to the trac on the CLFSWM website only when the new CLFSWM will be released. Note2: I have removed the previous wiki on hocwp.free.fr. -- Philippe Brochard http://hocwp.free.fr