Re: Doing some cleanups...



On Tue, 21 Sep 2010 17:38:33 +0200, Christopher Roy Bratusek wrote:
>> Most important bug: open configurator -> Window rules -> add.  There
>> appear strings "unknown widget".
> 
> fixed.

Thanks. It works. 

I didn't know "open" of non-existent module doesn't show any warning
at byte compilation. And I remembered after the fix that in the
configurator, trace-on-error is off. (If on, enormous messages will be
shown, and at the end it's broken.) So if you want a backtrace, you
first need a guess of pinpointing the wrong code.

>> Deleted file widget-test.jl *does* work. You have to run
>> /usr/bin/rep, not sawfish-client, to invoke it. You also have to
>> setup REP_LOAD_PATH like sawfish-config. 
>> 
>> It looks useful, because it allows you to test widgets in sawfish.gtk.*.
>> Please revert it.
> 
> Well… I've tested it and even for widgets which do actually work in SawfishConfig, it
> crashes. Regardless whether started from rep or sawfish-client. I don't know which
> widgets did make it crash (tested back in august). I'll upload it to the wiki, so that
> you can still access it. Either way I don't want to revert and distribute something
> broken.

Do you mean it works for some widgets, but not for others? It's
unlikely that a seperate process can make Sawfish WM crash.  I only
tested: (test-widget '(optional (choice one two three)) 'two). This
example was included in widget-test.jl itself. Attached one does this,
with a necessary wrapper. Save it, chmod +x, and it runs.

I'm thinking that modules sawfish.dev.* may be good which are for
development. So if it works, it can come back there.

>> > More noticeably: old-window-menu and 3d-hack are gone.
>> 
>> At least one user is using old-window-menu. It may be better to retain
>> old-window-menu for the moment. [...]
>
> [old-window-menu] isn't supported anymore.

It works, so is not "not supported".

>> > In fact, I've been thinking beos-window-menu should be renamed to
>> > window-menu, and merging old-*. But don't do that in the feature
>> > freeze period. It'll be in 1.7.1.

(Let me correct: It's better to merge it to sawfish.wm.menus than
renaming.)

> Both are basically the same, the old just doesn't group windows. User option
> "window-menu-group-windows" or something like that should be enough I guess.

Exactly. So, if it'll be supported (it's good) in any style, it's
better not to delete it now.

I promise, Chris, you won't be bothered any more on this, so I revived
it in my push.

Regards,
Teika (Teika kazura)
#!/bin/sh

REP_LOAD_PATH="/usr/share/sawfish/1.7.0/lisp"
export REP_LOAD_PATH

exec rep "$0" "$@"

!#

(define-structure sawfish.gtk.widget-test

;;;;; This is broken, it kills sawfish, test it:            ;;;;;
;;;;; sawfish-client                                        ;;;;;
;;;;; (require 'sawfish.gtk.widget-test)                    ;;;;;
;;;;; (test-widget '(optional (choice one two three)) 'two) ;;;;;
;;;;; now move the window -> X Window System error -> kill  ;;;;;

    (export test-widget)

    (open rep
	  gui.gtk-2.gtk
	  rep.system
	  sawfish.gtk.widget)

  (define (test-widget spec #!optional initial-value)
    (let (widget)
      (setq widget (make-widget spec (lambda ()
				       (when widget
					 (format standard-output
						 "changed: %s\n"
						 (widget-ref widget))))))
      (when initial-value
	(or (widget-valid-p widget initial-value)
	    (error "Value is not suitable for widget: %s" initial-value))
	(widget-set widget initial-value))
      (let ((window (gtk-window-new 'toplevel)))
	(gtk-container-add window (widget-gtk-widget widget))
	(g-signal-connect window "delete_event"
                          (lambda () (throw 'done t)))
	(gtk-widget-show-all window)
	(unwind-protect
	    (catch 'done
	      (recursive-edit)
	      (gtk-widget-destroy window))
	  (gdk-flush))))))

(require 'sawfish.gtk.widget-test)
(test-widget '(optional (choice one two three)) 'two)


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