Page MenuHomePhabricator

certain windows are rendered on top of a maximized window
Closed, ResolvedPublic

Description

I have mpv and terminology set to open on certain virtual desktops.
mpv is is set to open on virtual desktop 2 and terminology is set to open on virtual desktop 5.
When I launch mpv from terminology (terminology is maximized) then for some reason, mpv is shown on top of terminology, even though it is set to show up on virtual desktop 2. Keystrokes are also sent to the mpv window...

  1. Open Terminology (borderless) on virtual desktop 1 and maximize it.
  2. Start mpv from that Terminology instance.

Result : mpv is rendering on top of terminology

Now, if I fullscreen mpv and switch to virtual desktop 5, then mpv shows up on virtual desktop 5, covering the terminology window but keystrokes are actually going to terminology.

  • Fullscreen
    1. launch mpv via terminology
    2. Fullscreen mpv.
    3. switch back to terminology
    4. mpv ends up fullscreened above terminology

result → mpv shows up on virtual desktop 1, above Terminology...
Here's a video :

E Compositor set to OpenGL : Occurs
E Compositor set to Software : Occurs
ELM Rendering set to : OpenGL/OpenGL-ES : Occurs
ELM Rendering set to : No Acceleration : Occurs

Name : elementary-git
Version : 1.13.99.11249.108ee56-1
Build Date : Fri 03 Apr 2015 11:15:31 PM EDT
Install Date : Fri 03 Apr 2015 11:17:16 PM EDT

Name : efl-git
Version : 1.13.99.29917.bd18b52-1
Build Date : Fri 03 Apr 2015 11:06:17 PM EDT
Install Date : Fri 03 Apr 2015 11:08:11 PM EDT

Name : enlightenment-git
Version : 0.19.99.19755.da149ba-1
Build Date : Fri 03 Apr 2015 11:24:00 PM EDT
Install Date : Fri 03 Apr 2015 11:25:40 PM EDT

Name : terminology-git
Version : 0.8.99.r1465.16402da-1
Build Date : Fri 03 Apr 2015 11:35:02 PM EDT
Install Date : Fri 03 Apr 2015 11:35:24 PM EDT

abyomi0 created this task.Apr 9 2015, 9:13 AM
abyomi0 updated the task description. (Show Details)
abyomi0 raised the priority of this task from to Incoming Queue.
abyomi0 added projects: enlightenment-git, efl.
abyomi0 added a subscriber: abyomi0.
abyomi0 updated the task description. (Show Details)Apr 9 2015, 9:51 AM
abyomi0 renamed this task from fullscreen rendering to fullscreen windows are rendered on top of a maximized window.Apr 9 2015, 2:44 PM
abyomi0 updated the task description. (Show Details)Apr 9 2015, 3:15 PM
abyomi0 closed this task as Resolved.Apr 11 2015, 8:07 AM
abyomi0 claimed this task.

Updated on Friday, doesn't appear anymore.

abyomi0 reopened this task as Open.Apr 11 2015, 10:49 AM

Nope, I was wrong. Still happens.

abyomi0 removed abyomi0 as the assignee of this task.Apr 11 2015, 10:50 AM
abyomi0 renamed this task from fullscreen windows are rendered on top of a maximized window to certain windows are rendered on top of a maximized window.Apr 11 2015, 11:30 AM
abyomi0 updated the task description. (Show Details)

This may be a driver issue. Try running mpv using -vo x11 to force software rendering.

abyomi0 added a comment.EditedApr 17 2015, 12:59 PM

Happens with x11 too.
Doesn't happen when I use a different terminal emulator though.

zmike added a comment.Apr 18 2015, 9:52 AM

If you bring up the window menu by clicking on mpv in this scenario, is it a menu for mpv or terminology?

abyomi0 added a comment.EditedApr 18 2015, 9:59 AM

If I right click on mpv, terminology's sidebar shows up.
Using Alt + Right Click → terminology's window menu shows up and mpv isn't rendered on top of it afterwards.

What engine are you using for terminology rendering?

abyomi0 added a comment.EditedApr 20 2015, 11:19 AM

OpenGL / OpenGL-ES, but it seems to happen no matter what engine I use.

ediit : I can't reproduce this any more...for the moment...
Rebooted, occurs again.

You're using gl for your terminal rendering? Definitely a driver bug.

The last thing I'm wondering about now is why this would happen even when I switch the rendering engine to No Acceleration.

abyomi0 changed the visibility from "All Users" to "Public (No Login Required)".Apr 21 2015, 9:18 AM
abyomi0 added a comment.EditedApr 21 2015, 6:50 PM

