stumpwm-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[STUMP] Feedback and bugfixes


From: Philippe Brochard
Subject: [STUMP] Feedback and bugfixes
Date: Thu, 23 Feb 2006 12:28:29 +0100
User-agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux)

Hi,

I switch to stumpwm very happily after windowmaker / fvwm / sawfish /
oroborus / larswm / evilwm / icewm / eclipse... with my own key
grabbing external program and mouse handler (xbindkeys / mvmouse etc...).

The last was icewm (I need something light) and I found that I used it
almost always with all windows fullscreen maximized without frame
decoration but I have to do this manually always and always.
Stumpwm do this for me and its a real happiness to see how it handle
simply a dual head (compared to icewm where I have to manage windows
manually with the mouse where in stumpwm I just have to cute the root
window vertically).

And the better, as I'm a Common Lisp fan, to have a REPL for my window
manager that I can hack is a real plus (that's what I have searched
with fvwm / sawfish / eclipse).


But to make it works with clisp, I have to change 'normal -> +normal-state+
in line 185 in core.lisp

The user home directory doesn't work with  "home:.stumpwmrc".
Insteed I use:

(merge-pathnames (user-homedir-pathname) #P".stumpwmrc") 

in line 39 in stumpwm.lisp



And there is a mistacke in split-frame-v line 505 in core.lisp

":y (+ (frame-x p) h)" must be ":y (+ (frame-y p) h)"

this make a bug when spliting a frame vertically.

(Note this is from the 23 feb 2006 cvs file).



Also, I have add a REPL in the main loop:

--------------------------------------------------------------------------------
(defun show-prompt ()
   (format *terminal-io* "~&~A> " (package-name *package*))
   (force-output *terminal-io*))  


;;; Change in stumpwm.lisp
(defun stumpwm-internal-loop ()
  "The internal loop that waits for events and handles them."
  (show-prompt)
  (loop
   (when (listen *terminal-io*)
     (format t "~{~&~A~}~%"
             (multiple-value-list
              (ignore-errors
                (eval (read *terminal-io*)))))
     (show-prompt))
   (if (> *timeout* 0)
       (progn
         (let ((time-before (get-universal-time)))
           (xlib:process-event *display* :handler #'handle-event :timeout 
*timeout*)
           (let ((time-left (- *timeout* (- (get-universal-time) time-before))))
             (if (<= time-left 0)
                 (progn
                   (unmap-all-message-windows)
                   (setf *timeout* 0))
                 (setf *timeout* time-left)))))
       ;; Otherwise, simply wait for an event
       (xlib:process-event *display* :handler #'handle-event :timeout nil))))
--------------------------------------------------------------------------------

Note, it needs an event to be evaluated.


Another thing, the rc file is read after the default bindings is
done. This prevent to redefine the *prefix-key* from the ~/.stumpwmrc.


So, sorry for this long post and to not have make a standard patch.

And thanks a lot for this great work !


Philippe

-- 
Philippe Brochard    <address@hidden>
                      http://hocwp.free.fr

-=-= http://www.gnu.org/home.fr.html =-=-




reply via email to

[Prev in Thread] Current Thread [Next in Thread]