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?

link|improve this question

48% accept rate
Does xprop + click on the rectangle give some useful informations? – cYrus Sep 9 '10 at 21:44
@cYrus: Yes, thanks. Looks like it's Chrome. You should make your comment an answer so I can accept it. – intuited Sep 9 '10 at 23:49
@cYrus: Any idea what property I would want to give it so that I can close it? Although it catches mouse clicks, it doesn't actually take the focus, so I can't use alt-space to get its menu. – intuited Sep 10 '10 at 0:02
feedback

2 Answers

up vote 2 down vote accepted

xprop + click on the rectangle to get some useful informations.


You can kill the process once you have the PID:

$ xprop | grep -i pid
_NET_WM_PID(CARDINAL) = 14712
$ kill -KILL 14712

Anyway, this should be the proper way to use xprop to change the _NET_WM_WINDOW_TYPE option (never tried that):

xprop -f _NET_WM_WINDOW_TYPE 32a -set _NET_WM_WINDOW_TYPE _NET_WM_WINDOW_TYPE_NORMAL
link|improve this answer
I ended up shutting down chrome the normal way, so I won't test your xprop command unless it happens again. Thanks. – intuited Sep 10 '10 at 19:46
feedback

use

% xwininfo -tree -root

to get an idea of which windows are there. the use this information to find out, if at the given position is a window or not and if: which one.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.