Exibição de obstrução da pseudo-janela do Chrome

2

postagem original

Estou executando o Ubuntu 10.04, usando o gerenciador de janelas openbox.

Apareceu recentemente um retângulo preto com dimensões de cerca de 100x200 pixels que obscurece o conteúdo da tela. wmctrl -l não lista nada que possa estar causando isso. Aparece em todos os desktops. Ele captura o foco do mouse, mas xkill não faz isso desaparecer. Não aparece no ciclo de tabulação alt. Definir janelas para "sempre no topo" na ordem z não impede que elas sejam obscurecidas por esse retângulo. Os aplicativos e vídeos em tela cheia também são obscurecidos pelo retângulo.

Até agora, as únicas coisas que encontrei são capazes de exibir sem ter esse retângulo no caminho

  • outras sessões TTY, o que significa que pressionar CTRL-ALT-F2 fornecerá um console que não é obscurecido pelo retângulo.
  • %código%. Ele não é afetado por esse problema ao mostrar uma proteção de tela e ao solicitar uma senha.

Como posso me livrar do retângulo sem matar minha sessão X ou qualquer processo que não seja responsável por ela? A resistência é fútil?

atualizar

Graças ao cYrus, aprendi a usar xlock para obter o PID da janela. Ele tem um conjunto bastante limitado de propriedades:

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

O PID fornecido é o do meu processo Chrome de nível superior (versão 6.0.472.53, para os interessados). Eu detesto matar o processo, pois pode me fazer perder as 40 + abas que eu tenho atualmente abertas e seus históricos variados, então seria ótimo se houvesse alguma maneira de fechar ou esconder essa janela. Infelizmente, não estou bem familiarizado com as propriedades do X e não tenho certeza de como fazer isso.

O tipo de janela indica que é um popup; Eu acho que não terminou de fazer isso. Isso explicaria por que ele não aceita o foco da janela: isto é, apesar de capturar os cliques do mouse, as pressões subseqüentes do espaço alt trazem o menu da janela para outra janela.

Eu tentei converter seu tipo para NORMAL mas recebo

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

Como posso manipular essa janela embrionária de uma maneira que faça com que ela pare de obstruir a exibição?

    
por intuited 09.09.2010 / 23:35

3 respostas

2

xprop + clique no retângulo para obter algumas informações úteis.

Você pode matar o processo assim que tiver o PID :

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

De qualquer forma, essa deve ser a maneira correta de usar xprop para alterar a opção _NET_WM_WINDOW_TYPE (nunca tentei isso):

xprop -f _NET_WM_WINDOW_TYPE 32a -set _NET_WM_WINDOW_TYPE _NET_WM_WINDOW_TYPE_NORMAL
    
por 10.09.2010 / 07:49
1

use

% xwininfo -tree -root

para ter uma ideia de quais janelas estão lá. o uso desta informação para descobrir, se na posição dada é uma janela ou não e se: qual.

    
por 09.09.2010 / 23:45
0

Recentemente, encontrei um problema semelhante com o Chromium e o KWin WM.

Para evitar a destruição do navegador, você pode tornar essa janela invisível:

  1. Obtenha o ID da janela com xprop + clique como @cYrus proposto ou com xwininfo + clique
  2. Ocultar esta janela com xdotool windowunmap <ID>

P.S .: A configuração _NET_WM_WINDOW_TYPE não pareceu afetá-lo de nenhuma maneira.

    
por 20.09.2012 / 19:43