Activity log for bug #401809

Date Who What changed Old value New value Message
2009-07-20 16:14:02 Chow Loong Jin bug added bug
2009-07-20 16:18:02 Chow Loong Jin branch linked lp:~hyperair/notify-osd/wnck-for-dock
2009-07-20 16:24:48 Chow Loong Jin description With a multihead configuration, left (primary) monitor being 1280x1024, and right monitor being 1280x800, aligned at their bases, notifications do not appear. This is because notify-osd places the notifications in the top right corner, which is not displayed by the secondary monitor, since it's aligned at the bases. The panel is at the top of the left monitor. The reason for this is that notify-osd cannot detect the panel when libgtk 2.17.4 is installed, as shown by the following debug message: (notify-osd:30917): Gdk-CRITICAL **: gdk_region_destroy: assertion `region != NULL' failed ** (notify-osd:30917): DEBUG: [2009-07-21T00:06:08-00:00, notify-send, id:0, icon:] bla ** (notify-osd:30917): DEBUG: selecting monitor 0 at (0,0) - 1280x1024 ** (notify-osd:30917): DEBUG: no panel detetected; using workarea fallback ** (notify-osd:30917): DEBUG: top corner at: 2295, 23 The offending snippet of code is this: /* discard dialog windows like panel properties or the applet directory... */ if (gdk_window_get_type_hint (win) != GDK_WINDOW_TYPE_HINT_DOCK) goto failed; For some reason, gdk_window_get_type_hint returns GDK_WINDOW_TYPE_HINT_NORMAL for all windows that don't belong to the calling application, and this broke notify-osd's method of looking for a panel. With a multihead configuration, left (primary) monitor being 1280x1024, and right monitor being 1280x800, aligned at their bases, notifications do not appear. This is because notify-osd places the notifications in the top right corner, which is not displayed by the secondary monitor, since it's aligned at the bases. The panel is at the top of the left monitor. The reason for this is that notify-osd cannot detect the panel when libgtk 2.17.4 is installed, as shown by the following debug message: (notify-osd:30917): Gdk-CRITICAL **: gdk_region_destroy: assertion `region != NULL' failed ** (notify-osd:30917): DEBUG: [2009-07-21T00:06:08-00:00, notify-send, id:0, icon:] bla ** (notify-osd:30917): DEBUG: selecting monitor 0 at (0,0) - 1280x1024 ** (notify-osd:30917): DEBUG: no panel detetected; using workarea fallback ** (notify-osd:30917): DEBUG: top corner at: 2295, 23 The offending snippet of code is this (in _window_look_for_top_panel_attributes, in src/defaults.c): /* discard dialog windows like panel properties or the applet directory... */ if (gdk_window_get_type_hint (win) != GDK_WINDOW_TYPE_HINT_DOCK) goto failed; For some reason, as of gtk 2.17.4, gdk_window_get_type_hint returns GDK_WINDOW_TYPE_HINT_NORMAL for all windows that don't belong to the calling application, and this broke notify-osd's method of looking for a panel. The part of the code in GDK which causes GDK_WINDOW_TYPE_HINT_NORMAL to be returned is this (in gdk_window_get_type_hint(), in gdk/x11/gdkwindow-x11.c): if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL (window)) return GDK_WINDOW_TYPE_HINT_NORMAL;
2009-07-21 10:38:50 Mirco Müller notify-osd: importance Undecided Medium
2009-07-21 10:38:50 Mirco Müller notify-osd: status New Fix Committed
2009-07-21 10:38:50 Mirco Müller notify-osd: assignee Mirco Müller (macslow)
2009-08-05 13:54:12 Launchpad Janitor branch linked lp:ubuntu/karmic/notify-osd
2009-08-17 18:25:46 Neil J. Patel notify-osd: status Fix Committed Fix Released
2014-02-11 12:21:00 Matthew Paul Thomas affects notify-osd notify-osd (Ubuntu)