Re: Annoying bug with GNOME 2.6 at startup



GSR - FR <famrom infernal-iceberg com> writes:

> marillat free fr (2004-07-09 at 1740.32 +0200):
>> >>> Ooops, wm_name is different, scratch what I said about second method.
>> >> Then why sawfish is unable to do a differance ?
>> > sawfish doesn't check WM_NAME when comparing session items to windows
>> > maybe one way to fix this problem would be to use window size as a
>> > tie-breaker, e.g. if more than one window matches, don't just choose one
>> > randomly, choose the one with the size closest to the size of the saved
>> > window..
>> You are unlucky by default both panels have the same size.
>
> So it will have to check class+name as per icccm. Or is there
> something in sawfish that disallows it?

I did a quick and (especially) dirty hack, because this patch only check
for WM_NAME. If people can try this patch ?  Seems to work for me, but
I've a minimal GNOME desktop.

Also I can do an experimental package for Debian users.

Christian

--- lisp/sawfish/wm/session/load.jl.orig      2002-11-04 04:35:39.000000000 +0100
+++ lisp/sawfish/wm/session/load.jl     2004-07-09 22:24:15.000000000 +0200
@@ -71,6 +71,7 @@
     (let ((client-id (sm-get-window-prop w 'SM_CLIENT_ID))
          (role (nth 2 (get-x-property w 'WM_WINDOW_ROLE)))
          (class (sm-get-window-prop w 'WM_CLASS))
+         (name (sm-get-window-prop w 'WM_NAME))
          (command (sm-get-window-prop w 'WM_COMMAND)))
       (catch 'out
        (when (and (not sm-sloppy-id-matching)
@@ -97,6 +98,10 @@
          ;; no WM_WINDOW_ROLE, so try matching WM_CLASS
          (when (and class (cdr (assq 'class alist))
                     (not (string= class (cdr (assq 'class alist)))))
+           (throw 'out nil))
+         ;; no WM_CLASS, so try matching WM_NAME
+         (when (and name (cdr (assq 'name alist))
+                    (not (string= name (cdr (assq 'name alist)))))
            (throw 'out nil)))
 
        ;; XXX match on WM_NAME and WM_CLIENT_MACHINE..?



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