From ales.guzik at gmail.com Thu Aug 2 07:52:53 2012 From: ales.guzik at gmail.com (Ales Guzik) Date: Thu, 2 Aug 2012 10:52:53 +0300 Subject: [clfswm-devel] Random crashes cause Message-ID: Hi everyone. Seems I've found clfswm random crashes cause. It crashes when adjusting time backward, so if it's 10:45 now "# date -s 10:44" will cause clfswm crash. And as ntp daemon always adjusts time in background, this looks like random crashes. Thanks, Ales. -- Ales Guzik skype: ales-guzik tel: +375 29 5751103 From pbrochard at common-lisp.net Thu Aug 2 08:12:52 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Thu, 02 Aug 2012 10:12:52 +0200 Subject: [clfswm-devel] Random crashes cause In-Reply-To: (Ales Guzik's message of "Thu, 2 Aug 2012 10:52:53 +0300") References: Message-ID: <87ehnpr9tn.fsf@common-lisp.net> Ales Guzik writes: > Hi everyone. > Hi Ales, > Seems I've found clfswm random crashes cause. It crashes when > adjusting time backward, so if it's 10:45 now "# date -s 10:44" will > cause clfswm crash. And as ntp daemon always adjusts time in > background, this looks like random crashes. > Wow, very strange! I haven't seen this bug on my box with clisp/git-clx. In fact it's not a clfswm bug but a big sbcl (1.0.57 at least) bug. Please try to launch sbcl and change the date backward and eval another form from the REPL. The crash is impressive on my box! Nothing to do with clfswm but very annoying. Please, can you report this to the sbcl team. I'll do it when I have more time. > Thanks, Ales. > Thanks for the report, Regards, Philippe From ales.guzik at gmail.com Thu Aug 2 09:34:16 2012 From: ales.guzik at gmail.com (Ales Guzik) Date: Thu, 2 Aug 2012 12:34:16 +0300 Subject: [clfswm-devel] Random crashes cause In-Reply-To: <87ehnpr9tn.fsf@common-lisp.net> References: <87ehnpr9tn.fsf@common-lisp.net> Message-ID: Reported SBCL bug https://bugs.launchpad.net/sbcl/+bug/1032111 On Thu, Aug 2, 2012 at 11:12 AM, Philippe Brochard wrote: > Ales Guzik writes: > >> Hi everyone. >> > Hi Ales, > >> Seems I've found clfswm random crashes cause. It crashes when >> adjusting time backward, so if it's 10:45 now "# date -s 10:44" will >> cause clfswm crash. And as ntp daemon always adjusts time in >> background, this looks like random crashes. >> > Wow, very strange! > > I haven't seen this bug on my box with clisp/git-clx. > In fact it's not a clfswm bug but a big sbcl (1.0.57 at least) bug. > > Please try to launch sbcl and change the date backward and eval another > form from the REPL. The crash is impressive on my box! > > Nothing to do with clfswm but very annoying. Please, can you report this > to the sbcl team. I'll do it when I have more time. > >> Thanks, Ales. >> > Thanks for the report, > > Regards, > > Philippe > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel -- Ales Guzik skype: ales-guzik tel: +375 29 5751103 From pbrochard at common-lisp.net Thu Aug 2 12:00:26 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Thu, 02 Aug 2012 14:00:26 +0200 Subject: [clfswm-devel] Random crashes cause In-Reply-To: (Ales Guzik's message of "Thu, 2 Aug 2012 12:34:16 +0300") References: <87ehnpr9tn.fsf@common-lisp.net> Message-ID: <87a9ydqzad.fsf@common-lisp.net> Thanks Ales Guzik writes: > Reported SBCL bug https://bugs.launchpad.net/sbcl/+bug/1032111 > > On Thu, Aug 2, 2012 at 11:12 AM, Philippe Brochard > wrote: >> Ales Guzik writes: >> >>> Hi everyone. >>> >> Hi Ales, >> >>> Seems I've found clfswm random crashes cause. It crashes when >>> adjusting time backward, so if it's 10:45 now "# date -s 10:44" will >>> cause clfswm crash. And as ntp daemon always adjusts time in >>> background, this looks like random crashes. >>> >> Wow, very strange! >> >> I haven't seen this bug on my box with clisp/git-clx. >> In fact it's not a clfswm bug but a big sbcl (1.0.57 at least) bug. >> >> Please try to launch sbcl and change the date backward and eval another >> form from the REPL. The crash is impressive on my box! >> >> Nothing to do with clfswm but very annoying. Please, can you report this >> to the sbcl team. I'll do it when I have more time. >> >>> Thanks, Ales. >>> >> Thanks for the report, >> >> Regards, >> >> Philippe >> >> _______________________________________________ >> clfswm-devel mailing list >> clfswm-devel at common-lisp.net >> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel From pbrochard at common-lisp.net Fri Aug 3 19:27:41 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 03 Aug 2012 21:27:41 +0200 Subject: [clfswm-devel] Random crashes cause In-Reply-To: (Ales Guzik's message of "Thu, 2 Aug 2012 10:52:53 +0300") References: Message-ID: <877gtfrd1u.fsf@common-lisp.net> Ales Guzik writes: > Hi everyone. > > Seems I've found clfswm random crashes cause. It crashes when > adjusting time backward, so if it's 10:45 now "# date -s 10:44" will > cause clfswm crash. And as ntp daemon always adjusts time in > background, this looks like random crashes. > > Thanks, Ales. > Hi Ales again, How have you seen this bug? Does it impact you in every day use? Some users complains about random crash I haven't seen on my box with clisp/git-clx. And I'd like to know if this can be the only cause. Regards, Philippe From ales.guzik at gmail.com Fri Aug 3 21:14:15 2012 From: ales.guzik at gmail.com (Ales Guzik) Date: Sat, 4 Aug 2012 00:14:15 +0300 Subject: [clfswm-devel] Random crashes cause In-Reply-To: <877gtfrd1u.fsf@common-lisp.net> References: <877gtfrd1u.fsf@common-lisp.net> Message-ID: Hi Philippe, It crashes at least 2-3 times a day, and this bug looks like cause of most crashes. For now I'm not sure that it's the only cause. Today I've switched clfswm to clisp and will try use it. Few months ago I tried switching and had same crashes, so I came back to sbcl, but since then number of crashes had lowered quite noticable. I'll post here after using clisp at least few days. Regards, Ales. 03.08.2012 22:28 ???????????? "Philippe Brochard" ???????: > > Ales Guzik writes: > > > Hi everyone. > > > > Seems I've found clfswm random crashes cause. It crashes when > > adjusting time backward, so if it's 10:45 now "# date -s 10:44" will > > cause clfswm crash. And as ntp daemon always adjusts time in > > background, this looks like random crashes. > > > > Thanks, Ales. > > > Hi Ales again, > > How have you seen this bug? Does it impact you in every day use? > > Some users complains about random crash I haven't seen on my box with > clisp/git-clx. And I'd like to know if this can be the only cause. > > Regards, > > Philippe > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel -------------- next part -------------- An HTML attachment was scrubbed... URL: From pbrochard at common-lisp.net Fri Aug 3 21:26:03 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Fri, 03 Aug 2012 23:26:03 +0200 Subject: [clfswm-devel] Random crashes cause In-Reply-To: (Ales Guzik's message of "Sat, 4 Aug 2012 00:14:15 +0300") References: <877gtfrd1u.fsf@common-lisp.net> Message-ID: <87r4rnmzv8.fsf@common-lisp.net> Ales Guzik writes: > Hi Philippe, > > It crashes at least 2-3 times a day, and this bug looks like cause of most > crashes. For now I'm not sure that it's the only cause. Today I've switched > clfswm to clisp and will try use it. Few months ago I tried switching and had > same crashes, so I came back to sbcl, but since then number of crashes had > lowered quite noticable. > Be careful. clisp doesn't like clx changes. So if you switch from one clx version to another one (for example mit/clx to git/clx) you'd better erase the compilation cache (~/.cache/common-lisp/clisp-2.49-unix-x86/the/clfswm/directory on my box). It may be the cause of strange behaviour. > I'll post here after using clisp at least few days. > Please, do so! I really don't like crashes I don't see :-) Regards, Philippe > Regards, > Ales. > > 03.08.2012 22:28 ???????????? "Philippe Brochard" > ???????: >> >> Ales Guzik writes: >> >> > Hi everyone. >> > >> > Seems I've found clfswm random crashes cause. It crashes when >> > adjusting time backward, so if it's 10:45 now "# date -s 10:44" will >> > cause clfswm crash. And as ntp daemon always adjusts time in >> > background, this looks like random crashes. >> > >> > Thanks, Ales. >> > >> Hi Ales again, >> >> How have you seen this bug? Does it impact you in every day use? >> >> Some users complains about random crash I haven't seen on my box with >> clisp/git-clx. And I'd like to know if this can be the only cause. >> >> Regards, >> >> Philippe >> >> _______________________________________________ >> clfswm-devel mailing list >> clfswm-devel at common-lisp.net >> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel From ales.guzik at gmail.com Wed Aug 8 14:09:28 2012 From: ales.guzik at gmail.com (Ales Guzik) Date: Wed, 8 Aug 2012 17:09:28 +0300 Subject: [clfswm-devel] Random crashes cause In-Reply-To: <87r4rnmzv8.fsf@common-lisp.net> References: <877gtfrd1u.fsf@common-lisp.net> <87r4rnmzv8.fsf@common-lisp.net> Message-ID: Hi! I have some really good news. There were not even a crash since moving from SBCL to CLISP! So this crashes were entirely SBCL problem and not CLFSWM one. Have a nice day, Ales On Sat, Aug 4, 2012 at 12:26 AM, Philippe Brochard wrote: > Ales Guzik writes: > >> Hi Philippe, >> >> It crashes at least 2-3 times a day, and this bug looks like cause of most >> crashes. For now I'm not sure that it's the only cause. Today I've switched >> clfswm to clisp and will try use it. Few months ago I tried switching and had >> same crashes, so I came back to sbcl, but since then number of crashes had >> lowered quite noticable. >> > Be careful. clisp doesn't like clx changes. So if you switch from one > clx version to another one (for example mit/clx to git/clx) you'd better > erase the compilation cache (~/.cache/common-lisp/clisp-2.49-unix-x86/the/clfswm/directory > on my box). It may be the cause of strange behaviour. > >> I'll post here after using clisp at least few days. >> > Please, do so! I really don't like crashes I don't see :-) > > Regards, > > Philippe > >> Regards, >> Ales. >> >> 03.08.2012 22:28 ???????????? "Philippe Brochard" >> ???????: >>> >>> Ales Guzik writes: >>> >>> > Hi everyone. >>> > >>> > Seems I've found clfswm random crashes cause. It crashes when >>> > adjusting time backward, so if it's 10:45 now "# date -s 10:44" will >>> > cause clfswm crash. And as ntp daemon always adjusts time in >>> > background, this looks like random crashes. >>> > >>> > Thanks, Ales. >>> > >>> Hi Ales again, >>> >>> How have you seen this bug? Does it impact you in every day use? >>> >>> Some users complains about random crash I haven't seen on my box with >>> clisp/git-clx. And I'd like to know if this can be the only cause. >>> >>> Regards, >>> >>> Philippe >>> >>> _______________________________________________ >>> clfswm-devel mailing list >>> clfswm-devel at common-lisp.net >>> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel >> >> _______________________________________________ >> clfswm-devel mailing list >> clfswm-devel at common-lisp.net >> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel -- Ales Guzik skype: ales-guzik tel: +375 29 5751103 From teika at lavabit.com Sun Aug 12 07:46:48 2012 From: teika at lavabit.com (Teika Kazura) Date: Sun, 12 Aug 2012 16:46:48 +0900 (JST) Subject: [clfswm-devel] Comparsion of clfswm with other "extensible" WMs Message-ID: <20120812.164648.1849247779245581118.teika@lavabit.com> Hi, clfswm world. I'm Teika, a former developer of Sawfish, another WM written in a lisp dialect. I've come to know clfswm, and added it to the list of "Comparison of extensible window manager", http://sawfish.wikia.com/wiki/Comparison_of_extensible_window_managers a page of Sawfish Wiki. Although I had a browse of clfswm docs, some blanks remain, and I wonder if you're interested in filling them in. Feel free to rewrite; I'm the main contributor to that page, and you may feel it's too oriented to Sawfish. Some features of clfswm look attractive to me. Parent-children model, printed key-binding (so probably not so difficult to use for newcomers), etc. And Repl is a must for me. =) I have a question. In Sawfish, users can easily override files installed system-wide. For example, /usr/share/sawfish/lisp/foo/bar.jl yields to ~/.sawfish/lisp/foo/bar.jl. Is it possible in clfswm? (Perhaps not difficult at all for Common lisp.) Regards, Teika (Teika kazura) From pbrochard at common-lisp.net Sun Aug 12 21:59:07 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 12 Aug 2012 23:59:07 +0200 Subject: [clfswm-devel] Random crashes cause In-Reply-To: (Ales Guzik's message of "Wed, 8 Aug 2012 17:09:28 +0300") References: <877gtfrd1u.fsf@common-lisp.net> <87r4rnmzv8.fsf@common-lisp.net> Message-ID: <87a9xzdb6c.fsf@common-lisp.net> Hi, yes, very good news! Thanks a lot for the report. Maybe, if you have some times, you can search if the crash of clfswm with sbcl is linked to the bug you have spotted. This way we can edit the clfswm FAQ and put a remark on sbcl (temporally). Best regards, Philippe Ales Guzik writes: > Hi! > > I have some really good news. There were not even a crash since moving > from SBCL to CLISP! > So this crashes were entirely SBCL problem and not CLFSWM one. > > Have a nice day, > Ales > > On Sat, Aug 4, 2012 at 12:26 AM, Philippe Brochard > wrote: >> Ales Guzik writes: >> >>> Hi Philippe, >>> >>> It crashes at least 2-3 times a day, and this bug looks like cause of most >>> crashes. For now I'm not sure that it's the only cause. Today I've switched >>> clfswm to clisp and will try use it. Few months ago I tried switching and had >>> same crashes, so I came back to sbcl, but since then number of crashes had >>> lowered quite noticable. >>> >> Be careful. clisp doesn't like clx changes. So if you switch from one >> clx version to another one (for example mit/clx to git/clx) you'd better >> erase the compilation cache (~/.cache/common-lisp/clisp-2.49-unix-x86/the/clfswm/directory >> on my box). It may be the cause of strange behaviour. >> >>> I'll post here after using clisp at least few days. >>> >> Please, do so! I really don't like crashes I don't see :-) >> >> Regards, >> >> Philippe >> >>> Regards, >>> Ales. >>> >>> 03.08.2012 22:28 ???????????? "Philippe Brochard" >>> ???????: >>>> >>>> Ales Guzik writes: >>>> >>>> > Hi everyone. >>>> > >>>> > Seems I've found clfswm random crashes cause. It crashes when >>>> > adjusting time backward, so if it's 10:45 now "# date -s 10:44" will >>>> > cause clfswm crash. And as ntp daemon always adjusts time in >>>> > background, this looks like random crashes. >>>> > >>>> > Thanks, Ales. >>>> > >>>> Hi Ales again, >>>> >>>> How have you seen this bug? Does it impact you in every day use? >>>> >>>> Some users complains about random crash I haven't seen on my box with >>>> clisp/git-clx. And I'd like to know if this can be the only cause. >>>> >>>> Regards, >>>> >>>> Philippe >>>> >>>> _______________________________________________ >>>> clfswm-devel mailing list >>>> clfswm-devel at common-lisp.net >>>> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel >>> >>> _______________________________________________ >>> clfswm-devel mailing list >>> clfswm-devel at common-lisp.net >>> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel >> >> _______________________________________________ >> clfswm-devel mailing list >> clfswm-devel at common-lisp.net >> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel From pbrochard at common-lisp.net Sun Aug 12 22:31:12 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 13 Aug 2012 00:31:12 +0200 Subject: [clfswm-devel] Comparsion of clfswm with other "extensible" WMs In-Reply-To: <20120812.164648.1849247779245581118.teika@lavabit.com> (Teika Kazura's message of "Sun, 12 Aug 2012 16:46:48 +0900 (JST)") References: <20120812.164648.1849247779245581118.teika@lavabit.com> Message-ID: <87393ryc7j.fsf@common-lisp.net> Teika Kazura writes: > Hi, clfswm world. > Hi, > I'm Teika, a former developer of Sawfish, another WM written in > a lisp dialect. I've come to know clfswm, and added it to the list of > "Comparison of extensible window manager", > http://sawfish.wikia.com/wiki/Comparison_of_extensible_window_managers > a page of Sawfish Wiki. Although I had a browse of clfswm docs, some > blanks remain, and I wonder if you're interested in filling them in. > Feel free to rewrite; I'm the main contributor to that page, and > you may feel it's too oriented to Sawfish. > First, thanks a lot for your work on Sawfish. I have really liked to use it! I have yet some references for it on my web page :) http://hocwp.free.fr/ah2cl/screen-cmucl.png (~year 2005) I'm glad to hear you take care of CLFSWM in your comparison! Of course, I'll fill this page soon. I have found some useful information when reading it. > Some features of clfswm look attractive to me. Parent-children model, > printed key-binding (so probably not so difficult to use for > newcomers), etc. And Repl is a must for me. =) > Wow, nice. I'm happy to hear you like some part of it. > I have a question. In Sawfish, users can easily override files > installed system-wide. For example, /usr/share/sawfish/lisp/foo/bar.jl > yields to ~/.sawfish/lisp/foo/bar.jl. Is it possible in clfswm? > (Perhaps not difficult at all for Common lisp.) > The proposed way to do what you say with CLFSWM is to rewrite some functions in your .clfswmrc configuration file. Same name, same arguments but different body. If you have many functions to rewrite, you can put the original file somewhere with write access, change what you want in it and load it from the configuration file. If you're concerned by speed, you can even compile it before loading. Something like this: (load (compile-file "/where/is/your/file/your_file.lisp")) And a final solution if changes are too important is to fork CLFSWM. Also, for users who have made lots of changes and want to share them with others, there is a contrib/ directory in CLFSWM sources done for this purpose. One can completely change CLFSWM from there. See contrib/osd.lisp for example. > Regards, > Teika (Teika kazura) > Best regards, Philippe From pbrochard at common-lisp.net Thu Aug 16 21:19:00 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Thu, 16 Aug 2012 23:19:00 +0200 Subject: [clfswm-devel] =?iso-8859-1?q?Some_news=3A_new_Expos=E9_mode=2C_n?= =?iso-8859-1?q?ew_toolbar_system=2E?= Message-ID: <87fw7m7cxn.fsf@common-lisp.net> Hi CLFSWM followers, Here are some news of CLFSWM development as I plan to release a new clfswm version soon. 1) The Expos? mode is again available. Here are some screenshots: http://common-lisp.net/project/clfswm/expose-mode-2.png http://common-lisp.net/project/clfswm/expose-mode.png And indeed, it works over all your root screens. 2) The toolbar framework in /contrib is done. I've beginning to write some modules. Here is a screenshot: http://common-lisp.net/project/clfswm/toolbar.png This is for test, but for the story, as this is not seen on the picture, the upper toolbar appear on edge motion contact. The lower one (my actual toolbar) appear on button press. For the record, I paste here the add-toolbar documentation to create a new toolbar in your configuration file: -------------------------------------------------- add-toolbar (root-x root-y direction size placement modules &key (autohide *toolbar-default-autohide*) (thickness *toolbar-default-thickness*) (refresh-delay *toolbar-default-refresh-delay*) (border-size *toolbar-default-border-size*)) "Add a new toolbar. root-x, root-y: root coordinates or if root-y is nil, root-x is the nth root in root-list. direction: one of :horiz or :vert placement: same argument as with-placement macro modules: list of modules: a list of module name, position in percent and arguments. 0%=left/up <-> 100%=right/down. Example: '((clock 1) (label 50 \"My label\") (clickable-clock 90)) size: toolbar size in percent of root size thickness: toolbar height for horizontal toolbar or width for vertical one autohide: one of nil, :click, or :motion refresh-delay: refresh delay for toolbar in seconds border-size: toolbar window border size" Here are some examples: (load-contrib "toolbar.lisp") ;; Add an horizontal toolbar on root at coordinates 0,0 pixels ;; with default modules (add-toolbar 0 0 :horiz 80 'top-middle-root-placement *default-toolbar*) ;; Add an horizontal toolbar on root at coordinates 0,0 pixels (add-toolbar 0 0 :horiz 90 'top-middle-root-placement '((clock 1) (label 50 "Plop") (clock-second 25) (clickable-clock 99)) :autohide :click :refresh-delay 1) ;; Add an horizontal toolbar on root at coordinates 0,0 pixels (add-toolbar 0 0 :horiz 70 'bottom-middle-root-placement '((clock 1) (label 50 "Paf) (clock 99)) :autohide :motion) ;; Add a vertical toolbar on root 0 (add-toolbar 0 nil :vert 60 'middle-left-root-placement '((clock 1) (label 50 "My label") (clock 90))) ;; Add a vertical toolbar on root 1 (add-toolbar 1 nil :vert 70 'bottom-right-root-placement '((clock 1) (label 50) (clickable-clock 99))) -------------------------------------------------- Now, I need your help if you want some particular modules on your toolbar. I plan to write one for mpd and sound volume, one for navigating in clfswm (enter frame, leave frame...). But any other idea or code is very welcome!!! If you want to write a new toolbar module, you just have to define what to do when it must be displayed. And, if needed, what to do when you click on it. This is done with the two macros define-toolbar-module and define-toolbar-module-click. Here is an example. But see contrib/toolbar.lisp for more details (at the end of the file): (define-toolbar-module (module-name module-arg1 module-arg2...) "...Module documentation..." (action to do on display)) (define-toolbar-module-click (module-name module-arg1 module-arg2...) "...Module documentation on click..." (action to do on click)) Please test intensively and share any idea or code. I plan to release a new CLFSWM version on the next week I think. Best regards, Have fun, Philippe From v.plechinger at gmail.com Sun Aug 19 10:05:14 2012 From: v.plechinger at gmail.com (Valentin Plechinger) Date: Sun, 19 Aug 2012 12:05:14 +0200 Subject: [clfswm-devel] =?iso-8859-1?q?Some_news=3A_new_Expos=E9_mode=2C_n?= =?iso-8859-1?q?ew_toolbar_system=2E?= In-Reply-To: <87fw7m7cxn.fsf@common-lisp.net> References: <87fw7m7cxn.fsf@common-lisp.net> Message-ID: Brilliant. I will give this a go when I get back from my vacation. Is it possible to toggle the toolbar with keybindings? From v.plechinger at gmail.com Sun Aug 19 11:55:59 2012 From: v.plechinger at gmail.com (Valentin Plechinger) Date: Sun, 19 Aug 2012 13:55:59 +0200 Subject: [clfswm-devel] =?iso-8859-1?q?Some_news=3A_new_Expos=E9_mode=2C_n?= =?iso-8859-1?q?ew_toolbar_system=2E?= In-Reply-To: References: <87fw7m7cxn.fsf@common-lisp.net> Message-ID: I gave it a quick try, works good so far. What's bugging me is that I can't add or remove toolbars on the run. Especially for testing purposes this would be useful. From pbrochard at common-lisp.net Sun Aug 19 21:13:48 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sun, 19 Aug 2012 23:13:48 +0200 Subject: [clfswm-devel] =?iso-8859-1?q?Some_news=3A_new_Expos=E9_mode=2C_n?= =?iso-8859-1?q?ew_toolbar_system=2E?= In-Reply-To: (Valentin Plechinger's message of "Sun, 19 Aug 2012 13:55:59 +0200") References: <87fw7m7cxn.fsf@common-lisp.net> Message-ID: <877gsutwj7.fsf@common-lisp.net> Valentin Plechinger writes: > I gave it a quick try, works good so far. > Ah, good. Thanks for the feedback. > What's bugging me is that I can't add or remove toolbars on the run. > Especially for testing purposes this would be useful. > I have made some more work in the last commit (9161892). Here is how to do what you want (not only for testing if you want): -------------------------------------------------- (let ((toolbar nil)) (defun create-my-toolbar () "Create a new toolbar" (setf toolbar (add-toolbar 0 0 :vert 70 'middle-right-root-placement '((clfswm-menu 1) (label 50) (clickable-clock 99)))) (open-toolbar toolbar)) (defun remove-my-toolbar () "Close my new toolbar" (remove-toolbar toolbar))) (defun my-toolbar-keybinding () (define-second-key ("F2") 'create-my-toolbar) (define-second-key ("F2" :control) 'remove-my-toolbar)) (add-hook *binding-hook* 'my-toolbar-keybinding) -------------------------------------------------- Please, if you can, test intensively. This is young code. Regards, Philippe > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel From v.plechinger at gmail.com Mon Aug 20 09:47:19 2012 From: v.plechinger at gmail.com (Valentin Plechinger) Date: Mon, 20 Aug 2012 11:47:19 +0200 Subject: [clfswm-devel] =?iso-8859-1?q?Some_news=3A_new_Expos=E9_mode=2C_n?= =?iso-8859-1?q?ew_toolbar_system=2E?= In-Reply-To: <877gsutwj7.fsf@common-lisp.net> References: <87fw7m7cxn.fsf@common-lisp.net> <877gsutwj7.fsf@common-lisp.net> Message-ID: > I have made some more work in the last commit (9161892). > Here is how to do what you want (not only for testing if you want): > > -------------------------------------------------- > (let ((toolbar nil)) > (defun create-my-toolbar () > "Create a new toolbar" > (setf toolbar (add-toolbar 0 0 :vert 70 'middle-right-root-placement > '((clfswm-menu 1) (label 50) > (clickable-clock 99)))) > (open-toolbar toolbar)) > > (defun remove-my-toolbar () > "Close my new toolbar" > (remove-toolbar toolbar))) > > (defun my-toolbar-keybinding () > (define-second-key ("F2") 'create-my-toolbar) > (define-second-key ("F2" :control) 'remove-my-toolbar)) > > (add-hook *binding-hook* 'my-toolbar-keybinding) > -------------------------------------------------- > > Please, if you can, test intensively. This is young code. > > Regards, > > Philippe I fetched the last commit and tried your function but it gives me an error. let: variable *EVENT-EXPOSURE-HOOK* has no value From teika at lavabit.com Mon Aug 20 12:36:31 2012 From: teika at lavabit.com (Teika Kazura) Date: Mon, 20 Aug 2012 21:36:31 +0900 (JST) Subject: [clfswm-devel] Comparsion of clfswm with other "extensible" WMs In-Reply-To: <87393ryc7j.fsf@common-lisp.net> References: <20120812.164648.1849247779245581118.teika@lavabit.com> <87393ryc7j.fsf@common-lisp.net> Message-ID: <20120820.213631.1584264913772800459.teika@lavabit.com> On Mon, 13 Aug 2012 00:31:12 +0200, Philippe Brochard wrote: > First, thanks a lot for your work on Sawfish. I have really liked to use > it! I have yet some references for it on my web page :) > > http://hocwp.free.fr/ah2cl/screen-cmucl.png (~year 2005) De rien (not at all =^). I only started to join Sawfish development since 2008. Yeah, I thank J Harper, the original Sawfish developer, and the community. > Of course, I'll fill this page soon. Thank you very much for your fast edits. >> I have a question. In Sawfish, users can easily override files >> installed system-wide. For example, /usr/share/sawfish/lisp/foo/bar.jl >> yields to ~/.sawfish/lisp/foo/bar.jl. Is it possible in clfswm? >> (Perhaps not difficult at all for Common lisp.) >> > The proposed way to do what you say with CLFSWM is to rewrite some > functions in your .clfswmrc configuration file. Same name, same > arguments but different body. I see. If it's sufficient for you, then it's ok. FYI, I explain why it's useful for Sawifsh. 1. Each lisp file (somewhat) defines a class, and the pathname is related to the class name, and not all functions are global in Sawfish. (You may know that Sawfish's lisp, librep, is a peculiar mixture of EmacsLisp and Scheme.) 2. Even codes executed prior to the user script, ~/.sawfish/rc, can be hacked by the above machanism. In fact, that override feature was written by me, and it really helped me. As a user, I put customization in ~/.sawfish/lisp, and as a developer, I stash testing codes to ~/.sawfish/dev{1,2,3,...} (An env-var SAWFISH_USER_LISP_DIR controls them.) (I use Emacs, and I wonder what's the good way to override Emacs's lisp files. The workarounds I write are dirty, and irritate me at Emacs upgrading.) Thanks a lot. Teika (Teika kazura) From Philipp.Kroos at t-online.de Mon Aug 20 17:40:09 2012 From: Philipp.Kroos at t-online.de (Philipp Kroos) Date: Mon, 20 Aug 2012 19:40:09 +0200 Subject: [clfswm-devel] Some news: new Expos? mode, new toolbar system. In-Reply-To: <87fw7m7cxn.fsf@common-lisp.net> References: <87fw7m7cxn.fsf@common-lisp.net> Message-ID: <20120820174009.GA9012@desktop> Hi, thanks for the update, I really like it! The expose-mode is great and the toolbar... well, I thought clfswm won't need one, but it does! I already made a small module, a button-like-thing that lets you switch to the expo-mode on click. You can configure if it shows all or just the current root. Hope I made it right. You might also want to consider the other patch attached; it adds a here-placement-function to the core. I did this because with my two-screen-setup, the mainmenu shows up on the wrong screen when the focus is there. The here-placement uses the current pointer-position, what is really convenient. It does not make sense for all placeable components though, so maybe there is some better solution. Another thing is this code: ;; Miscellaneous Group: ; *NEVER-MANAGED-WINDOW-LIST* (quote ((# NIL) ; (CLFSWM::EQUAL-WM-CLASS-ROX-PINBOARD NIL) ; (CLFSWM::EQUAL-WM-CLASS-XVKBD CLFSWM::RAISE-WINDOW) ; (CLFSWM::EQUAL-CLFSWM-TERMINAL CLFSWM::RAISE-AND-FOCUS-WINDOW))) which is written to my rc when I save all variables. It causes the compilation to fail when uncommented. I don't know why. Maybe the closure...? Beside this, everything works as expected! Best regards, Philipp On Thu, Aug 16, 2012 at 11:19:00PM +0200, Philippe Brochard wrote: > Hi CLFSWM followers, > > Here are some news of CLFSWM development as I plan to release a new > clfswm version soon. > > 1) The Expos? mode is again available. Here are some screenshots: > > http://common-lisp.net/project/clfswm/expose-mode-2.png > http://common-lisp.net/project/clfswm/expose-mode.png > > And indeed, it works over all your root screens. > > > 2) The toolbar framework in /contrib is done. I've beginning to write > some modules. Here is a screenshot: > > http://common-lisp.net/project/clfswm/toolbar.png > > This is for test, but for the story, as this is not seen on the > picture, the upper toolbar appear on edge motion contact. The lower > one (my actual toolbar) appear on button press. > > For the record, I paste here the add-toolbar documentation to create a > new toolbar in your configuration file: > > -------------------------------------------------- > add-toolbar (root-x root-y direction size placement modules > &key (autohide *toolbar-default-autohide*) > (thickness *toolbar-default-thickness*) > (refresh-delay *toolbar-default-refresh-delay*) > (border-size *toolbar-default-border-size*)) > "Add a new toolbar. > root-x, root-y: root coordinates or if root-y is nil, root-x is the nth root in root-list. > direction: one of :horiz or :vert > placement: same argument as with-placement macro > modules: list of modules: a list of module name, position in percent and arguments. > 0%=left/up <-> 100%=right/down. > Example: '((clock 1) (label 50 \"My label\") (clickable-clock 90)) > size: toolbar size in percent of root size > thickness: toolbar height for horizontal toolbar or width for vertical one > autohide: one of nil, :click, or :motion > refresh-delay: refresh delay for toolbar in seconds > border-size: toolbar window border size" > > Here are some examples: > (load-contrib "toolbar.lisp") > > ;; Add an horizontal toolbar on root at coordinates 0,0 pixels > ;; with default modules > > (add-toolbar 0 0 :horiz 80 'top-middle-root-placement *default-toolbar*) > > > ;; Add an horizontal toolbar on root at coordinates 0,0 pixels > > (add-toolbar 0 0 :horiz 90 'top-middle-root-placement > '((clock 1) (label 50 "Plop") (clock-second 25) (clickable-clock 99)) > :autohide :click > :refresh-delay 1) > > > ;; Add an horizontal toolbar on root at coordinates 0,0 pixels > > (add-toolbar 0 0 :horiz 70 'bottom-middle-root-placement '((clock 1) (label 50 "Paf) (clock 99)) > :autohide :motion) > > > ;; Add a vertical toolbar on root 0 > > (add-toolbar 0 nil :vert 60 'middle-left-root-placement '((clock 1) (label 50 "My label") (clock 90))) > > > ;; Add a vertical toolbar on root 1 > > (add-toolbar 1 nil :vert 70 'bottom-right-root-placement '((clock 1) (label 50) (clickable-clock 99))) > -------------------------------------------------- > > > Now, I need your help if you want some particular modules on your > toolbar. > I plan to write one for mpd and sound volume, one for navigating in > clfswm (enter frame, leave frame...). But any other idea or code is very > welcome!!! > > If you want to write a new toolbar module, you just have to define what > to do when it must be displayed. And, if needed, what to do when you > click on it. > This is done with the two macros define-toolbar-module and > define-toolbar-module-click. > > Here is an example. But see contrib/toolbar.lisp for more details (at > the end of the file): > > (define-toolbar-module (module-name module-arg1 module-arg2...) > "...Module documentation..." > (action to do on display)) > > (define-toolbar-module-click (module-name module-arg1 module-arg2...) > "...Module documentation on click..." > (action to do on click)) > > > > Please test intensively and share any idea or code. > I plan to release a new CLFSWM version on the next week I think. > > Best regards, > > Have fun, > > Philippe > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel -------------- next part -------------- From ae8be82f09e60d78826d7d3535219ddb6ff80f81 Mon Sep 17 00:00:00 2001 From: Philipp Kroos Date: Mon, 20 Aug 2012 09:13:14 +0200 Subject: [PATCH 1/2] contrib/toolbar.lisp: expose-mode-button-module --- ChangeLog | 4 ++++ contrib/toolbar.lisp | 19 +++++++++++++++++++ 2 Dateien ge?ndert, 23 Zeilen hinzugef?gt(+) diff --git a/ChangeLog b/ChangeLog index 9d63d26..44154fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2012-08-20 Philipp Kroos + + * contrib/toolbar.lisp: expose-mode-button-module + 2012-08-19 Philippe Brochard * contrib/toolbar.lisp (remove-toolbar): New function. diff --git a/contrib/toolbar.lisp b/contrib/toolbar.lisp index 0e2b27b..05a5dec 100644 --- a/contrib/toolbar.lisp +++ b/contrib/toolbar.lisp @@ -666,3 +666,22 @@ cpu (round (* (/ used total) 100))))) +;;; +;;; Expose-mode-button +;;; +(define-toolbar-color expose-mode-button "Expose-mode button") + +(defconfig *expose-mode-button-show-all* nil + 'toolbar "If t, show all frames. Default: show only frames of current root") + +(define-toolbar-module (expose-mode-button text) + "On click, switch to expose-mode" + (with-set-toolbar-module-rectangle (module) + (toolbar-module-text toolbar module (tb-color expose-mode-button) (or text "Xpo")))) + +(define-toolbar-module-click (expose-mode-button) + "Switch to expose mode" + (declare (ignore code state toolbar module)) + (if *expose-mode-button-show-all* + (expose-all-windows-mode) + (expose-windows-mode))) -- 1.7.11.4 -------------- next part -------------- From c8e8b80fe7f50e78cfaaf6350f9f50ed278eca76 Mon Sep 17 00:00:00 2001 From: Philipp Kroos Date: Mon, 20 Aug 2012 11:36:58 +0200 Subject: [PATCH 2/2] src/clfswm-placement.lisp (here-placement): evaluates to current position of pointer --- ChangeLog | 4 ++++ src/clfswm-placement.lisp | 5 +++++ 2 Dateien ge?ndert, 9 Zeilen hinzugef?gt(+) diff --git a/ChangeLog b/ChangeLog index 44154fb..032be33 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2012-08-20 Philipp Kroos + * src/clfswm-placement.lisp (here-placement): evaluates to current position of pointer + +2012-08-20 Philipp Kroos + * contrib/toolbar.lisp: expose-mode-button-module 2012-08-19 Philippe Brochard diff --git a/src/clfswm-placement.lisp b/src/clfswm-placement.lisp index c40901c..31713e9 100644 --- a/src/clfswm-placement.lisp +++ b/src/clfswm-placement.lisp @@ -112,6 +112,11 @@ (values (- w width) (- h height) width height))) +(defun here-placement (&optional (width 0) (height 0) (border-size *border-size*)) + (with-x-pointer + (values x y width height))) + + ;;; ;;; Current child placement ;;; -- 1.7.11.4 From pbrochard at common-lisp.net Mon Aug 20 19:56:34 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 20 Aug 2012 21:56:34 +0200 Subject: [clfswm-devel] =?iso-8859-1?q?Some_news=3A_new_Expos=E9_mode=2C_n?= =?iso-8859-1?q?ew_toolbar_system=2E?= In-Reply-To: (Valentin Plechinger's message of "Mon, 20 Aug 2012 11:47:19 +0200") References: <87fw7m7cxn.fsf@common-lisp.net> <877gsutwj7.fsf@common-lisp.net> Message-ID: <87lih92v7x.fsf@common-lisp.net> Valentin Plechinger writes: >> I have made some more work in the last commit (9161892). >> Here is how to do what you want (not only for testing if you want): >> >> -------------------------------------------------- >> (let ((toolbar nil)) >> (defun create-my-toolbar () >> "Create a new toolbar" >> (setf toolbar (add-toolbar 0 0 :vert 70 'middle-right-root-placement >> '((clfswm-menu 1) (label 50) >> (clickable-clock 99)))) >> (open-toolbar toolbar)) >> >> (defun remove-my-toolbar () >> "Close my new toolbar" >> (remove-toolbar toolbar))) >> >> (defun my-toolbar-keybinding () >> (define-second-key ("F2") 'create-my-toolbar) >> (define-second-key ("F2" :control) 'remove-my-toolbar)) >> >> (add-hook *binding-hook* 'my-toolbar-keybinding) >> -------------------------------------------------- >> >> Please, if you can, test intensively. This is young code. >> >> Regards, >> >> Philippe > > I fetched the last commit and tried your function but it gives me an error. > let: variable *EVENT-EXPOSURE-HOOK* has no value > Please can you attach the full backtrace? Which lisp and clx are you using? Do you try to remove the toolbar before its creation? If this is the case, this will be corrected on the next commit. Philippe From pbrochard at common-lisp.net Mon Aug 20 21:59:56 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 20 Aug 2012 23:59:56 +0200 Subject: [clfswm-devel] Some news: new Expos? mode, new toolbar system. In-Reply-To: <20120820174009.GA9012@desktop> (Philipp Kroos's message of "Mon, 20 Aug 2012 19:40:09 +0200") References: <87fw7m7cxn.fsf@common-lisp.net> <20120820174009.GA9012@desktop> Message-ID: <87zk5p9qcj.fsf@common-lisp.net> Philipp Kroos hat geschrieben: > Hi, > Hi, > thanks for the update, I really like it! > The expose-mode is great and the toolbar... well, I thought > clfswm won't need one, but it does! > I have the same feeling about toolbars. This is why the code is in contrib. But I use them now :) > I already made a small module, a button-like-thing that lets you > switch to the expo-mode on click. You can configure if it shows > all or just the current root. Hope I made it right. > Thanks a lot. Commited in your name. I've just removed the configuration variable and let the user choose between the two mode with right or left button click. Is this ok for you? > You might also want to consider the other patch attached; it adds > a here-placement-function to the core. I did this because with my > two-screen-setup, the mainmenu shows up on the wrong screen when the > focus is there. The here-placement uses the current pointer-position, > what is really convenient. It does not make sense for all placeable > components though, so maybe there is some better solution. > Thanks. Added. This may be very useful to locally bind placement to this value in some cases. > Another thing is this code: > ;; Miscellaneous Group: > ; *NEVER-MANAGED-WINDOW-LIST* (quote ((# NIL) > ; (CLFSWM::EQUAL-WM-CLASS-ROX-PINBOARD NIL) > ; (CLFSWM::EQUAL-WM-CLASS-XVKBD CLFSWM::RAISE-WINDOW) > ; (CLFSWM::EQUAL-CLFSWM-TERMINAL CLFSWM::RAISE-AND-FOCUS-WINDOW))) > > which is written to my rc when I save all variables. It causes the > compilation to fail when uncommented. I don't know why. Maybe the > closure...? > Thanks a lot for the feedback. In fact, it's functions objects printed which can't be read back. Hopefully I've fixed this with the commit 4f9b2e1. Please, test. > Beside this, everything works as expected! > Ok, please, continue reporting as you do! > Best regards, > Best regards, > Philipp > Philippe > > On Thu, Aug 16, 2012 at 11:19:00PM +0200, Philippe Brochard wrote: >> Hi CLFSWM followers, >> >> Here are some news of CLFSWM development as I plan to release a new >> clfswm version soon. >> >> 1) The Expos? mode is again available. Here are some screenshots: >> >> http://common-lisp.net/project/clfswm/expose-mode-2.png >> http://common-lisp.net/project/clfswm/expose-mode.png >> >> And indeed, it works over all your root screens. >> >> >> 2) The toolbar framework in /contrib is done. I've beginning to write >> some modules. Here is a screenshot: >> >> http://common-lisp.net/project/clfswm/toolbar.png >> >> This is for test, but for the story, as this is not seen on the >> picture, the upper toolbar appear on edge motion contact. The lower >> one (my actual toolbar) appear on button press. >> >> For the record, I paste here the add-toolbar documentation to create a >> new toolbar in your configuration file: >> >> -------------------------------------------------- >> add-toolbar (root-x root-y direction size placement modules >> &key (autohide *toolbar-default-autohide*) >> (thickness *toolbar-default-thickness*) >> (refresh-delay *toolbar-default-refresh-delay*) >> (border-size *toolbar-default-border-size*)) >> "Add a new toolbar. >> root-x, root-y: root coordinates or if root-y is nil, root-x is the nth root in root-list. >> direction: one of :horiz or :vert >> placement: same argument as with-placement macro >> modules: list of modules: a list of module name, position in percent and arguments. >> 0%=left/up <-> 100%=right/down. >> Example: '((clock 1) (label 50 \"My label\") (clickable-clock 90)) >> size: toolbar size in percent of root size >> thickness: toolbar height for horizontal toolbar or width for vertical one >> autohide: one of nil, :click, or :motion >> refresh-delay: refresh delay for toolbar in seconds >> border-size: toolbar window border size" >> >> Here are some examples: >> (load-contrib "toolbar.lisp") >> >> ;; Add an horizontal toolbar on root at coordinates 0,0 pixels >> ;; with default modules >> >> (add-toolbar 0 0 :horiz 80 'top-middle-root-placement *default-toolbar*) >> >> >> ;; Add an horizontal toolbar on root at coordinates 0,0 pixels >> >> (add-toolbar 0 0 :horiz 90 'top-middle-root-placement >> '((clock 1) (label 50 "Plop") (clock-second 25) (clickable-clock 99)) >> :autohide :click >> :refresh-delay 1) >> >> >> ;; Add an horizontal toolbar on root at coordinates 0,0 pixels >> >> (add-toolbar 0 0 :horiz 70 'bottom-middle-root-placement '((clock 1) (label 50 "Paf) (clock 99)) >> :autohide :motion) >> >> >> ;; Add a vertical toolbar on root 0 >> >> (add-toolbar 0 nil :vert 60 'middle-left-root-placement '((clock 1) (label 50 "My label") (clock 90))) >> >> >> ;; Add a vertical toolbar on root 1 >> >> (add-toolbar 1 nil :vert 70 'bottom-right-root-placement '((clock 1) (label 50) (clickable-clock 99))) >> -------------------------------------------------- >> >> >> Now, I need your help if you want some particular modules on your >> toolbar. >> I plan to write one for mpd and sound volume, one for navigating in >> clfswm (enter frame, leave frame...). But any other idea or code is very >> welcome!!! >> >> If you want to write a new toolbar module, you just have to define what >> to do when it must be displayed. And, if needed, what to do when you >> click on it. >> This is done with the two macros define-toolbar-module and >> define-toolbar-module-click. >> >> Here is an example. But see contrib/toolbar.lisp for more details (at >> the end of the file): >> >> (define-toolbar-module (module-name module-arg1 module-arg2...) >> "...Module documentation..." >> (action to do on display)) >> >> (define-toolbar-module-click (module-name module-arg1 module-arg2...) >> "...Module documentation on click..." >> (action to do on click)) >> >> >> >> Please test intensively and share any idea or code. >> I plan to release a new CLFSWM version on the next week I think. >> >> Best regards, >> >> Have fun, >> >> Philippe >> >> _______________________________________________ >> clfswm-devel mailing list >> clfswm-devel at common-lisp.net >> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel > > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel From pbrochard at common-lisp.net Mon Aug 20 22:13:11 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 21 Aug 2012 00:13:11 +0200 Subject: [clfswm-devel] Comparsion of clfswm with other "extensible" WMs In-Reply-To: <20120820.213631.1584264913772800459.teika@lavabit.com> (Teika Kazura's message of "Mon, 20 Aug 2012 21:36:31 +0900 (JST)") References: <20120812.164648.1849247779245581118.teika@lavabit.com> <87393ryc7j.fsf@common-lisp.net> <20120820.213631.1584264913772800459.teika@lavabit.com> Message-ID: <87vcgd9pqg.fsf@common-lisp.net> Teika Kazura writes: > On Mon, 13 Aug 2012 00:31:12 +0200, Philippe Brochard wrote: >> First, thanks a lot for your work on Sawfish. I have really liked to use >> it! I have yet some references for it on my web page :) >> >> http://hocwp.free.fr/ah2cl/screen-cmucl.png (~year 2005) > > De rien (not at all =^). I only started to join Sawfish development > since 2008. Yeah, I thank J Harper, the original Sawfish developer, > and the community. > So, thanks for them. >> Of course, I'll fill this page soon. > > Thank you very much for your fast edits. > >>> I have a question. In Sawfish, users can easily override files >>> installed system-wide. For example, /usr/share/sawfish/lisp/foo/bar.jl >>> yields to ~/.sawfish/lisp/foo/bar.jl. Is it possible in clfswm? >>> (Perhaps not difficult at all for Common lisp.) >>> >> The proposed way to do what you say with CLFSWM is to rewrite some >> functions in your .clfswmrc configuration file. Same name, same >> arguments but different body. > > I see. If it's sufficient for you, then it's ok. > I haven't had some request in this sense for now. > FYI, I explain why it's useful for Sawifsh. > > 1. Each lisp file (somewhat) defines a class, and the pathname is > related to the class name, and not all functions are global in > Sawfish. (You may know that Sawfish's lisp, librep, is a peculiar > mixture of EmacsLisp and Scheme.) > 2. Even codes executed prior to the user script, ~/.sawfish/rc, can be > hacked by the above machanism. > > In fact, that override feature was written by me, and it really > helped me. As a user, I put customization in ~/.sawfish/lisp, and > as a developer, I stash testing codes to ~/.sawfish/dev{1,2,3,...} > (An env-var SAWFISH_USER_LISP_DIR controls them.) > I think what I propose is nearly what you describe. When we override functions in our configuration file, all the code compiled prior to the change will use the new definition. So we can hack a little function or a whole lisp file. For your remark on librep, at the time, this was appealing to me to have a lisp configurable window manager. > (I use Emacs, and I wonder what's the good way to override Emacs's > lisp files. The workarounds I write are dirty, and irritate me at > Emacs upgrading.) > I like a lot Emacs but I can't answer here. Sorry. > Thanks a lot. > ?? (not at all) > Teika (Teika kazura) > Philippe From Philipp.Kroos at t-online.de Wed Aug 22 17:34:35 2012 From: Philipp.Kroos at t-online.de (Philipp Kroos) Date: Wed, 22 Aug 2012 19:34:35 +0200 Subject: [clfswm-devel] Some news: new Expos? mode, new toolbar system. In-Reply-To: <87zk5p9qcj.fsf@common-lisp.net> References: <87fw7m7cxn.fsf@common-lisp.net> <20120820174009.GA9012@desktop> <87zk5p9qcj.fsf@common-lisp.net> Message-ID: <20120822173435.GA2995@Vostro> On Mon, Aug 20, 2012 at 11:59:56PM +0200, Philippe Brochard wrote: > Philipp Kroos hat geschrieben: > > > Hi, > > > Hi, > > > thanks for the update, I really like it! > > The expose-mode is great and the toolbar... well, I thought > > clfswm won't need one, but it does! > > > I have the same feeling about toolbars. This is why the code is in > contrib. But I use them now :) > > > I already made a small module, a button-like-thing that lets you > > switch to the expo-mode on click. You can configure if it shows > > all or just the current root. Hope I made it right. > > > Thanks a lot. Commited in your name. I've just removed the configuration > variable and let the user choose between the two mode with right or left > button click. Is this ok for you? > Yes, that's better indeed :) > > You might also want to consider the other patch attached; it adds > > a here-placement-function to the core. I did this because with my > > two-screen-setup, the mainmenu shows up on the wrong screen when the > > focus is there. The here-placement uses the current pointer-position, > > what is really convenient. It does not make sense for all placeable > > components though, so maybe there is some better solution. > > > Thanks. Added. This may be very useful to locally bind placement to this > value in some cases. > > > Another thing is this code: > > ;; Miscellaneous Group: > > ; *NEVER-MANAGED-WINDOW-LIST* (quote ((# NIL) > > ; (CLFSWM::EQUAL-WM-CLASS-ROX-PINBOARD NIL) > > ; (CLFSWM::EQUAL-WM-CLASS-XVKBD CLFSWM::RAISE-WINDOW) > > ; (CLFSWM::EQUAL-CLFSWM-TERMINAL CLFSWM::RAISE-AND-FOCUS-WINDOW))) > > > > which is written to my rc when I save all variables. It causes the > > compilation to fail when uncommented. I don't know why. Maybe the > > closure...? > > > Thanks a lot for the feedback. > In fact, it's functions objects printed which can't be read back. > Hopefully I've fixed this with the commit 4f9b2e1. Please, test. It's fixed! > > > Beside this, everything works as expected! > > > Ok, please, continue reporting as you do! > I'll do, thank you. Best regards, Philipp > > Best regards, > > > Best regards, > > > Philipp > > > Philippe > > > > > On Thu, Aug 16, 2012 at 11:19:00PM +0200, Philippe Brochard wrote: > >> Hi CLFSWM followers, > >> > >> Here are some news of CLFSWM development as I plan to release a new > >> clfswm version soon. > >> > >> 1) The Expos? mode is again available. Here are some screenshots: > >> > >> http://common-lisp.net/project/clfswm/expose-mode-2.png > >> http://common-lisp.net/project/clfswm/expose-mode.png > >> > >> And indeed, it works over all your root screens. > >> > >> > >> 2) The toolbar framework in /contrib is done. I've beginning to write > >> some modules. Here is a screenshot: > >> > >> http://common-lisp.net/project/clfswm/toolbar.png > >> > >> This is for test, but for the story, as this is not seen on the > >> picture, the upper toolbar appear on edge motion contact. The lower > >> one (my actual toolbar) appear on button press. > >> > >> For the record, I paste here the add-toolbar documentation to create a > >> new toolbar in your configuration file: > >> > >> -------------------------------------------------- > >> add-toolbar (root-x root-y direction size placement modules > >> &key (autohide *toolbar-default-autohide*) > >> (thickness *toolbar-default-thickness*) > >> (refresh-delay *toolbar-default-refresh-delay*) > >> (border-size *toolbar-default-border-size*)) > >> "Add a new toolbar. > >> root-x, root-y: root coordinates or if root-y is nil, root-x is the nth root in root-list. > >> direction: one of :horiz or :vert > >> placement: same argument as with-placement macro > >> modules: list of modules: a list of module name, position in percent and arguments. > >> 0%=left/up <-> 100%=right/down. > >> Example: '((clock 1) (label 50 \"My label\") (clickable-clock 90)) > >> size: toolbar size in percent of root size > >> thickness: toolbar height for horizontal toolbar or width for vertical one > >> autohide: one of nil, :click, or :motion > >> refresh-delay: refresh delay for toolbar in seconds > >> border-size: toolbar window border size" > >> > >> Here are some examples: > >> (load-contrib "toolbar.lisp") > >> > >> ;; Add an horizontal toolbar on root at coordinates 0,0 pixels > >> ;; with default modules > >> > >> (add-toolbar 0 0 :horiz 80 'top-middle-root-placement *default-toolbar*) > >> > >> > >> ;; Add an horizontal toolbar on root at coordinates 0,0 pixels > >> > >> (add-toolbar 0 0 :horiz 90 'top-middle-root-placement > >> '((clock 1) (label 50 "Plop") (clock-second 25) (clickable-clock 99)) > >> :autohide :click > >> :refresh-delay 1) > >> > >> > >> ;; Add an horizontal toolbar on root at coordinates 0,0 pixels > >> > >> (add-toolbar 0 0 :horiz 70 'bottom-middle-root-placement '((clock 1) (label 50 "Paf) (clock 99)) > >> :autohide :motion) > >> > >> > >> ;; Add a vertical toolbar on root 0 > >> > >> (add-toolbar 0 nil :vert 60 'middle-left-root-placement '((clock 1) (label 50 "My label") (clock 90))) > >> > >> > >> ;; Add a vertical toolbar on root 1 > >> > >> (add-toolbar 1 nil :vert 70 'bottom-right-root-placement '((clock 1) (label 50) (clickable-clock 99))) > >> -------------------------------------------------- > >> > >> > >> Now, I need your help if you want some particular modules on your > >> toolbar. > >> I plan to write one for mpd and sound volume, one for navigating in > >> clfswm (enter frame, leave frame...). But any other idea or code is very > >> welcome!!! > >> > >> If you want to write a new toolbar module, you just have to define what > >> to do when it must be displayed. And, if needed, what to do when you > >> click on it. > >> This is done with the two macros define-toolbar-module and > >> define-toolbar-module-click. > >> > >> Here is an example. But see contrib/toolbar.lisp for more details (at > >> the end of the file): > >> > >> (define-toolbar-module (module-name module-arg1 module-arg2...) > >> "...Module documentation..." > >> (action to do on display)) > >> > >> (define-toolbar-module-click (module-name module-arg1 module-arg2...) > >> "...Module documentation on click..." > >> (action to do on click)) > >> > >> > >> > >> Please test intensively and share any idea or code. > >> I plan to release a new CLFSWM version on the next week I think. > >> > >> Best regards, > >> > >> Have fun, > >> > >> Philippe > >> > >> _______________________________________________ > >> clfswm-devel mailing list > >> clfswm-devel at common-lisp.net > >> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel > > > > > > _______________________________________________ > > clfswm-devel mailing list > > clfswm-devel at common-lisp.net > > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel From v.plechinger at gmail.com Mon Aug 27 19:50:43 2012 From: v.plechinger at gmail.com (Valentin Plechinger) Date: Mon, 27 Aug 2012 21:50:43 +0200 Subject: [clfswm-devel] =?iso-8859-1?q?Some_news=3A_new_Expos=E9_mode=2C_n?= =?iso-8859-1?q?ew_toolbar_system=2E?= In-Reply-To: <87lih92v7x.fsf@common-lisp.net> References: <87fw7m7cxn.fsf@common-lisp.net> <877gsutwj7.fsf@common-lisp.net> <87lih92v7x.fsf@common-lisp.net> Message-ID: > Please can you attach the full backtrace? Which lisp and clx are you > using? Do you try to remove the toolbar before its creation? If this is > the case, this will be corrected on the next commit. > > Philippe Lisp is clisp 2.49 (Ubuntu Package), clx is the clisp-module-clx ubuntu package. Creation of the toolbar works with your function if I put it in rc file like (create-my-toolbar) Removing the toolbar works, but leaves and empty part on the screen which makes it useless. Recreating doesn't work as well. Backtrace soon. Some other things bother me as well. Is it possible to open function that query input, like run-program, lisp-eval etc., on top of the toolbar and not below it? (in case of a top toolbar) Also, if there is a copy-paste possibility for the above mentioned input fields, I can't seem to find them (would be useful). In the expose mode, the last time I used clfswm, pressing the right key focused the child, now I need to press return. Why was this changed? (and how can I revert to the old behaviour) Overall nice improvements, but still very buggy. Or I'm too much of an casual user. Valentin From pbrochard at common-lisp.net Tue Aug 28 12:22:19 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 28 Aug 2012 14:22:19 +0200 Subject: [clfswm-devel] =?iso-8859-1?q?Some_news=3A_new_Expos=E9_mode=2C_n?= =?iso-8859-1?q?ew_toolbar_system=2E?= In-Reply-To: (Valentin Plechinger's message of "Mon, 27 Aug 2012 21:50:43 +0200") References: <87fw7m7cxn.fsf@common-lisp.net> <877gsutwj7.fsf@common-lisp.net> <87lih92v7x.fsf@common-lisp.net> Message-ID: <87a9xf9pfo.fsf@common-lisp.net> Valentin Plechinger writes: >> Please can you attach the full backtrace? Which lisp and clx are you >> using? Do you try to remove the toolbar before its creation? If this is >> the case, this will be corrected on the next commit. >> >> Philippe > > Lisp is clisp 2.49 (Ubuntu Package), clx is the clisp-module-clx ubuntu package. > > Creation of the toolbar works with your function if I put it in rc file like > (create-my-toolbar) > Removing the toolbar works, but leaves and empty part on the screen > which makes it useless. > I haven't yet implemented the original root recovery. Thanks for the report. > Recreating doesn't work as well. > Backtrace soon. > Yes, please report in detailed mode. > Some other things bother me as well. > Is it possible to open function that query input, like run-program, > lisp-eval etc., on top of the toolbar and not below it? (in case of a > top toolbar) > Yes, use a different with-placement than the original one. If you don't find one write it or ask for it (top-left-placement comes in mind but this may needs some tweaks if you want it on top of your second screen). > Also, if there is a copy-paste possibility for the above mentioned > input fields, I can't seem to find them (would be useful). > No. Needs to be implemented. Patch welcome! > In the expose mode, the last time I used clfswm, pressing the right > key focused the child, now I need to press return. Why was this > changed? (and how can I revert to the old behaviour) > Because with the previous version, you can't access more than 26 children. With the new one there is no limit. It's important because with a dual screen, at start up, you already have 4 children accessible and the 26 children limit is pretty small. BTW, you can implement the previous behaviour with four lines in clfswm-expose-mode.lisp and let the user choose the behaviour it likes: -------------------------------------------------- +(defconfig *expose-direct-select* t + 'Expose-mode "Immediately select child if they can be directly accessed") (defun expose-query-key-press-hook (code state) (declare (ignore code state)) (expose-draw-letter) + (when (and *expose-direct-select* (<= (length *expose-windows-list*) 26)) + (leave-query-mode :return))) -------------------------------------------------- It's in the last commit (3361fc5). And remember that you can also use the jump or bind method to very quickly change your current children. > Overall nice improvements, but still very buggy. > Please, please, *REPORT* them. I use clfswm intensively and try to test it with different lisp implementations and different clx versions (I write it with a different version (sbcl) than the one I use daily (clisp)). But I don't see what you mean by buggy. Does it crash, it doesn't react as you think, what...??? Report all things that bother you. It's the only way to make CLFSWM better as I can't spot all bugs myself (I can't test all lisp/clx/xorg versions...) For example, with the last Debian sid upgrade, I got an unimplemented event X error. CLFSWM breaks and reports it. I haven't this bug with clisp/new-clx but with all others lisp/clx versions and all works well with another X version. And even a very old version of CLFSWM breaks on the same event error but works well with other X versions too. So what? I add some code to prevent the break (works in progress) but I think the problem is not in CLFSWM, nor in the XLib but it comes from Xorg itself (I need to verify this). BTW, CLFSWM *must not* break on this error type. > Or I'm too much of an casual user. > In any case, thanks for your perseverance! > Valentin > Cheers, Philippe