Chrome Pseudo-Fenster, das die Anzeige blockiert

1379
intuited

ursprünglicher Beitrag

Ich verwende Ubuntu 10.04 mit dem Openbox-Fenstermanager.

Vor kurzem erschien ein schwarzes Rechteck mit Abmessungen von etwa 100 x 200 Pixel, das den Inhalt der Anzeige verdeckt. wmctrl -llistet nichts auf, was dazu führen könnte. Es erscheint auf allen Desktops. Es fängt den Mausfokus, aber es xkillgeht nicht weg. Es erscheint nicht im Alt-Tab-Zyklus. Wenn Sie Fenster in der z-Reihenfolge auf "immer oben" einstellen, können Sie nicht verhindern, dass sie durch dieses Rechteck verdeckt werden. Vollbild-Apps und -Videos werden auch durch das Rechteck verdeckt.

Bisher habe ich nur gefunden, was angezeigt werden kann, ohne dieses Rechteck im Weg zu haben

  • andere TTY-Sitzungen, was bedeutet, dass beim Drücken von STRG-ALT-F2 eine Konsole angezeigt wird, die nicht durch das Rechteck verdeckt wird.
  • xlock. Es ist von diesem Problem nicht betroffen, sowohl beim Anzeigen eines Bildschirmschoners als auch bei der Abfrage eines Kennworts.

Wie kann ich das Rechteck loswerden, ohne meine X-Sitzung oder Prozesse zu beenden, die nicht dafür verantwortlich sind? Ist Widerstand vergeblich?

aktualisieren

Dank CYrus habe ich gelernt xprop, die PID des Fensters zu erhalten. Es hat eine ziemlich begrenzte Anzahl von Eigenschaften:

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 

Die angegebene PID ist diejenige meines Top-Chrome-Prozesses (Version 6.0.472.53, für Interessenten). Ich hasse es, den Prozess zu beenden, da ich dadurch die 40+ Registerkarten, die ich gerade geöffnet habe, und ihre verschiedenen Historien aus den Augen verlieren kann. Es wäre also großartig, dieses Fenster zu schließen oder auszublenden. Leider bin ich mit den X-Eigenschaften nicht vertraut und weiß nicht, wie ich dies tun soll.

Der Fenstertyp zeigt an, dass es sich um ein Popup handelt. Ich schätze, es hat das noch nicht beendet. Dies würde erklären, warum der Fensterfokus nicht akzeptiert wird: Wenn Sie also mit der Maus klicken, wird durch Drücken der Alt-Leertaste das Fenstermenü für ein anderes Fenster geöffnet.

Ich habe versucht, den Typ in NORMAL umzuwandeln, aber ich bekomme

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

Wie kann ich dieses embryonale Fenster so manipulieren, dass es die Anzeige nicht mehr behindert?

2
Gibt 'xprop' + Klick auf das Rechteck nützliche Informationen? cYrus vor 13 Jahren 0
@cYrus: Ja, danke. Sieht aus, als wäre es Chrome. Du solltest deinen Kommentar zu einer Antwort machen, damit ich ihn annehmen kann. intuited vor 13 Jahren 0
@ cYrus: Hast du eine Idee, welche Eigenschaft ich geben möchte, damit ich sie schließen kann? Obwohl es mit der Maus klick ist, nimmt es nicht den Fokus, also kann ich nicht alt-space verwenden, um das Menü zu erhalten. intuited vor 13 Jahren 0
Ja, im Endeffekt handelt es sich um ein Überlagerungsfenster (normalerweise für Menüs, manchmal auch für Popups), das Chrome erstellt und vergessen hat. CYrus 'Vorschlag, Chrome zu töten, ist das Einzige, was ich gefunden habe. Ich habe "xkill" am störenden Fenster ausprobiert, aber es hat nie funktioniert. Ich ziehe es vor, Chrome zu beenden, anstatt das Programm sauber zu beenden, da auf diese Weise alle Fenster und Registerkarten beim Neustart wiederhergestellt werden. Wenn jemand einen besseren Weg hat, würde ich es gerne hören. Edward Falk vor 10 Jahren 0
Ich habe einige Zeit nach dem Posting auf Unity umgestellt und hatte das Problem in letzter Zeit nicht. intuited vor 10 Jahren 0

3 Antworten auf die Frage

2
cYrus

xprop + Klicken Sie auf das Rechteck, um nützliche Informationen zu erhalten.


Sie können den Prozess abbrechen, sobald Sie Folgendes haben PID:

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

Auf jeden Fall sollte dies die richtige Methode sein, um xpropdie _NET_WM_WINDOW_TYPEOption zu ändern (hat das nie versucht):

xprop -f _NET_WM_WINDOW_TYPE 32a -set _NET_WM_WINDOW_TYPE _NET_WM_WINDOW_TYPE_NORMAL 
Ich habe Chrome auf normale Weise heruntergefahren, so dass ich Ihren xprop-Befehl erst testen kann, wenn er erneut auftritt. Vielen Dank. intuited vor 13 Jahren 0
1
akira

benutzen

% xwininfo -tree -root 

um sich ein Bild von den Fenstern zu machen. Verwenden Sie diese Informationen, um herauszufinden, ob an der angegebenen Position ein Fenster ist oder nicht und ob: welches.

0
aland

Ich habe kürzlich ein ähnliches Problem mit Chromium und KWin WM festgestellt.

Um das Töten des Browsers zu vermeiden, können Sie dieses Fenster einfach unsichtbar machen:

  1. Holen Sie sich die Fenster-ID mit xprop+ Klick als @cYrus oder mit xwininfo+ Klick
  2. Verstecken Sie dieses Fenster mit xdotool windowunmap <ID>

PS: Die Einstellung _NET_WM_WINDOW_TYPEschien es in keiner Weise zu beeinflussen.