Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Top ~20 pixels on mpv aren't 100% opaque #553

Closed
ThibaultNocchi opened this issue Dec 1, 2020 · 4 comments
Closed

Top ~20 pixels on mpv aren't 100% opaque #553

ThibaultNocchi opened this issue Dec 1, 2020 · 4 comments

Comments

@ThibaultNocchi
Copy link

Platform

Ubuntu 20.10 amd64

GPU, drivers, and screen setup

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel (0x8086)
    Device: Mesa Intel(R) UHD Graphics 620 (KBL GT2) (0x5917)
    Version: 20.2.1
    Accelerated: yes
    Video memory: 3072MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) UHD Graphics 620 (KBL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.2.1
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.2.1
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.2.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Environment

I'm using basic i3 v4.19.

picom version

vgit-bb54d (latest next at time of issue creation)

Configuration:

shadow = true;

shadow-radius = 7;

shadow-offset-x = -7;

shadow-offset-y = -7;

shadow-exclude = [
  "name = 'Notification'",
  "class_g = 'Conky'",
  "class_g ?= 'Notify-osd'",
  "class_g = 'Cairo-clock'",
  "_GTK_FRAME_EXTENTS@:c"
];

fading = true;
fade-in-step = 0.02;
fade-out-step = 0.03;
fade-delta = 7

inactive-opacity = 0.85;
frame-opacity = 0.7;
inactive-opacity-override = false;
focus-exclude = [ "class_g = 'Cairo-clock'" ];
opacity-rule = [
	"100:_NET_WM_STATE@:32a = '_NET_WM_STATE_FULLSCREEN'",
	"60:class_g = 'URxvt' && !focused",
	"100:class_g = 'zoom' && !focused",
	"100:class_g = 'mpv' && !focused"
];

blur-strength = 3;
blur-background = true;
blur-kern = "3x3box";
blur-background-exclude = [
	"class_g = 'slop'",
	"window_type = 'dock'",
	"window_type = 'desktop'",
	"_GTK_FRAME_EXTENTS@:c",
	"window_type = 'menu'",
	"window_type = 'toolbar'",
	"window_type = 'dropdown_menu'",
	"window_type = 'popup_menu'",
	"window_type = 'utility'"
];

backend = "glx";
vsync = true;
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0;
detect-transient = true;
detect-client-leader = true;
use-damage = true;
log-level = "warn";

wintypes:
{
  tooltip = { shadow = false; };
  dock = { shadow = false; }
  dnd = { shadow = false; }
  popup_menu = { opacity = 1; shadow = false; }
  dropdown_menu = { opacity = 1; shadow = false; }
  utility = { opacity = 1; shadow = false; }
};

Steps of reproduction

  1. Open mpv, either with a video or the idle desktop view.

Expected behavior

Having a full opaque window.

Current Behavior

The top of the window isn't opaque.

Stack trace

Other details

print_screen_2020-12-01-19-23-03
print_screen_2020-12-01-19-22-50

@tryone144
Copy link
Collaborator

The window should be rendered correctly when frame-opacity = 1; is set.
Please check if xprop _NET_FRAME_EXTENTS outputs something along the lines of _NET_FRAME_EXTENTS(CARDINAL) = 2, 2, 20, 2 for that window. If so, this is a duplicate of #547.

@ThibaultNocchi
Copy link
Author

Thanks, it worked! Here is the output nonetheless:
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 18, 0
What does it mean?

Thanks a lot for being so quick, and sorry for putting a duplicate!

@tryone144
Copy link
Collaborator

What does it mean?

The _NET_WM_FRAME_EXTENTS property is used by a window manager to indicate the size of the window's borders in pixels. I am not quite sure why mpv sets these by themselves as i3 doesn't care to add them.

@ThibaultNocchi
Copy link
Author

Ok, it's clear, thanks for your help, have a nice day!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants