summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Riedi <andrewriedi@gmail.com>2007-07-25 19:23:32 -0700
committerAndrew Riedi <andrewriedi@gmail.com>2007-07-25 19:23:32 -0700
commit1d6f1d45761ab06d2abc5bf3d6e56cac91499c37 (patch)
treeefbbe37dd6d37cca6531c57c3771425d4a5c5d9f
parent73abab980d8d19dcfad91d9bf8d55f727d751b3d (diff)
downloadworkarounds-1d6f1d45761ab06d2abc5bf3d6e56cac91499c37.tar.gz
workarounds-1d6f1d45761ab06d2abc5bf3d6e56cac91499c37.tar.bz2
Add a workaround for notification-daemon windows.
Based on a patch by Danny Baumann <dannybaumann@web.de>. (Thank you!)
-rw-r--r--workarounds.c15
-rw-r--r--workarounds.xml.in5
2 files changed, 19 insertions, 1 deletions
diff --git a/workarounds.c b/workarounds.c
index a95f02e..2f541fb 100644
--- a/workarounds.c
+++ b/workarounds.c
@@ -104,7 +104,20 @@ workaroundsWindowAddNotify (CompWindow *w)
if (workaroundsGetLegacyApps (w->screen->display))
workaroundsDoLegacyApps (w);
- if (workaroundsGetFirefoxMenuFix (w->screen->display))
+ /* FIXME: Is this the best way to detect a notification type window? */
+ if (workaroundsGetNotificationDaemonFix (w->screen->display) && w->resName)
+ {
+ if (w->wmType == CompWindowTypeNormalMask &&
+ w->attrib.override_redirect &&
+ strcmp (w->resName, "notification-daemon") == 0)
+ {
+ w->wmType = CompWindowTypeNotificationMask;
+ ww->bOrigWmType = TRUE;
+ ww->origWmType = CompWindowTypeNormalMask;
+ }
+ }
+
+ if (workaroundsGetFirefoxMenuFix (w->screen->display) && !ww->bOrigWmType)
{
if (w->wmType == CompWindowTypeNormalMask &&
w->attrib.override_redirect)
diff --git a/workarounds.xml.in b/workarounds.xml.in
index 0f35c83..8337b1f 100644
--- a/workarounds.xml.in
+++ b/workarounds.xml.in
@@ -18,6 +18,11 @@
<_long>Fix window type of Firefox and Thunderbird menus.</_long>
<default>true</default>
</option>
+ <option type="bool" name="notification_daemon_fix">
+ <_short>Notification-Daemon Fix</_short>
+ <_long>Fix window type of notification daemon windows.</_long>
+ <default>true</default>
+ </option>
</display>
<screen>
</screen>