original post
I'm running ubuntu 10.04, using the openbox window manager.
There recently appeared a black rectangle with dimensions of about 100x200 pixels that's obscuring the contents of the display. wmctrl -l doesn't list anything that could be causing it. It appears on all desktops. It catches mouse focus, but xkill doesn't make it go away. It doesn't show up in the alt-tab cycle. Setting windows to "always on top" in the z-order does not prevent them from being obscured by this rectangle. Full-screen apps and video are also obscured by the rectangle.
So far, the only things that I've found are able to display without having this rectangle in the way are
- other TTY sessions, meaning that hitting CTRL-ALT-F2 will give a console which is not obscured by the rectangle.
xlock. It is unaffected by this issue both when showing a screen saver and when asking for a password.
How can I get rid of the rectangle without killing my X session or any processes not responsible for it? Is resistance futile?
update
Thanks to cYrus I've learned to use xprop to get the PID of the window. It's got a pretty limited set of properties:
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
window id # of group leader: 0x2000001
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 34717614
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_POPUP_MENU
_NET_WM_USER_TIME(CARDINAL) = 354386666
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x211bf8d
WM_CLIENT_LEADER(WINDOW): window id # 0x2000001
_NET_WM_PID(CARDINAL) = 16593
WM_LOCALE_NAME(STRING) = "en_CA.utf8"
WM_CLIENT_MACHINE(STRING) = "XXXXXX"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
program specified location: 0, 0
program specified minimum size: 274 by 156
program specified maximum size: 274 by 156
window gravity: NorthWest
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_CLASS(STRING) = "google-chrome", "Google-chrome"
WM_ICON_NAME(STRING) = "google-chrome"
_NET_WM_ICON_NAME(UTF8_STRING) = 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2d, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x65
WM_NAME(STRING) = "google-chrome"
_NET_WM_NAME(UTF8_STRING) = 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2d, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x65
The PID given is that of my top-level Chrome process (version 6.0.472.53, for those interested). I'm loathe to kill the process since it may cause me to lose track of the 40+ tabs I've currently got open and their assorted histories, so it would be great if there were some way to close or hide this window. Unfortunately, I'm not well-acquainted with X properties and am not sure how to go about doing this.
The window type indicates that it's a popup; I guess it didn't finish doing that. This would explain why it doesn't accept the window focus: i.e. although it catches mouse clicks, subsequent presses of alt-space bring up the window menu for another window.
I tried converting its type to NORMAL but I get
$ xprop -set _NET_WM_WINDOW_TYPE\(ATOM\) _NET_WM_WINDOW_TYPE_NORMAL
xprop: error: unsupported conversion for _NET_WM_WINDOW_TYPE(ATOM)
How can I manipulate this embryonic window in a way that will cause it to cease to obstruct the display?