Okay, now I've changed Enlightenment to use the rendering Software engine, elm to No Acceleration and mpv to use vo=x11. It still happens.

it's not a driver issue - relatively sure. this isn't the kind of issue that ends up being driver. something is mis-stacking windows. i see this sometimes. it's a fullscreen related behavior. i have seen odd things at time and haven't had time to dig into it.

Should I upload my config?
Or are there some settings I should enable/disable to attempt to figure it out?

zmike added a comment.Apr 27 2015, 9:37 AM

Config would be helpful, yes.

abyomi0 added a comment.EditedApr 27 2015, 10:13 AM

config :

With it, you might also be able to reproduce T2286, T2097 and T1069.

abyomi0 removed a project: efl.May 14 2015, 1:16 PM
abyomi0 removed a subscriber: cedric.

@raster, I tested this on another computer with my config and it didn't occur there...

abyomi0 triaged this task as Normal priority.May 14 2015, 1:18 PM

try xwininfo -tree -root when mpv is up - is it stacked above the terminology window?

abyomi0 added a comment.EditedMay 15 2015, 9:40 PM

This is right after launching mpv and having xwininfo run 5 seconds afterwards.

sleep 5 ; xwininfo -tree -root

xwininfo: Window id: 0x2b7 (the root window) "Enlightenment"

Root window id: 0x2b7 (the root window) "Enlightenment"
Parent window id: 0x0 (none)
   21 children:
   0xe0002f (has no name): ("evry" "clipboard")  1x1+0+0  +0+0
   0x1200007 (has no name): ()  1x2+1234+5678  +1234+5678
   0x1200001 (has no name): ()  123x456+-77+-777  +-77+-777
   0xe00014 (has no name): ("600" "e_layer_win")  1x1+0+0  +0+0
   0xe00013 (has no name): ("550" "e_layer_win")  1x1+0+0  +0+0
   0xe00012 (has no name): ("500" "e_layer_win")  1x1+0+0  +0+0
   0xe00011 (has no name): ("450" "e_layer_win")  1x1+0+0  +0+0
   0xe00010 (has no name): ("400" "e_layer_win")  1x1+0+0  +0+0
   0xe0000f (has no name): ("350" "e_layer_win")  1x1+0+0  +0+0
   0xe0000e (has no name): ("300" "e_layer_win")  1x1+0+0  +0+0
   0xe0000d (has no name): ("250" "e_layer_win")  1x1+0+0  +0+0
   0xe00002 "Enlightenment": ("comp" "cm_selection")  1x1+0+0  +0+0
   0x1000001 (has no name): ()  7x7+-77+-77  +-77+-77
   0xe00001 (has no name): ()  123x456+-77+-777  +-77+-777
   0x400001 (has no name): ()  10x10+-20+-20  +-20+-20
   0x600001 (has no name): ()  10x10+-20+-20  +-20+-20
   0xe0000c (has no name): ("200" "e_layer_win")  1x1+0+0  +0+0
   0xe04aa1 (has no name): ()  1280x720+41+11  +41+11
      1 child:
      0x1600002 "mpv - The.Lazasur.Effect.2015.720p.HDRip.600MB.MkvCage": ("vdpau" "mpv")  1280x720+0+0  +41+11
   0xe00019 (has no name): ()  1366x768+0+0  +0+0
      1 child:
      0x1200003 "WeeChat 1.1.1": ("main" "terminology")  1366x768+0+0  +0+0
   0xe0000b (has no name): ("150" "e_layer_win")  1x1+0+0  +0+0
   0xe0000a (has no name): ("100" "e_layer_win")  1x1+0+0  +0+0

yup. a stacking problem as well as a visibility problem.

what you have here i think is...

  1. because maximize for you is ACTUALLY fullscreen, comp turns on and off. NOT a driver issue here as .. mpv is stacked ABOVE terminology in the window list. due to this.. it displays above terminology when compositing is off. because we no longer hide the window by just NOT compositing it.
  2. the window, when comp is turned off (mpv) should likely be hidden. in fact all windows other than the "non comp window" (the window that fills the screen) should probably be unmapped, or they must ensure stacking is below ... if on same desktop or another desktop (or screen), or be otherwise moved off screen.

i bet you if you disable "don't composite fullscreen windows" it will work just fine. :) (or have a shelf of an actual titlebar etc.). this smells of a bug that has crept into the compositor.

Disabling Don't composite full screen windows works. Thanks!

zmike added a comment.May 16 2015, 8:28 AM

I'll get to this in a day or two.