Commit 118b8675 authored by pkotwicz's avatar pkotwicz Committed by Commit bot

Do not consider the wmii window manager as supporting _NET_ACTIVE_WINDOW. In

particular, wmii indicates that it supports EWMH via _NET_SUPPORTING_WM_CHECK
and _NET_ACTIVE_WINDOW via _NET_SUPPORTED but does not ever set the
_NET_ACTIVE_WINDOW property. This is a known bug with wmii
(https://code.google.com/p/wmii/issues/detail?id=266)

BUG=417767
TEST=Manual, see bug

Review URL: https://codereview.chromium.org/602183003

Cr-Commit-Position: refs/heads/master@{#297313}
parent c94f1fb7
...@@ -71,6 +71,7 @@ enum UMALinuxWindowManager { ...@@ -71,6 +71,7 @@ enum UMALinuxWindowManager {
UMA_LINUX_WINDOW_MANAGER_QTILE, UMA_LINUX_WINDOW_MANAGER_QTILE,
UMA_LINUX_WINDOW_MANAGER_RATPOISON, UMA_LINUX_WINDOW_MANAGER_RATPOISON,
UMA_LINUX_WINDOW_MANAGER_STUMPWM, UMA_LINUX_WINDOW_MANAGER_STUMPWM,
UMA_LINUX_WINDOW_MANAGER_WMII,
// NOTE: Append new window managers to the list above this line (i.e. don't // NOTE: Append new window managers to the list above this line (i.e. don't
// renumber) and update LinuxWindowManagerName in // renumber) and update LinuxWindowManagerName in
// tools/metrics/histograms/histograms.xml accordingly. // tools/metrics/histograms/histograms.xml accordingly.
...@@ -181,6 +182,8 @@ UMALinuxWindowManager GetLinuxWindowManager() { ...@@ -181,6 +182,8 @@ UMALinuxWindowManager GetLinuxWindowManager() {
return UMA_LINUX_WINDOW_MANAGER_RATPOISON; return UMA_LINUX_WINDOW_MANAGER_RATPOISON;
case ui::WM_STUMPWM: case ui::WM_STUMPWM:
return UMA_LINUX_WINDOW_MANAGER_STUMPWM; return UMA_LINUX_WINDOW_MANAGER_STUMPWM;
case ui::WM_WMII:
return UMA_LINUX_WINDOW_MANAGER_WMII;
case ui::WM_XFWM4: case ui::WM_XFWM4:
return UMA_LINUX_WINDOW_MANAGER_XFWM4; return UMA_LINUX_WINDOW_MANAGER_XFWM4;
} }
......
...@@ -45339,6 +45339,7 @@ Therefore, the affected-histogram name has to have at least one dot in it. ...@@ -45339,6 +45339,7 @@ Therefore, the affected-histogram name has to have at least one dot in it.
<int value="17" label="Qtile"/> <int value="17" label="Qtile"/>
<int value="18" label="Ratpoison"/> <int value="18" label="Ratpoison"/>
<int value="19" label="StumpWM"/> <int value="19" label="StumpWM"/>
<int value="20" label="wmii"/>
</enum> </enum>
<enum name="LoadType" type="int"> <enum name="LoadType" type="int">
...@@ -1032,7 +1032,8 @@ bool GetCustomFramePrefDefault() { ...@@ -1032,7 +1032,8 @@ bool GetCustomFramePrefDefault() {
wm == WM_NOTION || wm == WM_NOTION ||
wm == WM_QTILE || wm == WM_QTILE ||
wm == WM_RATPOISON || wm == WM_RATPOISON ||
wm == WM_STUMPWM) wm == WM_STUMPWM ||
wm == WM_WMII)
return false; return false;
// Handle a few more window managers that don't get along well with custom // Handle a few more window managers that don't get along well with custom
...@@ -1259,6 +1260,8 @@ WindowManagerName GuessWindowManager() { ...@@ -1259,6 +1260,8 @@ WindowManagerName GuessWindowManager() {
return WM_RATPOISON; return WM_RATPOISON;
if (name == "stumpwm") if (name == "stumpwm")
return WM_STUMPWM; return WM_STUMPWM;
if (name == "wmii")
return WM_WMII;
if (name == "Xfwm4") if (name == "Xfwm4")
return WM_XFWM4; return WM_XFWM4;
} }
......
...@@ -264,6 +264,7 @@ enum WindowManagerName { ...@@ -264,6 +264,7 @@ enum WindowManagerName {
WM_QTILE, WM_QTILE,
WM_RATPOISON, WM_RATPOISON,
WM_STUMPWM, WM_STUMPWM,
WM_WMII,
WM_XFWM4, WM_XFWM4,
}; };
// Attempts to guess the window maager. Returns WM_UNKNOWN if we can't // Attempts to guess the window maager. Returns WM_UNKNOWN if we can't
......
...@@ -58,8 +58,14 @@ X11DesktopHandler::X11DesktopHandler() ...@@ -58,8 +58,14 @@ X11DesktopHandler::X11DesktopHandler()
attr.your_event_mask | PropertyChangeMask | attr.your_event_mask | PropertyChangeMask |
StructureNotifyMask | SubstructureNotifyMask); StructureNotifyMask | SubstructureNotifyMask);
wm_supports_active_window_ = if (ui::GuessWindowManager() == ui::WM_WMII) {
ui::WmSupportsHint(atom_cache_.GetAtom("_NET_ACTIVE_WINDOW")); // wmii says that it supports _NET_ACTIVE_WINDOW but does not.
// https://code.google.com/p/wmii/issues/detail?id=266
wm_supports_active_window_ = false;
} else {
wm_supports_active_window_ =
ui::WmSupportsHint(atom_cache_.GetAtom("_NET_ACTIVE_WINDOW"));
}
} }
X11DesktopHandler::~X11DesktopHandler() { X11DesktopHandler::~X11DesktopHandler() {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment