2 Jan 2010 22:53
2 Jan 2010 22:59
[STUMP] [PATCH] UTF-8 support for CCL.
Ben Spencer <dangerous.ben <at> gmail.com>
2010-01-02 21:59:36 GMT
2010-01-02 21:59:36 GMT
--- wrappers.lisp | 26 ++++++++++++-------------- 1 files changed, 12 insertions(+), 14 deletions(-) diff --git a/wrappers.lisp b/wrappers.lisp index 658b1c5..89f9626 100644 --- a/wrappers.lisp +++ b/wrappers.lisp <at> <at> -212,26 +212,24 <at> <at> (defun utf8-to-string (octets) "Convert the list of octets to a string." - #+sbcl (handler-bind - ((sb-impl::octet-decoding-error #'(lambda (c) - (declare (ignore c)) - (invoke-restart 'use-value "?")))) - (sb-ext:octets-to-string - (coerce octets '(vector (unsigned-byte 8))) - :external-format :utf-8)) - #+clisp (ext:convert-string-from-bytes (coerce octets '(vector (unsigned-byte 8))) - charset:utf-8) - #-(or sbcl clisp) - (map 'string #'code-char octets)) + (let ((octets (coerce octets '(vector (unsigned-byte 8))))) + #+ccl (ccl:decode-string-from-octets octets :external-format :utf-8) + #+clisp (ext:convert-string-from-bytes octets charset:utf-8) + #+sbcl (handler-bind + ((sb-impl::octet-decoding-error #'(lambda (c) + (declare (ignore c)) + (invoke-restart 'use-value "?"))))(Continue reading)
3 Jan 2010 02:53
Re: [STUMP] [PATCH] UTF-8 support for CCL.
Julian Stecklina <js <at> alien8.de>
2010-01-03 01:53:23 GMT
2010-01-03 01:53:23 GMT
Ben Spencer <dangerous.ben <at> gmail.com> writes: > --- > wrappers.lisp | 26 ++++++++++++-------------- > 1 files changed, 12 insertions(+), 14 deletions(-) Nice. Please commit. Works fine. Regards, -- -- Julian Stecklina The day Microsoft makes something that doesn't suck is probably the day they start making vacuum cleaners - Ernst Jan Plugge
20 Jan 2010 04:47
[STUMP] Interesting Bug...
Brit Butler <redline6561 <at> gmail.com>
2010-01-20 03:47:57 GMT
2010-01-20 03:47:57 GMT
Stump-devs,
I'm a recent stump convert and very much enjoying it. I've stumbled upon a reproduceable bug but it's kind of weird. Bear with me...
I have a Lenovo X200 laptop with a dock, the dock is connected to an external flatscreen via VGA. With Xmonad I would get home, drop on the dock, use lxrandr to enable the second screen and be off to the races. This didn't work with stumpwm so I wrote the fix-layout defcommand in my .stumpwmrc which works handily. Connected to stump with slime, it's interesting to note that (current-screen) always returns the screen stumpwm first loaded with, even if I turn OFF the VGA monitor in lxrandr and turn on the laptop screen (or vice versa). (current-head) always shows the accurate resolution of the active screen. It's also interesting to note that *screen-list* never has more than one entry, including with both screens on in lxrandr.
So, the weird bug:
When I "flip" monitors in lxrandr and hit OK, stumpwm hangs. The window I'm in receives all keyboard input and, generally, it's like stumpwm isn't there at all. If I switch to a tty, open emacs, slime-connect to stump and try to run (loadrc) or most anything in the :stumpwm package, I get a backtrace like that seen in http://redlinernotes.com/docs/stumpwm_backtrace.txt. The brief absence of the former (current-head) causes something not to type-check as head and even though a new head takes its place, stump hangs. Aborting to SLIME's toplevel in the debugger returns stump to it's normal state. I'm happy to try and produce fuller debugging information.
I'm not sure what a sensible fix would be but I'm open to suggestions. This may be a weird use case. If this is too esoteric to fix, I won't object. I could always try to find where to put the appropriate restarts for the type-error myself, time allowing...
It would be nice in any case if anyone could tell me how to add a *head-changed-hook*, so that I can have fix-layout run automatically when I switch heads.
My .stumpwmrc is posted at http://redlinernotes.com/docs/.stumpwmrc for the curious as is a screenshot (188k, full res) of the stumpwm slime session with (current-head)/(current-screen) calls.
Cheers,
Brit Butler
_______________________________________________ Stumpwm-devel mailing list Stumpwm-devel <at> nongnu.org http://lists.nongnu.org/mailman/listinfo/stumpwm-devel
20 Jan 2010 19:52
Re: [STUMP] Interesting Bug...
Ben Spencer <dangerous.ben <at> gmail.com>
2010-01-20 18:52:13 GMT
2010-01-20 18:52:13 GMT
Hi, On Tue, Jan 19, 2010 at 10:47:57PM -0500, Brit Butler wrote: > I have a Lenovo X200 laptop with a dock, the dock is connected to an > external flatscreen via VGA. With Xmonad I would get home, drop on the dock, > use lxrandr to enable the second screen and be off to the races. This didn't > work with stumpwm so I wrote the fix-layout defcommand in my .stumpwmrc > which works handily. What exactly does it not do that you expect it to? > Connected to stump with slime, it's interesting to note > that (current-screen) always returns the screen stumpwm first loaded with, > even if I turn OFF the VGA monitor in lxrandr and turn on the laptop screen > (or vice versa). (current-head) always shows the accurate resolution of the > active screen. It's also interesting to note that *screen-list* never has > more than one entry, including with both screens on in lxrandr. Terminology note: 'screen' refers to X screens, 'head' refers to Xinerama heads. It sounds like you have two heads within one screen, so I'd expect *screen-list* to only show one entry. However, when you have both heads enabled, (screen-heads (current-screen)) should have two entries. The command: xdpyinfo -ext XINERAMA | grep head should show dimensions that match these entries. > So, the weird bug: > When I "flip" monitors in lxrandr and hit OK, stumpwm hangs. The window I'm > in receives all keyboard input and, generally, it's like stumpwm isn't there > at all. If I switch to a tty, open emacs, slime-connect to stump and try to > run (loadrc) or most anything in the :stumpwm package, I get a backtrace > like that seen in http://redlinernotes.com/docs/stumpwm_backtrace.txt. The > brief absence of the former (current-head) causes something not to > type-check as head and even though a new head takes its place, stump hangs. > Aborting to SLIME's toplevel in the debugger returns stump to it's normal > state. I'm happy to try and produce fuller debugging information. Are you running the latest from git? This sounds rather like a bug that was fixed relatively recently and isn't in the latest release. I get a 404 from that backtrace link btw. > It would be nice in any case if anyone could tell me how to add a > *head-changed-hook*, so that I can have fix-layout run automatically when I > switch heads. xrandr changes are handled in the :configure-notify event handler in events.lisp. Hope some of this is helpful :) Ben
21 Jan 2010 14:07
Re: [STUMP] Interesting Bug...
Ben Spencer <dangerous.ben <at> gmail.com>
2010-01-21 13:07:49 GMT
2010-01-21 13:07:49 GMT
On Thu, Jan 21, 2010 at 12:19:02AM -0500, Brit Butler wrote: > I would expect the windows to expand to fill the (added) screen. The laptop > runs at 1280x800, the VGA monitor at 1680x1050. If the laptop monitor is on > and I connect and turn on the desktop monitor with lxrandr, the full screen > real estate is not used. The laptop's 1280x800 resolution is simply mirrored > on the larger screen. I have not found a simpler way to address this > (getting *any window* at 1680x1050 resolution) than turning off the laptop > monitor in lxrandr and iterating through all windows in all groups calling > (redisplay). That is implemented as fix-layout in my .stumpwmrc and the > laptop monitor must be *off* in lxrandr for fix-layout to work. Are you aiming for a mirrored display or two separate heads? Could you post the output of xrandr -q before and after switching on the desktop monitor? (just trying to understand what lxrandr is up to). > *version* returns "0.9.6-39-g545fd7a Compiled On Wed Jan 13 19:12:01". I > built it from the stumpwm-git package on aur: > http://aur.archlinux.org/packages.php?ID=12996 > In other words, I'm pretty sure I am...but I could always recompile. ;) Yep, that's the latest. > http://redlinernotes.com/docs/stump_backtrace.txt It looks like you have *top-level-error-action* set to :break (some instructions for setting up slime recommend this), which is why things are locking up. Setting it to :abort should hopefully give you a more useful backtrace which you can grab with copy-unhandled-error. (Side note: I'm not really sure what the practical difference between :abort and :message is. :abort throws out of the main loop whereas :message just continues; so I guess the idea is that :abort ensures you're in a stable state at the cost of a soft reset, whereas :message leaves everything as it is, risking something somewhere being broken). As to the bug itself, it looks like it's similar to the issue we had before in that frame-head can return nil under certain circumstances, and the caller doesn't expect it. Ben
21 Jan 2010 18:40
Re: [STUMP] Interesting Bug...
Brit Butler <redline6561 <at> gmail.com>
2010-01-21 17:40:41 GMT
2010-01-21 17:40:41 GMT
Ben,
Sorry I mailed you directly last time.
> Are you aiming for a mirrored display or two heads?
Mirrored, with all windows in all groups taking advantage of the larger resolution. To be clear, I actually shut the laptop lid on the dock as there isn't enough room on the desk for both screens to be open and visible.
xrandr -q before:
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 8192 x 8192
VGA1 connected (normal left inverted right x axis y axis)
1680x1050 60.0 +
1280x1024 75.0 60.0
1280x960 60.0
1152x864 75.0
1024x768 75.1 75.0 70.1 60.0
832x624 74.6
800x600 72.2 75.0 60.3
640x480 72.8 75.0 66.7 60.0
720x400 70.1
LVDS1 connected 1280x800+0+0 (normal left inverted right x axis y axis) 261mm x 163mm
1280x800 60.0*+ 50.0
1024x768 85.0 75.0 70.1 60.0
832x624 74.6
800x600 85.1 72.2 75.0 60.3 56.2
640x480 85.0 72.8 75.0 59.9
720x400 85.0
640x400 85.1
640x350 85.1
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)
xrandr -q after:
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 8192 x 8192
VGA1 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 473mm x 297mm
1680x1050 60.0*+
1280x1024 75.0 60.0
1280x960 60.0
1152x864 75.0
1024x768 75.1 75.0 70.1 60.0
832x624 74.6
800x600 72.2 75.0 60.3
640x480 72.8 75.0 66.7 60.0
720x400 70.1
LVDS1 connected (normal left inverted right x axis y axis)
1280x800 60.0 + 50.0
1024x768 85.0 75.0 70.1 60.0
832x624 74.6
800x600 85.1 72.2 75.0 60.3 56.2
640x480 85.0 72.8 75.0 59.9
720x400 85.0
640x400 85.1
640x350 85.1
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP3 disconnected (normal left inverted right x axis y axis)
I'll try setting *top-level-error-action* to :abort and see if I can't get more details. Thanks again for all your help.
Regards,
Brit
On Thu, Jan 21, 2010 at 8:07 AM, Ben Spencer <dangerous.ben <at> gmail.com> wrote:
On Thu, Jan 21, 2010 at 12:19:02AM -0500, Brit Butler wrote:Are you aiming for a mirrored display or two separate heads?
> I would expect the windows to expand to fill the (added) screen. The laptop
> runs at 1280x800, the VGA monitor at 1680x1050. If the laptop monitor is on
> and I connect and turn on the desktop monitor with lxrandr, the full screen
> real estate is not used. The laptop's 1280x800 resolution is simply mirrored
> on the larger screen. I have not found a simpler way to address this
> (getting *any window* at 1680x1050 resolution) than turning off the laptop
> monitor in lxrandr and iterating through all windows in all groups calling
> (redisplay). That is implemented as fix-layout in my .stumpwmrc and the
> laptop monitor must be *off* in lxrandr for fix-layout to work.
Could you post the output of xrandr -q before and after switching on
the desktop monitor? (just trying to understand what lxrandr is up to).Yep, that's the latest.
> *version* returns "0.9.6-39-g545fd7a Compiled On Wed Jan 13 19:12:01". I
> built it from the stumpwm-git package on aur:
> http://aur.archlinux.org/packages.php?ID=12996
> In other words, I'm pretty sure I am...but I could always recompile. ;)
It looks like you have *top-level-error-action* set to :break (some
instructions for setting up slime recommend this), which is why things
are locking up. Setting it to :abort should hopefully give you a more
useful backtrace which you can grab with copy-unhandled-error.
(Side note: I'm not really sure what the practical difference between
:abort and :message is. :abort throws out of the main loop whereas
:message just continues; so I guess the idea is that :abort ensures
you're in a stable state at the cost of a soft reset, whereas :message
leaves everything as it is, risking something somewhere being broken).
As to the bug itself, it looks like it's similar to the issue we had
before in that frame-head can return nil under certain circumstances,
and the caller doesn't expect it.
Ben
_______________________________________________
Stumpwm-devel mailing list
Stumpwm-devel <at> nongnu.org
http://lists.nongnu.org/mailman/listinfo/stumpwm-devel
_______________________________________________ Stumpwm-devel mailing list Stumpwm-devel <at> nongnu.org http://lists.nongnu.org/mailman/listinfo/stumpwm-devel
21 Jan 2010 18:58
Re: [STUMP] Interesting Bug...
Shawn Betts <sabetts <at> gmail.com>
2010-01-21 17:58:48 GMT
2010-01-21 17:58:48 GMT
> (Side note: I'm not really sure what the practical difference between > :abort and :message is. :abort throws out of the main loop whereas > :message just continues; so I guess the idea is that :abort ensures > you're in a stable state at the cost of a soft reset, whereas :message > leaves everything as it is, risking something somewhere being broken). I think :message may be old crust from how errors used to be handled. It's possible one could simply want to display a message and push through but I suspect that's almost always a bad idea. -Shawn
21 Jan 2010 19:46
Re: [STUMP] Interesting Bug...
Ben Spencer <dangerous.ben <at> gmail.com>
2010-01-21 18:46:28 GMT
2010-01-21 18:46:28 GMT
On Thu, Jan 21, 2010 at 12:40:41PM -0500, Brit Butler wrote: > Mirrored, with all windows in all groups taking advantage of the larger > resolution. To be clear, I actually shut the laptop lid on the dock as there > isn't enough room on the desk for both screens to be open and visible. What happens if you actually disable the laptop screen? Or does that trigger the crash? (using xrandr that would be 'xrandr --output LVDS1 --off', not sure how you'd do the same thing with lxrandr) Could you also post before and after output for: xdpyinfo -ext XINERAMA | grep head and (screen-heads (current-screen)) the latter from slime. Thanks, Ben
22 Jan 2010 12:20
[STUMP] [PATCH 14/14] Added password identification support for mpd contrib.
Morgan Veyret <patzy <at> appart.kicks-ass.net>
2010-01-22 11:20:53 GMT
2010-01-22 11:20:53 GMT
---
contrib/mpd.lisp | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/contrib/mpd.lisp b/contrib/mpd.lisp
index 01a6e91..3bbb8ac 100644
--- a/contrib/mpd.lisp
+++ b/contrib/mpd.lisp
<at> <at> -114,6 +114,7 <at> <at>
#(127 0 0 1)
)
(defparameter *mpd-port* 6600)
+(defparameter *mpd-password* nil)
(defvar *mpd-timeout* 50)
<at> <at> -204,7 +205,9 <at> <at>
(when *mpd-timeout*
(setf *mpd-timer*
(run-with-timer *mpd-timeout* *mpd-timeout* 'mpd-ping)))
- (read-line *mpd-socket*)))
+ (read-line *mpd-socket*)
+ (when *mpd-password*
+ (mpd-format-command "password \"~a\"" *mpd-password*))))
(defun mpd-ping ()
(mpd-send-command "ping"))
--
--
1.6.4
RSS Feed