Chrome псевдо - окно препятствуя дисплей


оригинальное сообщение

я запускаю ubuntu 10.04, используя менеджер окон openbox.

недавно появился черный прямоугольник размером около 100х200 пикселей, который затемняет содержимое дисплея. wmctrl -l не перечисляет ничего, что может быть причиной. Он отображается на всех рабочих столах. Он ловит фокус мыши, но xkill не делает его уйти. Он не отображается в цикле alt-tab. Установка окна "всегда сверху" в z-порядке не предотвратите их затемнение этим прямоугольником. Полноэкранные приложения и видео также скрыты прямоугольником.

до сих пор, единственные вещи, которые я нашел, могут отображаться без этого прямоугольника в пути

  • другие сеансы TTY, что означает, что нажатие CTRL-ALT-F2 даст консоль, которая не скрыта прямоугольником.
  • xlock. Это не влияет на эту проблему как при отображении экранной заставки и при запросе пароль.

как я могу избавиться от прямоугольника, не убивая мою X-сессию или какие-либо процессы, не ответственные за нее? Сопротивление бесполезно?

обновление

благодаря Сайрусу я научился пользоваться xprop, чтобы получить PID окна. У него довольно ограниченный набор свойств:

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

данный PID является моим процессом Chrome верхнего уровня (версия 6.0.472.53, для тех, кто заинтересован). Я ненавижу убивать процесс, так как он может мне терять 40+ вкладок у меня сейчас открыты и их разных историй, так что было бы здорово, если бы был способ, чтобы закрыть или спрятать это окно. К сожалению, я не очень хорошо знаком с X properties и не уверен, как это сделать.

тип окна указывает, что это всплывающее окно; я думаю, он не закончил делать это. Это объясняет, почему он не принимает фокус окна: т. е. хотя он ловит щелчки мыши, последующие нажатия alt-пространства вызовите меню окно для другого окна.

Я попытался преобразовать его тип в нормальный, но я получаю

$ xprop -set _NET_WM_WINDOW_TYPE(ATOM) _NET_WM_WINDOW_TYPE_NORMAL
xprop: error: unsupported conversion for _NET_WM_WINDOW_TYPE(ATOM)

как я могу управлять этим эмбриональным окном таким образом, чтобы оно перестало препятствовать отображению?

17
задан intuited
02.04.2023 23:43 Количество просмотров материала 2425
Распечатать страницу

3 ответа

xprop + нажмите на прямоугольник, чтобы получить полезную информацию.


вы можете убить процесс, если у вас есть PID:

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

во всяком случае, это должен быть правильный способ использовать xprop изменить _NET_WM_WINDOW_TYPE опции (никогда не пробовал):

xprop -f _NET_WM_WINDOW_TYPE 32a -set _NET_WM_WINDOW_TYPE _NET_WM_WINDOW_TYPE_NORMAL
2
отвечен cYrus 2023-04-04 07:31

использовать

% xwininfo -tree -root

чтобы получить представление о том, какие окна бывают. используйте эту информацию, чтобы узнать, есть ли в данной позиции окно или нет, и если: какое.

1
отвечен akira 2023-04-04 09:48

Я недавно столкнулся с аналогичной проблемой с хромом и KWin WM.

чтобы избежать убийства браузер вы можете просто сделать это окно невидимым:

  1. получить идентификатор окна с xprop+щелчок как @cYrus предложил или xwininfo+щелчок
  2. скрыть это окно с помощью xdotool windowunmap <ID>

П. С.: Задание _NET_WM_WINDOW_TYPE никак на это не повлияло.

0
отвечен aland 2023-04-04 12:05

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх