From: MINAMI H. <mi...@ch...> - 2003-02-28 21:38:28
|
みなみです On Mon, 24 Feb 2003 17:03:54 +0900 MINAMI Hirokazu <mi...@ch...> wrote: > #画像の更新が即時には反映されないのは今のところは仕様ということで。 とりあえず 下のパッチでどうでしょう。 _XROOTPMAP_ID を使って壁紙を扱ってる環境では追従するようになるはずです。 確認は nautilus で背景を描画してるときしかしてないので、 動作を確認していただけるとありがたいです。 --- x_window.c 10 Feb 2003 08:27:32 -0000 1.35 +++ x_window.c 28 Feb 2003 21:20:19 -0000 @@ -33,6 +33,7 @@ #define XA_SELECTION(display) (XInternAtom(display , "MLTERM_SELECTION" , False)) #define XA_DELETE_WINDOW(display) (XInternAtom(display , "WM_DELETE_WINDOW" , False)) #define XA_INCR(display) (XInternAtom(display, "INCR", False)) +#define XA_XROOTPMAP_ID(display) (XInternAtom(display, "_XROOTPMAP_ID", False)) /* * Extended Window Manager Hint support @@ -613,7 +599,7 @@ win->event_mask |= event_mask ; XSelectInput( win->display , win->my_window , win->event_mask) ; - + XSelectInput( win->display , DefaultRootWindow(win->display) , PropertyChangeMask ) ; return 1 ; } @@ -1579,6 +1565,13 @@ return 1 ; } } + if( ( event->type == PropertyNotify) && + ( win == x_get_root_window( win)) && + ( event->xproperty.atom == XA_XROOTPMAP_ID(win->display))) + { + notify_configure_to_children( win) ; + return 0 ; + } return 0 ; } |