3

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?

intuited
  • 3,481

3 Answers3

2

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
cYrus
  • 22,335
1

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.

akira
  • 63,447
1

I've recently encountered similar problem with Chromium and KWin WM.

To avoid killing browser you can just make this window invisible:

  1. Get window ID with xprop+click as @cYrus proposed or with xwininfo+click
  2. Hide this window with xdotool windowunmap <ID>

P.S.: Setting _NET_WM_WINDOW_TYPE did not seem to affect it in any way.

aland
  • 3,066
  • 18
  • 26