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

Full screen window cancels transparency and rounded corners properties of other windows #1127

Open
RiccardoBarbieri opened this issue Sep 13, 2023 · 3 comments

Comments

@RiccardoBarbieri
Copy link

Platform

Ubuntu 22.04

GPU, drivers, and screen setup

NVidia RTX 3070, nvidia-driver-470.199.02, two monitors side-by-side with xrandr
glxinfo -B
`name of display: :0
display: :0 screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 8192 MB
Total available memory: 8192 MB
Currently available dedicated video memory: 7642 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce RTX 3070/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 470.199.02
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6.0 NVIDIA 470.199.02
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)

OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 470.199.02
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
`

Environment

i3-gaps

picom version

Picom v9

Diagnostics `**Version:** v9

Extensions:

  • Shape: Yes
  • XRandR: Yes
  • Present: Present

Misc:

  • Use Overlay: No
    (Another compositor is already running)
  • Config file used: /home/riccardoob/.config/picom/picom.conf

Drivers (inaccurate):

NVIDIA

Backend: glx

  • Driver vendors:
  • GLX: NVIDIA Corporation
  • GL: NVIDIA Corporation
  • GL renderer: NVIDIA GeForce RTX 3070/PCIe/SSE2
    `

Configuration:

Configuration file
# Rounded corners

corner-radius 		= 10;

# Shadows
shadow                  = true;
xinerama-shadow-crop    = true;
shadow-radius           = 15;
shadow-offset-x         = -10;
shadow-offset-y         = -10;
shadow-opacity          = 0.25;
shadow-exclude 		= [ "class_g = 'Polybar'"];

# Blur
blur-background     = true;
inactive-opacity	= 0.8;
#inactive-dim        = 0.5;
#frame-opacity 		= 0.2;
focus-exclude = [ "class_g = 'Plex'", "class_g = 'Gnome-terminal'" ];

# Fading
fading                  = true;
fade-delta              = 6;
fade-in-step            = 0.05;
fade-out-step           = 0.05;

# Other
backend              	= "glx";
vsync                	= true;
use-damage		= true 
glx-copy-from-front  	= false;
glx-no-rebind-pixmap 	= true;
glx-no-stencil       	= true;
unredir-if-possible  	= true;
xrender-sync-fence   	= true;
refresh-rate            = 144;
mark-wmwin-focused      = true;
mark-ovredir-focused    = false;
detect-rounded-corners  = true;
detect-client-opacity   = true;


unredir-if-possible-exclude = [
  "class_g = 'Vlc'",
  "class_g = 'Firefox'",
  "class_g = 'Google-chrome'",
  "class_g = 'Smplayer'"
];

Steps of reproduction

  1. Attach second monitor and use the following xrandr command to configure the two monitors: xrandr --output HDMI-0 --rate 144 --mode 1920x1080 --primary --left-of DP-0 --output DP-0 --mode 1920x1080 --rate 75
  2. Put Plex or Intellij IDEA in one monitor and put it in full screen
    I noticed this behaviour only with the applications Plex and Intellij IDEA

Expected behavior

All windows respect the specified transparency, rounded corners and focus properties

Current Behavior

All the other visible windows loose rounded corners, transparency and focus properties

When the window is in full screen the other windows loose transparency, rounded corners and focus properties but only if the full screen window is focused (like showed in the second image)
error
error2

Without full screen things look this way
noerror

@absolutelynothelix
Copy link
Collaborator

try setting unredir-if-possible to false.

@RiccardoBarbieri
Copy link
Author

That fixed it, thanks! What does to unredirect windows mean?

@absolutelynothelix
Copy link
Collaborator

from the man page:

--unredir-if-possible
Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows. Known to cause flickering when redirecting/unredirecting windows.

roughly speaking, when there is a full screen opaque window picom stops compositing to maximize performance e.g. in games. unfortunately, that's known to be sketchy when there are multiple monitors (actually, a lot of things known to be sketchy in such case...).

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

No branches or pull requests

2 participants