From dochang at gmail.com Tue Feb 1 17:33:12 2011 From: dochang at gmail.com (Desmond O. Chang) Date: Wed, 2 Feb 2011 01:33:12 +0800 Subject: [clfswm-devel] request pull my bugfix patch In-Reply-To: References: <87fwscu0f2.fsf@common-lisp.net> <87ei7ubskc.fsf@common-lisp.net> Message-ID: On Mon, Jan 31, 2011 at 11:48, Desmond O. Chang wrote: > > (defun run-or-raise (raisep run-fn &key (maximized t)) I think it's too noisy if MAXIMIZED defaults to T. It should be NIL. From pbrochard at common-lisp.net Tue Feb 1 22:44:12 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 01 Feb 2011 23:44:12 +0100 Subject: [clfswm-devel] request pull my bugfix patch In-Reply-To: (Desmond O. Chang's message of "Mon, 31 Jan 2011 11:48:57 +0800") References: <87fwscu0f2.fsf@common-lisp.net> <87ei7ubskc.fsf@common-lisp.net> Message-ID: <87d3nb4bpf.fsf@common-lisp.net> Hi, I've added your run-or-raise function in the clfswm code (commited in your name) as this can be useful for others. And I've added your start-emacs/conkeror as examples in the doc/dot-clfswmrc Thanks! Philippe Desmond O. Chang writes: [...] > Thank you! Your code works well! > > And I put it into a new function RUN-OR-RAISE. > > This is the final version in my conffile, for your reference: > > > (defun run-or-raise (raisep run-fn &key (maximized t)) > (let ((window (block return-block > (with-all-windows (*root-frame* win) > (when (funcall raisep win) > (return-from return-block win)))))) > (if window > (let ((parent (find-parent-frame window))) > (hide-all-children *current-root*) > (setf *current-child* parent > (frame-child parent) > (cons window (child-remove window (frame-child parent)))) > (when maximized > (setf *current-root* parent)) > (show-all-children)) > (funcall run-fn)))) > > (defun $start-emacs () > "start emacs" > (setf *second-mode-leave-function* > (lambda () > (run-or-raise (lambda (win) (string-equal "emacs" > (xlib:get-wm-class win))) > (lambda () (do-shell "cd $HOME && exec > emacsclient -c"))))) > (leave-second-mode)) > > (defun $start-conkeror () > "start conkeror" > (setf *second-mode-leave-function* > (lambda () > (run-or-raise (lambda (win) (string-equal "Navigator" > (xlib:get-wm-class win))) > (lambda () (do-shell "cd $HOME && exec conkeror"))))) > (leave-second-mode)) > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel From pbrochard at common-lisp.net Tue Feb 1 22:45:28 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 01 Feb 2011 23:45:28 +0100 Subject: [clfswm-devel] request pull my bugfix patch In-Reply-To: (Desmond O. Chang's message of "Wed, 2 Feb 2011 01:33:12 +0800") References: <87fwscu0f2.fsf@common-lisp.net> <87ei7ubskc.fsf@common-lisp.net> Message-ID: <878vxz4bnb.fsf@common-lisp.net> Desmond O. Chang writes: > On Mon, Jan 31, 2011 at 11:48, Desmond O. Chang wrote: >> >> (defun run-or-raise (raisep run-fn &key (maximized t)) > > I think it's too noisy if MAXIMIZED defaults to T. It should be NIL. > Ok, this is the case in the clfswm code as this can be changed when defining start-emacs. From dochang at gmail.com Wed Feb 2 18:40:12 2011 From: dochang at gmail.com (Desmond O. Chang) Date: Thu, 3 Feb 2011 02:40:12 +0800 Subject: [clfswm-devel] request pull my bugfix patch In-Reply-To: <87d3nb4bpf.fsf@common-lisp.net> References: <87fwscu0f2.fsf@common-lisp.net> <87ei7ubskc.fsf@common-lisp.net> <87d3nb4bpf.fsf@common-lisp.net> Message-ID: On Wed, Feb 2, 2011 at 06:44, Philippe Brochard wrote: > Hi, > > I've added your run-or-raise function in the clfswm code (commited in > your name) as this can be useful for others. And I've added your > start-emacs/conkeror as examples in the doc/dot-clfswmrc Great! I'm very glad about it! Thank you! From dochang at gmail.com Wed Feb 2 18:55:02 2011 From: dochang at gmail.com (Desmond O. Chang) Date: Thu, 3 Feb 2011 02:55:02 +0800 Subject: [clfswm-devel] [pull-request] Add extended keysyms from stumpwm. Message-ID: Hi, The following changes since commit 682cc1ed2227829fff0ece70769fd88ca1f3d7a8: src/clfswm-util.lisp (run-or-raise): New function (thanks to Desmond O. Chang). (2011-02-01 23:06:32 +0100) are available in the git repository at: git://repo.or.cz/clfswm/dochang.git keysyms Desmond O. Chang (1): Add extended keysyms from stumpwm. src/keysyms.lisp | 329 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 329 insertions(+), 0 deletions(-) Thanks, Des From pbrochard at common-lisp.net Sat Feb 5 21:10:09 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 05 Feb 2011 22:10:09 +0100 Subject: [clfswm-devel] [pull-request] Add extended keysyms from stumpwm. In-Reply-To: (Desmond O. Chang's message of "Thu, 3 Feb 2011 02:55:02 +0800") References: Message-ID: <87oc6q5gsu.fsf@common-lisp.net> Hi, Thanks a lot for the patch. It's a long time since I've looked at the stumpwm code :) Regards, Philippe Desmond O. Chang writes: > Hi, > > The following changes since commit 682cc1ed2227829fff0ece70769fd88ca1f3d7a8: > > src/clfswm-util.lisp (run-or-raise): New function (thanks to Desmond > O. Chang). (2011-02-01 23:06:32 +0100) > > are available in the git repository at: > git://repo.or.cz/clfswm/dochang.git keysyms > > Desmond O. Chang (1): > Add extended keysyms from stumpwm. > > src/keysyms.lisp | 329 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 files changed, 329 insertions(+), 0 deletions(-) > > Thanks, > Des > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel From pbrochard at common-lisp.net Sat Feb 5 22:45:41 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 05 Feb 2011 23:45:41 +0100 Subject: [clfswm-devel] CLFSWM 1102 released. Message-ID: <87bp2qxfqi.fsf@common-lisp.net> Hi everybody, I'm very happy to announce a new CLFSWM release: http://common-lisp.net/project/clfswm/clfswm-1102.tar.gz Since the last release, changes are mainly bugs fixes and internals improvements. There is also some new code in contrib: - keyb_fr.lisp to enable french keyboard layout - mpd.lisp to handle the mpd (Music Player Daemon) - xmms.lisp to handle xmms - reboot-halt.lisp a menu to reboot/halt the machine - osd.lisp the system I use to make On Screen Display in videos - server/ a client/server system to manage clfswm remotely or with scripts. And now, CLFSWM can run another window manager while running (this can be useful sometimes with some applications (for example java app)) The full ChangeLog is here: http://common-lisp.net/project/clfswm/ChangeLog As always, the main site is here: http://common-lisp.net/project/clfswm/ And the clfswm trac is available here: http://trac.common-lisp.net/clfswm/ Have fun, Philippe From krzysdrewniak at gmail.com Sun Feb 6 15:37:44 2011 From: krzysdrewniak at gmail.com (Krzysztof Drewniak) Date: Sun, 06 Feb 2011 09:37:44 -0600 Subject: [clfswm-devel] [PATCH] Spelling fix in README Message-ID: <1297006664.4254.3.camel@krzys-desktop> I noticed a spelling error while reading through the README, and have provided a patch. Please commit. ------------------------- PATCH BELOW ------------------------------- diff --git a/README b/README index a475f08..2ee304e 100644 --- a/README +++ b/README @@ -20,7 +20,7 @@ Here is the default key binding to navigate throw this tree: - * Alt-Tab: circulate throw children of the current child. + * Alt-Tab: circulate through children of the current child. * Alt-Left/Right: circulate through brother children (ie: this is like workspaces for a more conventional window manager) * Alt-Up: select the first child of the current frame. ------------------------ END PATCH ---------------------------------- Thank you. Krzysztof Drewniak -- X-Real-Email-With-Antispam: krzysdrewniak at gmail dot com pgp key on keyserver.ubuntu.com 94F02AE8 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: This is a digitally signed message part URL: From pbrochard at common-lisp.net Sun Feb 6 20:52:57 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 06 Feb 2011 21:52:57 +0100 Subject: [clfswm-devel] [PATCH] Spelling fix in README In-Reply-To: <1297006664.4254.3.camel@krzys-desktop> (Krzysztof Drewniak's message of "Sun, 06 Feb 2011 09:37:44 -0600") References: <1297006664.4254.3.camel@krzys-desktop> Message-ID: <8762sw6g2e.fsf@common-lisp.net> Krzysztof Drewniak writes: > I noticed a spelling error while reading through the README, and have > provided a patch. Please commit. > Hi, This is fixed. Thanks a lot. Regards, Philippe From dochang at gmail.com Mon Feb 7 03:07:53 2011 From: dochang at gmail.com (Desmond O. Chang) Date: Mon, 7 Feb 2011 11:07:53 +0800 Subject: [clfswm-devel] How can I put xvkbd on the top? Message-ID: Hi, xvkbd is always on the bottom on my debian sid laptop even if I run it with "-always-on-top" or set "xvkbd.alwaysOnTop" to true. How to move xvkbd to the top in clfswm? Thanks, Des From pbrochard at common-lisp.net Mon Feb 7 22:31:40 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 07 Feb 2011 23:31:40 +0100 Subject: [clfswm-devel] How can I put xvkbd on the top? In-Reply-To: (Desmond O. Chang's message of "Mon, 7 Feb 2011 11:07:53 +0800") References: Message-ID: <87oc6nqxwz.fsf@common-lisp.net> Desmond O. Chang writes: > Hi, > Hi, > xvkbd is always on the bottom on my debian sid laptop even if I run it > with "-always-on-top" or set "xvkbd.alwaysOnTop" to true. > > How to move xvkbd to the top in clfswm? > Well, xvkbd is handled specifically in clfswm with the function present-virtual-keyboard. You can show/hide it with a left click on the top left corner (by default). It start hidden the first time. Click another time to raise it. You can also define a main mode key with the present-virtual-keyboard function. The main mode is important otherwise the VK goes to the background. You can add something like this in your .clfswmrc: -------------------------------------------------- (defun local-binding () (define-main-key (your key and modifiers) 'present-virtual-keyboard)) (unless (member 'local-binding *binding-hook*) (add-hook *binding-hook* 'local-binding)) -------------------------------------------------- > Thanks, > Des Hope that helps. Philippe From pbrochard at common-lisp.net Mon Feb 7 23:03:12 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 08 Feb 2011 00:03:12 +0100 Subject: [clfswm-devel] How can I put xvkbd on the top? In-Reply-To: <87oc6nqxwz.fsf@common-lisp.net> (Philippe Brochard's message of "Mon, 07 Feb 2011 23:31:40 +0100") References: <87oc6nqxwz.fsf@common-lisp.net> Message-ID: <87ei7jqwgf.fsf@common-lisp.net> Philippe Brochard writes: [...] > Well, xvkbd is handled specifically in clfswm with the function > present-virtual-keyboard. You can show/hide it with a left click on the > top left corner (by default). It start hidden the first time. Click | Sorry, top right corner > another time to raise it. [...] Philippe From dochang at gmail.com Tue Feb 8 14:55:57 2011 From: dochang at gmail.com (Desmond O. Chang) Date: Tue, 8 Feb 2011 22:55:57 +0800 Subject: [clfswm-devel] How can I put xvkbd on the top? In-Reply-To: <87oc6nqxwz.fsf@common-lisp.net> References: <87oc6nqxwz.fsf@common-lisp.net> Message-ID: On Tue, Feb 8, 2011 at 06:31, Philippe Brochard wrote: > Desmond O. Chang writes: > >> xvkbd is always on the bottom on my debian sid laptop even if I run it >> with "-always-on-top" or set "xvkbd.alwaysOnTop" to true. >> >> How to move xvkbd to the top in clfswm? >> > Well, xvkbd is handled specifically in clfswm with the function > present-virtual-keyboard. ?You can show/hide it with a left click on the > top left corner (by default). It start hidden the first time. Click > another time to raise it. > Hope that helps. OK, I can use it now, although it's a little inconvenient. Thank you. From pbrochard at common-lisp.net Tue Feb 8 23:02:13 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 09 Feb 2011 00:02:13 +0100 Subject: [clfswm-devel] How can I put xvkbd on the top? In-Reply-To: (Desmond O. Chang's message of "Tue, 8 Feb 2011 22:55:57 +0800") References: <87oc6nqxwz.fsf@common-lisp.net> Message-ID: <87ei7it9je.fsf@common-lisp.net> Desmond O. Chang writes: > On Tue, Feb 8, 2011 at 06:31, Philippe Brochard > wrote: >> Desmond O. Chang writes: >> >>> xvkbd is always on the bottom on my debian sid laptop even if I run it >>> with "-always-on-top" or set "xvkbd.alwaysOnTop" to true. >>> >>> How to move xvkbd to the top in clfswm? >>> >> Well, xvkbd is handled specifically in clfswm with the function >> present-virtual-keyboard. ?You can show/hide it with a left click on the >> top left corner (by default). It start hidden the first time. Click >> another time to raise it. > >> Hope that helps. > > OK, I can use it now, although it's a little inconvenient. Thank you. > You are right this is inconvenient. So I've added a parameter on unmanaged window to raise them or not at startup. Is this better? BTW you can't grab the keyboard. Is there a need to change this also? Philippe From pbrochard at common-lisp.net Wed Feb 9 09:24:44 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 09 Feb 2011 10:24:44 +0100 Subject: [clfswm-devel] How can I put xvkbd on the top? In-Reply-To: <87ei7it9je.fsf@common-lisp.net> (Philippe Brochard's message of "Wed, 09 Feb 2011 00:02:13 +0100") References: <87oc6nqxwz.fsf@common-lisp.net> <87ei7it9je.fsf@common-lisp.net> Message-ID: <87pqr1k1b7.fsf@common-lisp.net> Philippe Brochard writes: [...] > BTW you can't grab the keyboard. Is there a need to > change this also? > Stupid question! I'm working on this. Philippe From pbrochard at common-lisp.net Wed Feb 9 22:15:03 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 09 Feb 2011 23:15:03 +0100 Subject: [clfswm-devel] How can I put xvkbd on the top? In-Reply-To: (Desmond O. Chang's message of "Tue, 8 Feb 2011 22:55:57 +0800") References: <87oc6nqxwz.fsf@common-lisp.net> Message-ID: <87wrl8ua6w.fsf@common-lisp.net> Desmond O. Chang writes: > On Tue, Feb 8, 2011 at 06:31, Philippe Brochard > wrote: >> Desmond O. Chang writes: >> >>> xvkbd is always on the bottom on my debian sid laptop even if I run it >>> with "-always-on-top" or set "xvkbd.alwaysOnTop" to true. >>> >>> How to move xvkbd to the top in clfswm? >>> >> Well, xvkbd is handled specifically in clfswm with the function >> present-virtual-keyboard. ?You can show/hide it with a left click on the >> top left corner (by default). It start hidden the first time. Click >> another time to raise it. > >> Hope that helps. > > OK, I can use it now, although it's a little inconvenient. Thank you. > I've added the code to grab a never managed window if its raise parameter is true. Please, can you test? Thanks. Philippe From dochang at gmail.com Thu Feb 10 22:03:30 2011 From: dochang at gmail.com (Desmond O. Chang) Date: Fri, 11 Feb 2011 06:03:30 +0800 Subject: [clfswm-devel] How can I put xvkbd on the top? In-Reply-To: <87wrl8ua6w.fsf@common-lisp.net> References: <87oc6nqxwz.fsf@common-lisp.net> <87wrl8ua6w.fsf@common-lisp.net> Message-ID: Hi Philippe, On Thu, Feb 10, 2011 at 06:15, Philippe Brochard wrote: >> > I've added the code to grab a never managed window if its raise > parameter is true. Thank you for your work. > Please, can you test? Thanks. I have found several problems (maybe not bugs). 1. The never managed window has no focus after I raise it. 2. When a never managed window A is partially under a managed window B, I can't raise A by clicking its part which is not under B (of course with the modifier, for me, it's :mod-4). I have to click the part under B with :mod-4 to raise A. 3. If I want to move the never managed window, I have to drag it when I raise it. That means, if it's already on the top, dragging doesn't work. 4. The never managed window covers the top-left corner. That means I can't hide the terminal unless I move it first, because I can't click the corner. 5. clfswm will crash after reloading if it has at least a never managed window, either showing or hiding. If clfswm has other managed windows, it will not crash until I click the same corner again. My laptop runs Debian sid and clisp 1:2.48-3.1 with internal clx. Thanks, Des From pbrochard at common-lisp.net Sat Feb 12 23:01:28 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 13 Feb 2011 00:01:28 +0100 Subject: [clfswm-devel] How can I put xvkbd on the top? In-Reply-To: (Desmond O. Chang's message of "Fri, 11 Feb 2011 06:03:30 +0800") References: <87oc6nqxwz.fsf@common-lisp.net> <87wrl8ua6w.fsf@common-lisp.net> Message-ID: <8762sohn7b.fsf@common-lisp.net> Desmond O. Chang writes: > Hi Philippe, > > On Thu, Feb 10, 2011 at 06:15, Philippe Brochard > wrote: >>> >> I've added the code to grab a never managed window if its raise >> parameter is true. > > Thank you for your work. > >> Please, can you test? Thanks. > > I have found several problems (maybe not bugs). > > 1. The never managed window has no focus after I raise it. > This is normal, in the version you have tested I've made the choice to only raise the window and not focus it since this is the expected behaviour with xvkbd. There is a need for something more sofisticated. So please, try the last commit where you can specifiy if you want to raise, focus or do nothing on a never managed window. > 2. When a never managed window A is partially under a managed window > B, I can't raise A by clicking its part which is not under B (of > course with the modifier, for me, it's :mod-4). I have to click the > part under B with :mod-4 to raise A. > The wanted window is at the end of the (xlib:query-tree *root*). It's fixed in the last commit. > 3. If I want to move the never managed window, I have to drag it when > I raise it. That means, if it's already on the top, dragging doesn't > work. > I have some problems with the terminal window (xterm or urxvt). There is some work to be done to fix this. > 4. The never managed window covers the top-left corner. That means I > can't hide the terminal unless I move it first, because I can't click > the corner. > Hum, this works for me. Are you using the xterm (now urxvt with the last commit)? > 5. clfswm will crash after reloading if it has at least a never > managed window, either showing or hiding. If clfswm has other managed > windows, it will not crash until I click the same corner again. > I've some crash on reload. I'll look at this. > My laptop runs Debian sid and clisp 1:2.48-3.1 with internal clx. > This means it's the new-clx. There has been some bugs fixed in the last clisp/new-clx (2.49). Maybe you can try with a newer version or with portable clx. Please, try the last commit. > Thanks, > Des > Regards, Philippe From dochang at gmail.com Sun Feb 13 18:57:37 2011 From: dochang at gmail.com (Desmond O. Chang) Date: Mon, 14 Feb 2011 02:57:37 +0800 Subject: [clfswm-devel] How can I put xvkbd on the top? In-Reply-To: <8762sohn7b.fsf@common-lisp.net> References: <87oc6nqxwz.fsf@common-lisp.net> <87wrl8ua6w.fsf@common-lisp.net> <8762sohn7b.fsf@common-lisp.net> Message-ID: On Sun, Feb 13, 2011 at 07:01, Philippe Brochard wrote: > Desmond O. Chang writes: >> >> 1. The never managed window has no focus after I raise it. >> > This is normal, in the version you have tested I've made the choice to > only raise the window and not focus it since this is the expected > behaviour with xvkbd. > There is a need for something more sofisticated. So please, try the last > commit where you can specifiy if you want to raise, focus or do nothing > on a never managed window. It's fixed and I commit some code to optimize it. Please check git://repo.or.cz/clfswm/dochang.git The commit is on the branch 'fix'. >> 2. When a never managed window A is partially under a managed window >> B, I can't raise A by clicking its part which is not under B (of >> course with the modifier, for me, it's :mod-4). ?I have to click the >> part under B with :mod-4 to raise A. >> > The wanted window is at the end of the (xlib:query-tree *root*). It's > fixed in the last commit. It's not. >> 4. The never managed window covers the top-left corner. ?That means I >> can't hide the terminal unless I move it first, because I can't click >> the corner. >> > Hum, this works for me. Are you using the xterm (now urxvt with the last > commit)? It doesn't work here. I use urxvt. >> My laptop runs Debian sid and clisp 1:2.48-3.1 with internal clx. >> > This means it's the new-clx. There has been some bugs fixed in the last > clisp/new-clx (2.49). Maybe you can try with a newer version or with > portable clx. Which is the 'portable' clx? Do you mean [1]? Is there any 'de facto' standard version? They confuse me. [1] http://common-lisp.net/~abridgewater/dist/clx/clx-0.7.4.tgz > Please, try the last commit. They're tested on fee2718. From pbrochard at common-lisp.net Sun Feb 13 22:53:16 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 13 Feb 2011 23:53:16 +0100 Subject: [clfswm-devel] How can I put xvkbd on the top? In-Reply-To: (Desmond O. Chang's message of "Mon, 14 Feb 2011 02:57:37 +0800") References: <87oc6nqxwz.fsf@common-lisp.net> <87wrl8ua6w.fsf@common-lisp.net> <8762sohn7b.fsf@common-lisp.net> Message-ID: <87ei7blf6r.fsf@common-lisp.net> Desmond O. Chang writes: > On Sun, Feb 13, 2011 at 07:01, Philippe Brochard > wrote: >> Desmond O. Chang writes: >>> >>> 1. The never managed window has no focus after I raise it. >>> >> This is normal, in the version you have tested I've made the choice to >> only raise the window and not focus it since this is the expected >> behaviour with xvkbd. >> There is a need for something more sofisticated. So please, try the last >> commit where you can specifiy if you want to raise, focus or do nothing >> on a never managed window. > > It's fixed and I commit some code to optimize it. Please check > > git://repo.or.cz/clfswm/dochang.git > > The commit is on the branch 'fix'. > Ok, thanks. Indeed it's better like this :) >>> 2. When a never managed window A is partially under a managed window >>> B, I can't raise A by clicking its part which is not under B (of >>> course with the modifier, for me, it's :mod-4). ?I have to click the >>> part under B with :mod-4 to raise A. >>> >> The wanted window is at the end of the (xlib:query-tree *root*). It's >> fixed in the last commit. > > It's not. > Ok, please can you try it now. I've changed the raise-window function. I've grabbed this function from the stumwm code at the clfswm origin and this function do the wrong thing in the clfswm case. This resolve another bug when moving empty frames. >>> 4. The never managed window covers the top-left corner. ?That means I >>> can't hide the terminal unless I move it first, because I can't click >>> the corner. >>> >> Hum, this works for me. Are you using the xterm (now urxvt with the last >> commit)? > > It doesn't work here. I use urxvt. > The corner is 3 pixels large and it is checked before the click is passed to the window (clfswm-util.lisp - line 592). It works for me with urxvt and now an xterm. I don't see what I can do more. Please, can you inspect this function to see if it works as expected. >>> My laptop runs Debian sid and clisp 1:2.48-3.1 with internal clx. >>> >> This means it's the new-clx. There has been some bugs fixed in the last >> clisp/new-clx (2.49). Maybe you can try with a newer version or with >> portable clx. > > Which is the 'portable' clx? Do you mean [1]? Is there any 'de > facto' standard version? They confuse me. > > [1] http://common-lisp.net/~abridgewater/dist/clx/clx-0.7.4.tgz > In fact there is at least 3 clx implementations out there. clisp has 2 : - mit-clx: the old and slow one. But (for me) the reference. - new-clx: the new one. Faster but bugged until recently (~2 years) sbcl, ecl uses portable clx : fast and maintained. cmucl comes with its own clx but I don't know its origins. More info here: http://www.cliki.net/CLX I try to test all of them before each release. >> Please, try the last commit. > > They're tested on fee2718. > Thanks a lot. And now with the last commit? From dochang at gmail.com Mon Feb 14 16:10:19 2011 From: dochang at gmail.com (Desmond O. Chang) Date: Tue, 15 Feb 2011 00:10:19 +0800 Subject: [clfswm-devel] How can I put xvkbd on the top? In-Reply-To: <87ei7blf6r.fsf@common-lisp.net> References: <87oc6nqxwz.fsf@common-lisp.net> <87wrl8ua6w.fsf@common-lisp.net> <8762sohn7b.fsf@common-lisp.net> <87ei7blf6r.fsf@common-lisp.net> Message-ID: On Mon, Feb 14, 2011 at 06:53, Philippe Brochard wrote: > Desmond O. Chang writes: > >> On Sun, Feb 13, 2011 at 07:01, Philippe Brochard >> wrote: >>> Desmond O. Chang writes: >>>> >>>> 2. When a never managed window A is partially under a managed window >>>> B, I can't raise A by clicking its part which is not under B (of >>>> course with the modifier, for me, it's :mod-4). ?I have to click the >>>> part under B with :mod-4 to raise A. >>>> >>> The wanted window is at the end of the (xlib:query-tree *root*). It's >>> fixed in the last commit. >> >> It's not. >> > Ok, please can you try it now. I've changed the raise-window function. > I've grabbed this function from the stumwm code at the clfswm origin and > this function do the wrong thing in the clfswm case. This resolve > another bug when moving empty frames. It's fixed. But here's another issue: what if I click on the overlapping area? clfswm always raises the never managed window even if it's at the bottom. Is this natural? >>>> 4. The never managed window covers the top-left corner. ?That means I >>>> can't hide the terminal unless I move it first, because I can't click >>>> the corner. >>>> >>> Hum, this works for me. Are you using the xterm (now urxvt with the last >>> commit)? >> >> It doesn't work here. ?I use urxvt. >> > The corner is 3 pixels large and it is checked before the click is > passed to the window (clfswm-util.lisp - line 592). > It works for me with urxvt and now an xterm. > I don't see what I can do more. Please, can you inspect this function to > see if it works as expected. It's also fixed in this commit! >>>> My laptop runs Debian sid and clisp 1:2.48-3.1 with internal clx. >>>> >>> This means it's the new-clx. There has been some bugs fixed in the last >>> clisp/new-clx (2.49). Maybe you can try with a newer version or with >>> portable clx. >> >> Which is the 'portable' clx? ?Do you mean [1]? ?Is there any 'de >> facto' standard version? ?They confuse me. >> >> [1] http://common-lisp.net/~abridgewater/dist/clx/clx-0.7.4.tgz >> > In fact there is at least 3 clx implementations out there. > clisp has 2 : > ?- mit-clx: the old and slow one. But (for me) the reference. > ?- new-clx: the new one. Faster but bugged until recently (~2 years) > > sbcl, ecl uses portable clx : fast and maintained. > > cmucl comes with its own clx but I don't know its origins. > > More info here: > > ?http://www.cliki.net/CLX > > I try to test all of them before each release. OK, I'll use the portable one. Tested on 8398c7f. From pbrochard at common-lisp.net Mon Feb 14 22:20:59 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 14 Feb 2011 23:20:59 +0100 Subject: [clfswm-devel] How can I put xvkbd on the top? In-Reply-To: (Desmond O. Chang's message of "Tue, 15 Feb 2011 00:10:19 +0800") References: <87oc6nqxwz.fsf@common-lisp.net> <87wrl8ua6w.fsf@common-lisp.net> <8762sohn7b.fsf@common-lisp.net> <87ei7blf6r.fsf@common-lisp.net> Message-ID: <87y65ip8ac.fsf@common-lisp.net> Desmond O. Chang writes: > It's fixed. But here's another issue: what if I click on the > overlapping area? clfswm always raises the never managed window even > if it's at the bottom. Is this natural? > Yes it is. Never managed windows are not in the clfswm tree (it's there function) and so they're on top (like xvkbd or the clfswm terminal) or on the bottom (like the rox pinboard). So I think they must be easily traceable. This window type is for exceptional windows with a specific comportment outside the standard clfswm comportment. If one needs floating windows inside a frame there is always unmanaged windows for this : second mode (alt+t) -> window menu (w) -> force to not manage the window by its parent frame (u) Or for a frame in general: second mode (alt+t) -> frame menu (f) -> managed window type menu (w) -> do not manage any window type (u) [...] >> http://www.cliki.net/CLX >> >> I try to test all of them before each release. > > OK, I'll use the portable one. > This is the one I use now with sbcl or clisp. > Tested on 8398c7f. > Many thanks, Now there is the crash on reload and the too many flickering problem to be fixed :) Philippe From pbrochard at common-lisp.net Mon Feb 14 23:40:01 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 15 Feb 2011 00:40:01 +0100 Subject: [clfswm-devel] How can I put xvkbd on the top? In-Reply-To: <87y65ip8ac.fsf@common-lisp.net> (Philippe Brochard's message of "Mon, 14 Feb 2011 23:20:59 +0100") References: <87oc6nqxwz.fsf@common-lisp.net> <87wrl8ua6w.fsf@common-lisp.net> <8762sohn7b.fsf@common-lisp.net> <87ei7blf6r.fsf@common-lisp.net> <87y65ip8ac.fsf@common-lisp.net> Message-ID: <87fwrqkwxa.fsf@common-lisp.net> Philippe Brochard writes: [...] > Now there is the crash on reload and the too many flickering problem to > be fixed :) > The crash on reload/reset is fixed in the last commit. The flickering problem needs more work. Philippe From dochang at gmail.com Tue Feb 15 22:15:26 2011 From: dochang at gmail.com (Desmond O. Chang) Date: Wed, 16 Feb 2011 06:15:26 +0800 Subject: [clfswm-devel] How can I put xvkbd on the top? In-Reply-To: <87fwrqkwxa.fsf@common-lisp.net> References: <87oc6nqxwz.fsf@common-lisp.net> <87wrl8ua6w.fsf@common-lisp.net> <8762sohn7b.fsf@common-lisp.net> <87ei7blf6r.fsf@common-lisp.net> <87y65ip8ac.fsf@common-lisp.net> <87fwrqkwxa.fsf@common-lisp.net> Message-ID: On Tue, Feb 15, 2011 at 07:40, Philippe Brochard wrote: > Philippe Brochard writes: > > > [...] > >> Now there is the crash on reload and the too many flickering problem to >> be fixed :) >> > The crash on reload/reset is fixed in the last commit. It doesn't crash now. But when I reload clfswm if xvkbd is open, clfswm will report: CLFSWM Error: XLIB:GET-PROPERTY: used closed display #. Then, I can't click the same corner (top-right) to hide xvkbd. I have to close it completely then rerun it. Tested on 80d56ee. From pbrochard at common-lisp.net Wed Feb 16 11:03:31 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 16 Feb 2011 12:03:31 +0100 Subject: [clfswm-devel] How can I put xvkbd on the top? In-Reply-To: (Desmond O. Chang's message of "Wed, 16 Feb 2011 06:15:26 +0800") References: <87oc6nqxwz.fsf@common-lisp.net> <87wrl8ua6w.fsf@common-lisp.net> <8762sohn7b.fsf@common-lisp.net> <87ei7blf6r.fsf@common-lisp.net> <87y65ip8ac.fsf@common-lisp.net> <87fwrqkwxa.fsf@common-lisp.net> Message-ID: <87ipwk44xo.fsf@common-lisp.net> Desmond O. Chang writes: > On Tue, Feb 15, 2011 at 07:40, Philippe Brochard > wrote: >> Philippe Brochard writes: >> >> >> [...] >> >>> Now there is the crash on reload and the too many flickering problem to >>> be fixed :) >>> >> The crash on reload/reset is fixed in the last commit. > > It doesn't crash now. But when I reload clfswm if xvkbd is open, > clfswm will report: > > CLFSWM Error: XLIB:GET-PROPERTY: used closed display # XLIB:CLOSED-DISPLAY #x2095CEAE>. > > Then, I can't click the same corner (top-right) to hide xvkbd. I have > to close it completely then rerun it. > > Tested on 80d56ee. > I haven't this error (I don't know why. But this is the expected error report following the code). I have added a close hook called just before closing the display which close cleanly the notify window, the clfswm terminal and the virtual keyboard. I hope the close this part of the code. It's laborious on my side :) From dochang at gmail.com Tue Feb 22 01:48:27 2011 From: dochang at gmail.com (Desmond O. Chang) Date: Tue, 22 Feb 2011 09:48:27 +0800 Subject: [clfswm-devel] clfswm in different environments Message-ID: Hi, After upgrading clisp from 1:2.48-3.1 to 1:2.49-2 (debian sid), I can't use clfswm with clisp anymore. The error message is: SYSTEM::%STRUCTURE-STORE: 49 is not a valid index into # After a while, it raises another error: XLIB:OPEN-DISPLAY: Cannot open display ":0". Maximum number of clients reached I think it's because clfswm try to reinit too many times. Then I try sbcl with portable-clx. It works, but my browsers, conkeror and iceweasel, often freeze if I open gmail or view flash videos. I also try clisp with portable-clx. It doesn't work at all. The error message is: Connection failure to X11.0 server display 0: No protocol specified Finally, I collect test results and make the following table: | Implementations | CLFSWM | StumpWM | |----------------------------+-----------------------+-----------------------| | clisp-2.48/new-clx | OK | OK | | clisp-2.49/new-clx | not a valid index | OK | | sbcl-1.0.45.0/portable-clx | freeze sometimes | OK | | clisp-2.49/portable-clx | No protocol specified | No protocol specified | The conclusion is: 1. clisp cannot use portable-clx. we can ignore this. 2. clfswm have some bugs on clisp-2.49 and sbcl-1.0.45.0. Please fix it. Thank you! PS: 1. ccl-1.6 and sbcl-1.0.45.0 have the same results. 2. the portable-clx version I used is [1]. 3. I have to fix portable-clx before it's compiled in sbcl-1.0.45.0. If you have the same problem, please check [2]. [1] http://common-lisp.net/~abridgewater/dist/clx/clx-0.7.4.tgz [2] http://sourceforge.net/mailarchive/message.php?msg_id=26710588 Thanks, Des From dochang at gmail.com Tue Feb 22 02:01:46 2011 From: dochang at gmail.com (Desmond O. Chang) Date: Tue, 22 Feb 2011 10:01:46 +0800 Subject: [clfswm-devel] [pull-request] Add volume mode Message-ID: Hi, The following changes since commit 014f413770096568320199de7d13ac10d2f34ec1: src/clfswm.lisp (main-unprotected): Add a close hook. And close the notify window, the virtual keyboard and the clfswm terminal by default. (2011-02-16 11:47:09 +0100) are available in the git repository at: git://repo.or.cz/clfswm/dochang.git volume-mode Desmond O. Chang (2): Use ASDF:SYSTEM-SOURCE-DIRECTORY instead of *LOAD-TRUENAME*. Add volume mode. clfswm.asd | 6 +- contrib/amixer.lisp | 43 +++++++++++ contrib/server/server.lisp | 2 +- src/bindings-second-mode.lisp | 7 ++ src/bindings.lisp | 4 + src/clfswm-keys.lisp | 2 + src/clfswm-util.lisp | 2 +- src/clfswm-volume-mode.lisp | 154 +++++++++++++++++++++++++++++++++++++++++ src/clfswm.lisp | 6 +- src/config.lisp | 17 +++++ src/package.lisp | 3 + src/tools.lisp | 7 ++ 12 files changed, 246 insertions(+), 7 deletions(-) create mode 100644 contrib/amixer.lisp create mode 100644 src/clfswm-volume-mode.lisp This pull-request adds volume mode. This mode is inspired by the emms volume package. When you change the volume in main mode or second mode, clfswm will enter volume mode and set a timer to leave this mode. Changing volume in volume mode will reset the timer. You can also leave volume mode manually by return, escape or control-g. Special variable *VOLUME-MODE-TIMEOUT* controls the timeout in seconds. If it's positive, volume mode will exit when timeout occurs; if it's 0, volume mode will exit right now; if it's negative, volume will not exit even if timeout occurs. Default timeout is 3 seconds. Volume mode uses three special variables to control the mixer: *VOLUME-MUTE-FUNCTION*, *VOLUME-LOWER-FUNCTION* and *VOLUME-RAISE-FUNCTION*. Their values are functions which must accept no arguments and return two values indicating the mixer state. The first value is the volume ratio whose type must be (real 0 1). If the mixer is mute, the second value should be true, otherwise it should be false. If volume controller cannot get the mixer state, it must return NIL. Volume mode shows a mute sign, a percentage and a ratio bar on the screen. A plus sign '+' means it's unmute and a minus sign '-' means it's mute now. If volume mode doesn't know the mixer state, a message "unknown" will be shown. contrib/amixer.lisp shows how to use volume mode with alsa. Thanks, Des From dochang at gmail.com Tue Feb 22 02:04:30 2011 From: dochang at gmail.com (Desmond O. Chang) Date: Tue, 22 Feb 2011 10:04:30 +0800 Subject: [clfswm-devel] How can I put xvkbd on the top? In-Reply-To: <87ipwk44xo.fsf@common-lisp.net> References: <87oc6nqxwz.fsf@common-lisp.net> <87wrl8ua6w.fsf@common-lisp.net> <8762sohn7b.fsf@common-lisp.net> <87ei7blf6r.fsf@common-lisp.net> <87y65ip8ac.fsf@common-lisp.net> <87fwrqkwxa.fsf@common-lisp.net> <87ipwk44xo.fsf@common-lisp.net> Message-ID: On Wed, Feb 16, 2011 at 19:03, Philippe Brochard wrote: > Desmond O. Chang writes: > >> On Tue, Feb 15, 2011 at 07:40, Philippe Brochard >> wrote: >>> Philippe Brochard writes: >>> >>> >>> [...] >>> >>>> Now there is the crash on reload and the too many flickering problem to >>>> be fixed :) >>>> >>> The crash on reload/reset is fixed in the last commit. >> >> It doesn't crash now. ?But when I reload clfswm if xvkbd is open, >> clfswm will report: >> >> CLFSWM Error: XLIB:GET-PROPERTY: used closed display #> XLIB:CLOSED-DISPLAY #x2095CEAE>. >> >> Then, I can't click the same corner (top-right) to hide xvkbd. ?I have >> to close it completely then rerun it. >> >> Tested on 80d56ee. >> > I haven't this error (I don't know why. But this is the expected error > report following the code). I have added a close hook called just before > closing the display which close cleanly the notify window, the clfswm > terminal and the virtual keyboard. > I hope the close this part of the code. It's laborious on my side :) It's fixed. Thanks. From pbrochard at common-lisp.net Tue Feb 22 12:11:55 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 22 Feb 2011 13:11:55 +0100 Subject: [clfswm-devel] clfswm in different environments References: Message-ID: <8762sc6zg4.fsf@common-lisp.net> Desmond O. Chang writes: > Hi, > Hi, > After upgrading clisp from 1:2.48-3.1 to 1:2.49-2 (debian sid), I > can't use clfswm with clisp anymore. The error message is: > > SYSTEM::%STRUCTURE-STORE: 49 is not a valid index into > # #x208D3116> > > After a while, it raises another error: > > XLIB:OPEN-DISPLAY: Cannot open display ":0". Maximum number of > clients reached > Maybe you have to clear all .fas and .lib files built with the old clisp. You may have to do the same with the directory ~/.cache/common-lisp/... before building clx and clfswm. In all cases, when something goes wrong with CLX, start with a fresh source directory and clear your cache. > I think it's because clfswm try to reinit too many times. > I think so. > Then I try sbcl with portable-clx. It works, but my browsers, > conkeror and iceweasel, often freeze if I open gmail or view flash > videos. > SBCL takes a lot more memory than clisp. _Maybe_ you have some swap problems. Can you search the cpu and memory used by clfswm with sbcl? Also, Flash is known to use 100% of the cpu. What hardware are you running clfswm on? > I also try clisp with portable-clx. It doesn't work at all. The > error message is: > > Connection failure to X11.0 server display 0: No protocol specified > This one is because you haven't enabled local connections on your X server. Add a line with 'xhost local:local' in your ~/.xsession or .xinitrc or .Xclients. > Finally, I collect test results and make the following table: > > | Implementations | CLFSWM | StumpWM | > |----------------------------+-----------------------+-----------------------| > | clisp-2.48/new-clx | OK | OK | > | clisp-2.49/new-clx | not a valid index | OK | > | sbcl-1.0.45.0/portable-clx | freeze sometimes | OK | > | clisp-2.49/portable-clx | No protocol specified | No protocol specified | > > > The conclusion is: > > 1. clisp cannot use portable-clx. we can ignore this. > Ignore this for you!!! I have it running here with clisp-2.49 and its my everyday use case. > 2. clfswm have some bugs on clisp-2.49 and sbcl-1.0.45.0. Please fix > it. Thank you! > I'd like to fixe them but I have clfswm running here with clisp-2.49 / mit-clx, new-clx and portable-clx. It runs also with sbcl-1.0.45 with the patch [2] and with sbcl-1.0.46 with the original clx-0.7.4. There is surely some bugs in clfswm but those you have comes from your CLX installation. Regards, Philippe > PS: > > 1. ccl-1.6 and sbcl-1.0.45.0 have the same results. > > 2. the portable-clx version I used is [1]. > > 3. I have to fix portable-clx before it's compiled in sbcl-1.0.45.0. > If you have the same problem, please check [2]. > > [1] http://common-lisp.net/~abridgewater/dist/clx/clx-0.7.4.tgz > [2] http://sourceforge.net/mailarchive/message.php?msg_id=26710588 > > Thanks, > Des > From pbrochard at common-lisp.net Tue Feb 22 14:12:58 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 22 Feb 2011 15:12:58 +0100 Subject: [clfswm-devel] [pull-request] Add volume mode In-Reply-To: (Desmond O. Chang's message of "Tue, 22 Feb 2011 10:01:46 +0800") References: Message-ID: <87fwrgkvit.fsf@common-lisp.net> Hi, Thanks a lot for the volume-mode. I really like it and use it now! I've put it in the contrib directory since I think there is no need to have it in the main code (like the mpd or xmms interface). I've also added the ability to launch an external mixer from the volume mode. Thanks again, Regards, Philippe Desmond O. Chang writes: > Hi, > > The following changes since commit 014f413770096568320199de7d13ac10d2f34ec1: > > src/clfswm.lisp (main-unprotected): Add a close hook. And close the > notify window, the virtual keyboard and the clfswm terminal by > default. (2011-02-16 11:47:09 +0100) > > are available in the git repository at: > git://repo.or.cz/clfswm/dochang.git volume-mode > > Desmond O. Chang (2): > Use ASDF:SYSTEM-SOURCE-DIRECTORY instead of *LOAD-TRUENAME*. > Add volume mode. > > clfswm.asd | 6 +- > contrib/amixer.lisp | 43 +++++++++++ > contrib/server/server.lisp | 2 +- > src/bindings-second-mode.lisp | 7 ++ > src/bindings.lisp | 4 + > src/clfswm-keys.lisp | 2 + > src/clfswm-util.lisp | 2 +- > src/clfswm-volume-mode.lisp | 154 +++++++++++++++++++++++++++++++++++++++++ > src/clfswm.lisp | 6 +- > src/config.lisp | 17 +++++ > src/package.lisp | 3 + > src/tools.lisp | 7 ++ > 12 files changed, 246 insertions(+), 7 deletions(-) > create mode 100644 contrib/amixer.lisp > create mode 100644 src/clfswm-volume-mode.lisp > > > This pull-request adds volume mode. > > This mode is inspired by the emms volume package. When you change the > volume in main mode or second mode, clfswm will enter volume mode and > set a timer to leave this mode. Changing volume in volume mode will > reset the timer. You can also leave volume mode manually by return, > escape or control-g. > > Special variable *VOLUME-MODE-TIMEOUT* controls the timeout in > seconds. If it's positive, volume mode will exit when timeout occurs; > if it's 0, volume mode will exit right now; if it's negative, volume > will not exit even if timeout occurs. Default timeout is 3 seconds. > > Volume mode uses three special variables to control the mixer: > *VOLUME-MUTE-FUNCTION*, *VOLUME-LOWER-FUNCTION* and > *VOLUME-RAISE-FUNCTION*. Their values are functions which must accept > no arguments and return two values indicating the mixer state. The > first value is the volume ratio whose type must be (real 0 1). If the > mixer is mute, the second value should be true, otherwise it should be > false. If volume controller cannot get the mixer state, it must > return NIL. > > Volume mode shows a mute sign, a percentage and a ratio bar on the > screen. A plus sign '+' means it's unmute and a minus sign '-' means > it's mute now. If volume mode doesn't know the mixer state, a message > "unknown" will be shown. > > contrib/amixer.lisp shows how to use volume mode with alsa. > > > Thanks, > Des > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel From dochang at gmail.com Fri Feb 25 08:15:58 2011 From: dochang at gmail.com (Desmond O. Chang) Date: Fri, 25 Feb 2011 16:15:58 +0800 Subject: [clfswm-devel] clfswm in different environments In-Reply-To: <8762sc6zg4.fsf@common-lisp.net> References: <8762sc6zg4.fsf@common-lisp.net> Message-ID: On Tue, Feb 22, 2011 at 20:11, Philippe Brochard wrote: > Maybe you have to clear all .fas and .lib files built with the old > clisp. You may have to do the same with the directory ~/.cache/common-lisp/... > before building clx and clfswm. > In all cases, when something goes wrong with CLX, start with a fresh > source directory and clear your cache. I think I know why. The fas files compiled with new clx cannot be used with portable clx and vice versa. Is it a bug? > SBCL takes a lot more memory than clisp. _Maybe_ you have some swap > problems. Can you search the cpu and memory used by clfswm with sbcl? I use 'ps -eo pid,%cpu,%mem,rsz,cmd|grep sbcl' to get the following # after startup 1729 4.7 6.7 33972 sbcl --eval (asdf:load-system :clfswm) --eval (clfswm:main) --eval (quit) # after freezing 1729 1.9 8.5 43176 sbcl --eval (asdf:load-system :clfswm) --eval (clfswm:main) --eval (quit) > Also, Flash is known to use 100% of the cpu. > What hardware are you running clfswm on? # lshw -short H/W path Device Class Description =========================================================== system HP 520 Notebook PC(GH632AA#AB2) (GH632AA#AB2) /0 bus 30D5 /0/0 memory 128KiB BIOS /0/4 processor Genuine Intel(R) CPU T2050 @ 1.60GHz /0/4/5 memory 64KiB L1 cache /0/4/6 memory 2MiB L2 cache /0/4/0.1 processor Logical CPU /0/4/0.2 processor Logical CPU /0/a memory 512MiB System Memory /0/a/0 memory 512MiB SODIMM DDR2 Synchronous 667 MHz (1.5 ns) /0/a/1 memory SODIMM DDR2 Synchronous [empty] /0/100 bridge Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub /0/100/2 display Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller /0/100/2.1 display Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller /0/100/1b multimedia N10/ICH 7 Family High Definition Audio Controller /0/100/1c bridge N10/ICH 7 Family PCI Express Port 1 /0/100/1c.1 bridge N10/ICH 7 Family PCI Express Port 2 /0/100/1c.1/0 wlan0 network PRO/Wireless 3945ABG [Golan] Network Connection /0/100/1d bus N10/ICH 7 Family USB UHCI Controller #1 /0/100/1d.7 bus N10/ICH 7 Family USB2 EHCI Controller /0/100/1e bridge 82801 Mobile PCI Bridge /0/100/1e/6 bridge CB1410 Cardbus Controller /0/100/1e/8 eth0 network 82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller Mobile /0/100/1f bridge 82801GBM (ICH7-M) LPC Interface Bridge /0/100/1f.1 scsi4 storage 82801G (ICH7 Family) IDE Controller /0/100/1f.1/0.0.0 /dev/cdrom1 disk RW/DVD GCC-C10N /0/100/1f.2 scsi0 storage 82801GBM/GHM (ICH7 Family) SATA AHCI Controller /0/100/1f.2/0.0.0 /dev/sda disk 80GB Hitachi HTS54168 /0/100/1f.2/0.0.0/1 /dev/sda1 volume 6196MiB Linux filesystem partition /0/100/1f.2/0.0.0/2 /dev/sda2 volume 68GiB Extended partition /0/100/1f.2/0.0.0/2/5 /dev/sda5 volume 1427MiB Linux swap / Solaris partition /0/100/1f.2/0.0.0/2/6 /dev/sda6 volume 67GiB Linux filesystem partition > This one is because you haven't enabled local connections on your X > server. Add a line with 'xhost local:local' in your ~/.xsession or > .xinitrc or .Xclients. Why does clisp require this with portable clx but sbcl not? From dochang at gmail.com Fri Feb 25 08:19:47 2011 From: dochang at gmail.com (Desmond O. Chang) Date: Fri, 25 Feb 2011 16:19:47 +0800 Subject: [clfswm-devel] [pull-request] Add volume mode In-Reply-To: <87fwrgkvit.fsf@common-lisp.net> References: <87fwrgkvit.fsf@common-lisp.net> Message-ID: On Tue, Feb 22, 2011 at 22:12, Philippe Brochard wrote: > Hi, > > Thanks a lot for the volume-mode. I really like it and use it now! > I've put it in the contrib directory since I think there is no need to > have it in the main code (like the mpd or xmms interface). I'm very glad to see that it's merged into upstream. > I've also added the ability to launch an external mixer from the volume > mode. Nice job! From pbrochard at common-lisp.net Fri Feb 25 16:02:07 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 25 Feb 2011 17:02:07 +0100 Subject: [clfswm-devel] clfswm in different environments In-Reply-To: (Desmond O. Chang's message of "Fri, 25 Feb 2011 16:15:58 +0800") References: <8762sc6zg4.fsf@common-lisp.net> Message-ID: <87wrkot85c.fsf@common-lisp.net> Desmond O. Chang writes: > On Tue, Feb 22, 2011 at 20:11, Philippe Brochard > wrote: >> Maybe you have to clear all .fas and .lib files built with the old >> clisp. You may have to do the same with the directory ~/.cache/common-lisp/... >> before building clx and clfswm. >> In all cases, when something goes wrong with CLX, start with a fresh >> source directory and clear your cache. > > I think I know why. The fas files compiled with new clx cannot be > used with portable clx and vice versa. Is it a bug? > Yes that's right. And it's even worse with a mix between ecl and clisp because they share the same .fas extension but the file format is completely different. And I don't think it's a bug. More a lose of feature. It's just that asdf can't know when you've changed your implementation. We can't even know which clx we are using while clisp is running. So clear your cache each time you change your clx. >> SBCL takes a lot more memory than clisp. _Maybe_ you have some swap >> problems. Can you search the cpu and memory used by clfswm with sbcl? > > I use 'ps -eo pid,%cpu,%mem,rsz,cmd|grep sbcl' to get the following > > # after startup > 1729 4.7 6.7 33972 sbcl --eval (asdf:load-system :clfswm) --eval > (clfswm:main) --eval (quit) > # after freezing > 1729 1.9 8.5 43176 sbcl --eval (asdf:load-system :clfswm) --eval > (clfswm:main) --eval (quit) > I got this on my box with sbcl: # After startup 15462 12.3 2.1 42936 /home/phil/Lisp/local/sbcl-1.0.46/local/bin/sbcl --core /home/phil/Lisp/local/build/sbcl-clx-cffi.core --load load.lisp # After 10 minutes 15462 1.3 2.3 47760 /home/phil/Lisp/local/sbcl-1.0.46/local/bin/sbcl --core /home/phil/Lisp/local/build/sbcl-clx-cffi.core --load load.lisp With clisp-2.49/portable-clx: # At startup 16153 15.3 0.4 9016 /usr/lib/clisp-2.49/base/lisp.run -B /usr/lib/clisp-2.49 -M /usr/lib/clisp-2.49/base/lispinit.mem -N /usr/share/locale load.lisp # After 5 minutes 16153 1.4 0.4 9016 /usr/lib/clisp-2.49/base/lisp.run -B /usr/lib/clisp-2.49 -M /usr/lib/clisp-2.49/base/lispinit.mem -N /usr/share/locale loa With cmucl and its clx: # At startup 18234 14.7 1.6 32508 /usr/lib/cmucl/bin/lisp -load load.lisp # After 5 minutes 18234 3.3 1.6 33300 /usr/lib/cmucl/bin/lisp -load load.lisp And with my currently running clfswm session clisp-2.49/portable-clx (I've added a time parameter) 3743 0.4 0.5 11532 01:46:19 /home/phil/.cache/clfswm//clfswm-3355498365.core -- The conclusion I can find is that I see sbcl is using more memory on your box than on mine (don't know if this is relevant) but the cpu usage is better on your box. Maybe you can have more instantaneous informations with top. And clisp is surely a better option for you. How do you see that clfswm is freezing? If this is when you move a frame or a window, the freeze maybe normal as this is a cpu intensive action. Maybe the gc comes in action (maybe something consing to mush). I'll take a look. >> Also, Flash is known to use 100% of the cpu. >> What hardware are you running clfswm on? > > # lshw -short > H/W path Device Class Description > =========================================================== > system HP 520 Notebook > PC(GH632AA#AB2) (GH632AA#AB2) > /0 bus 30D5 > /0/0 memory 128KiB BIOS > /0/4 processor Genuine Intel(R) CPU > T2050 @ 1.60GHz > /0/4/5 memory 64KiB L1 cache > /0/4/6 memory 2MiB L2 cache > /0/4/0.1 processor Logical CPU > /0/4/0.2 processor Logical CPU > /0/a memory 512MiB System Memory > /0/a/0 memory 512MiB SODIMM DDR2 > Synchronous 667 MHz (1.5 ns) > /0/a/1 memory SODIMM DDR2 Synchronous [empty] > /0/100 bridge Mobile 945GM/PM/GMS, > 943/940GML and 945GT Express Memory Controller Hub > /0/100/2 display Mobile 945GM/GMS, > 943/940GML Express Integrated Graphics Controller > /0/100/2.1 display Mobile 945GM/GMS/GME, > 943/940GML Express Integrated Graphics Controller > /0/100/1b multimedia N10/ICH 7 Family High > Definition Audio Controller > /0/100/1c bridge N10/ICH 7 Family PCI > Express Port 1 > /0/100/1c.1 bridge N10/ICH 7 Family PCI > Express Port 2 > /0/100/1c.1/0 wlan0 network PRO/Wireless 3945ABG > [Golan] Network Connection > /0/100/1d bus N10/ICH 7 Family USB > UHCI Controller #1 > /0/100/1d.7 bus N10/ICH 7 Family USB2 > EHCI Controller > /0/100/1e bridge 82801 Mobile PCI Bridge > /0/100/1e/6 bridge CB1410 Cardbus Controller > /0/100/1e/8 eth0 network 82562ET/EZ/GT/GZ - > PRO/100 VE (LOM) Ethernet Controller Mobile > /0/100/1f bridge 82801GBM (ICH7-M) LPC > Interface Bridge > /0/100/1f.1 scsi4 storage 82801G (ICH7 Family) > IDE Controller > /0/100/1f.1/0.0.0 /dev/cdrom1 disk RW/DVD GCC-C10N > /0/100/1f.2 scsi0 storage 82801GBM/GHM (ICH7 > Family) SATA AHCI Controller > /0/100/1f.2/0.0.0 /dev/sda disk 80GB Hitachi HTS54168 > /0/100/1f.2/0.0.0/1 /dev/sda1 volume 6196MiB Linux > filesystem partition > /0/100/1f.2/0.0.0/2 /dev/sda2 volume 68GiB Extended partition > /0/100/1f.2/0.0.0/2/5 /dev/sda5 volume 1427MiB Linux swap / > Solaris partition > /0/100/1f.2/0.0.0/2/6 /dev/sda6 volume 67GiB Linux filesystem partition > You can compare with my box: H/W path Device Class Description ==================================================== system HP Compaq 6730b (GW687AV) (GW687AV) /0 bus 30DD /0/9 memory 64KiB BIOS /0/0 processor Celeron(R) Dual-Core CPU T3000 @ 1.80GHz /0/0/1 memory 1MiB L2 cache /0/0/3 memory 32KiB L1 cache /0/0/0.1 processor Logical CPU /0/0/0.2 processor Logical CPU /0/2 memory 32KiB L1 cache /0/4 memory 2GiB System Memory /0/4/0 memory 2GiB SODIMM DDR2 Synchronous 800 MHz (1.2 ns) /0/4/1 memory SODIMM [empty] /0/100 bridge Mobile 4 Series Chipset Memory Controller Hub /0/100/2 display Mobile 4 Series Chipset Integrated Graphics Controller /0/100/2.1 display Mobile 4 Series Chipset Integrated Graphics Controller /0/100/1a bus 82801I (ICH9 Family) USB UHCI Controller #4 /0/100/1a.1 bus 82801I (ICH9 Family) USB UHCI Controller #5 /0/100/1a.2 bus 82801I (ICH9 Family) USB UHCI Controller #6 /0/100/1a.7 bus 82801I (ICH9 Family) USB2 EHCI Controller #2 /0/100/1b multimedia 82801I (ICH9 Family) HD Audio Controller /0/100/1c bridge 82801I (ICH9 Family) PCI Express Port 1 /0/100/1c.1 bridge 82801I (ICH9 Family) PCI Express Port 2 /0/100/1c.1/0 network BCM4312 802.11b/g LP-PHY /0/100/1c.2 bridge 82801I (ICH9 Family) PCI Express Port 3 /0/100/1c.4 bridge 82801I (ICH9 Family) PCI Express Port 5 /0/100/1c.5 bridge 82801I (ICH9 Family) PCI Express Port 6 /0/100/1c.5/0 eth0 network NetLink BCM5787M Gigabit Ethernet PCI Express /0/100/1d bus 82801I (ICH9 Family) USB UHCI Controller #1 /0/100/1d.1 bus 82801I (ICH9 Family) USB UHCI Controller #2 /0/100/1d.2 bus 82801I (ICH9 Family) USB UHCI Controller #3 /0/100/1d.7 bus 82801I (ICH9 Family) USB2 EHCI Controller #1 /0/100/1e bridge 82801 Mobile PCI Bridge /0/100/1e/2 bus FW322/323 /0/100/1f bridge ICH9M LPC Interface Controller /0/100/1f.2 scsi0 storage ICH9M/M-E SATA AHCI Controller /0/100/1f.2/0 /dev/sda disk 160GB Hitachi HTS54321 /0/100/1f.2/0/1 /dev/sda1 volume 58GiB Windows NTFS volume /0/100/1f.2/0/2 /dev/sda2 volume 36GiB Windows NTFS volume /0/100/1f.2/0/3 /dev/sda3 volume 10GiB EXT4 volume /0/100/1f.2/0/4 /dev/sda4 volume 44GiB EXT3 volume /0/100/1f.2/1 /dev/cdrom disk DVD RW AD-7561S /0/1 scsi6 storage /0/1/0.0.0 /dev/sdb disk 320GB SCSI Disk /0/1/0.0.0/1 /dev/sdb1 volume 39GiB EXT4 volume /0/1/0.0.0/2 /dev/sdb2 volume 2000MiB Linux swap volume /0/1/0.0.0/4 /dev/sdb4 volume 256GiB Extended partition /0/1/0.0.0/4/5 /dev/sdb5 volume 65GiB Linux filesystem partition /0/1/0.0.0/4/6 /dev/sdb6 volume 191GiB HPFS/NTFS partition /1 power TD06055 /2 wlan0 network Wireless interface I've a box with the double of cpu and a lot more memory. But I always disable flash except when I really need it (vlc is good for viewing youtube). clisp is surely a better option for you. You can also try cmucl which use less memory. >> This one is because you haven't enabled local connections on your X >> server. Add a line with 'xhost local:local' in your ~/.xsession or >> .xinitrc or .Xclients. > > Why does clisp require this with portable clx but sbcl not? > Don't know. cmucl has solved this but the open-clx-display is not portable. http://www.cons.org/cmucl/doc/clx-authorization.html From pbrochard at common-lisp.net Fri Feb 25 16:04:19 2011 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 25 Feb 2011 17:04:19 +0100 Subject: [clfswm-devel] [pull-request] Add volume mode In-Reply-To: (Desmond O. Chang's message of "Fri, 25 Feb 2011 16:19:47 +0800") References: <87fwrgkvit.fsf@common-lisp.net> Message-ID: <87r5awt81o.fsf@common-lisp.net> Desmond O. Chang writes: > On Tue, Feb 22, 2011 at 22:12, Philippe Brochard > wrote: >> Hi, >> >> Thanks a lot for the volume-mode. I really like it and use it now! >> I've put it in the contrib directory since I think there is no need to >> have it in the main code (like the mpd or xmms interface). > > I'm very glad to see that it's merged into upstream. > Useful code must always been merged :) >> I've also added the ability to launch an external mixer from the volume >> mode. > > Nice job! > Thanks! How do you think clfswm is hackable? Is the api hard to understand?