jonaburg / picom

A lightweight compositor for X11 (previously a compton fork)
Other
954 stars 98 forks source link

[Solved] Outer segment of windows cut off when swapping positions #63

Open samEngineering opened 2 years ago

samEngineering commented 2 years ago

Greetings. Just want to say, great job on this fork! I love the animations and blurring <3. Looking forward to i3 improving their support for round corners as well :).

Platform

OS: ArcoLinuxB 1.4 amd64 Picom: vgit-a8445

GPU, drivers, and screen setup

GPU: nvidia gtx 1050 (Gigabyte) Driver version: 495.46 Setup: 1 monitor

Environment

i3-gaps

Configuration:

# ANIMATIONS
transition-length = 100;
transition-pow-x = 0.5;
transition-pow-y = 0.5;
transition-pow-w = 0.5;
transition-pow-h = 0.5;
size-transition = true;
spawn-center = true;
no-scale-down = false;

# CORNERS
corner-radius = 8.0;
rounded-corners-exclude = [
  "class_g = 'URxvt'",
  "class_g = 'XTerm'",
  "class_g = 'Polybar'",
  "class_g = 'code-oss'",
];
round-borders = 1;
round-borders-exclude = [];

# SHADOWS
shadow = true;
shadow-radius = 10;
shadow-opacity = 0.6
shadow-offset-x = 1;
shadow-offset-y = 1;
shadow-red = 0;
shadow-green = 0;
shadow-blue = 0;
shadow-exclude = [
  "name = 'Notification'",
  "class_g = 'Conky'",
  "class_g ?= 'Notify-osd'",
  "class_g = 'Cairo-clock'",
  "class_g = 'slop'",
  "class_g = 'Polybar'",
  "_GTK_FRAME_EXTENTS@:c",
];

# FADING
fading = true;
fade-in-step = 1;
fade-out-step = 1;
fade-delta = 50
fade-exclude = [
  "class_g = 'slop'"
];

# OPACITY
inactive-opacity = 0.8;
frame-opacity = 1.0;
popup_menu = { opacity = 0.8; }     # match these with wintypes
dropdown_menu = { opacity = 0.8; }
inactive-opacity-override = true;
active-opacity = 1.0;
inactive-dim = 0.0;
focus-exclude = [
  "class_g = 'Cairo-clock'",
  "class_g = 'Bar'",
  "class_g = 'slop'"
];

# format:  "<percent>:<rule>"
# example: "80:class_g = 'URxvt'"
opacity-rule = [
  "100:class_g = 'Bar'",
  "100:class_g = 'slop'",
  "100:class_g = 'XTerm'",
  "100:class_g = 'URxvt'",
  "100:class_g = 'Alacritty'",
  "100:class_g = 'Polybar'",
  "100:class_g = 'code-oss'",
  "100:class_g = 'Meld'",
  "70:class_g  = 'TelegramDesktop'",
  "90:class_g  = 'Joplin'",
];

# BLURRING
blur: {
  method = "dual_kawase";
  strength = 7;
  background = true;
  background-frame = true;
  background-fixed = false;
  kern = "3x3box";
}

blur-background-exclude = [
  "class_g = 'Polybar'",
  "class_g = 'slop'",      # screenshots?
  "_GTK_FRAME_EXTENTS@:c"  # screenshots?
];

# GENERAL
experimental-backends = true;
backend = "glx";
vsync = true
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-rounded-corners = true;
detect-client-opacity = false;
refresh-rate = 60;
detect-transient = true;
detect-client-leader = true;
log-level = "info";
# log-file = '/path/to/your/log/file'
# xrender-sync-fence = false
# force-win-blend = true;

wintypes: {
  normal = {
    fade = true;
    shadow = true;
  }
  toolbar = {
    fade = true;
    shadow = false;
    blur = false;
  }
  tooltip = {
    fade = true;
    shadow = true;
    opacity = 0.75;
    focus = true;
    full-shadow = false;
  }
  dock = {shadow = false;}
  dnd = {shadow = false;}
  popup_menu = {opacity = 0.8;}
  dropdown_menu = {opacity = 0.8;}
};

# WINTYPES:
# unknown, desktop, dock, toolbar, menu, utility, splash, dialog, normal,
# dropdown_menu, popup_menu, tooltip, notification, combo, dnd

# OPTIONS
# fade, shadow, opacity, focus, full-shadow, redir-ignore

Steps of reproduction

  1. open two windows, tiled side by side.
  2. swap them back and forth horizontally.

Expected behavior

No portion of window is cut off.

Current Behavior

The outermost vertical strip of each window is cut off; i.e., a column of roughly an inch is cut off of the left side of the left window, and same for the right side of the right window.

Other details

Toggling full screen and back restores the missing part of the window. Thanks for your time!

samEngineering commented 2 years ago

I solved this by decreasing the transition-pow-<> variables to 0.1.

Elsie19 commented 2 years ago

This doesn't work for me

newball2814 commented 2 years ago

This doesn't work for me

change all the transition-pow variables to 0.01 solved the issue for me

D3SK3R commented 2 years ago

changing transition-pow to 0.1 doesn't work and anything below 0.1 kinda works but its the same as completely disabling animations