jonaburg / picom

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

Moving floating windows keep freezing #20

Closed vinicius507 closed 3 years ago

vinicius507 commented 3 years ago

Platform

Manjaro Linux - Kernel 5.9.11-3

GPU, drivers, and screen setup

NVIDIA GeForce 940MX, Intel HD Graphics 620 Drivers: video-hybrid-intel-nvidia-455xx-prime

Environment

XMonad

picom version

❯ picom --version
vgit-a8445
❯ picom --diagnostics
[ 09/12/2020 01:56:57.781 parse_kawase_blur_strength INFO ] blur-strength: 1 [.iter = 1, .offset = 1,500000, .expand = 10]
**Version:** vgit-a8445

### Extensions:

* Shape: Yes
* XRandR: Yes
* Present: Present

### Misc:

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

### Drivers (inaccurate):

modesetting

Configuration:

# Animations
# requires https://github.com/jonaburg/picom
transition-length = 175
transition-pow-x = 1
transition-pow-y = 1
transition-pow-w = 1
transition-pow-h = 1
size-transition = true

# Rounded Corners
# requires: https://github.com/sdhand/compton or https://github.com/jonaburg/picom
corner-radius = 5;
rounded-corners-exclude = [
  #"window_type = 'normal'",
#   "class_g = 'awesome'",
#   "class_g = 'URxvt'",
#   "class_g = 'XTerm'",
#   "class_g = 'kitty'",
#   "class_g = 'Alacritty'",
#   "class_g = 'code-oss'",
#   "class_g = 'Thunderbird'",
  # "class_g = 'firefox' && argb",
  "class_g = 'Dunst'",
  "class_g = 'Polybar'",
  "class_g = 'Rofi'",
];
round-borders = 1;
round-borders-exclude = [
  #"class_g = 'TelegramDesktop'",
];

# Shadows
shadow = true;
shadow-radius = 10;
shadow-opacity = .2
shadow-offset-x = -12;
shadow-offset-y = 0; 
# shadow-exclude = 'bounding_shaped && !rounded_corners'
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 = 0.03;
fade-out-step = 0.03;
fade-delta = 4
fade-exclude = [
  "class_g = 'slop'"   # maim
]
# no-fading-openclose = false
# no-fading-destroyed-argb = false

# Transparency
# inactive-opacity = 0.7;
# # frame-opacity = 0.7;
# # popup_menu = { opacity = 0.8; }
# # dropdown_menu = { opacity = 0.8; }
# inactive-opacity-override = false;
# active-opacity = 1.0;
# inactive-dim = 0.8
# focus-exclude = [
#   "class_g = 'Cairo-clock'",
#   "class_g = 'Bar'",                    # lemonbar
#   "class_g = 'slop'"                    # maim
# ];
# inactive-dim-fixed = 1.0
# opacity-rule = [
#   "80:class_g     = 'Bar'",             # lemonbar
#   "100:class_g    = 'slop'",            # maim
#   "100:class_g    = 'XTerm'",
#   "100:class_g    = 'URxvt'",
#   "100:class_g    = 'kitty'",
#   "100:class_g    = 'Alacritty'",
#   "80:class_g     = 'Polybar'",
#   "100:class_g    = 'code-oss'",
#   "100:class_g    = 'Meld'",
#   "70:class_g     = 'TelegramDesktop'",
#   "90:class_g     = 'Joplin'",
#   "100:class_g    = 'firefox'",
#   "100:class_g    = 'Thunderbird'"
# ];

# Background Blur
# requires: https://github.com/ibhagwan/picom
blur: {
  method = "kawase";
  #method = "kernel";
  strength = 1;
  # deviation = 1.0;
  # kernel = "11x11gaussian";
  background = false;
  background-frame = false;
  background-fixed = false;
  kern = "3x3box";
}
blur-background-exclude = [
  "class_g = 'slop'",
  "_GTK_FRAME_EXTENTS@:c"
];

# General
# daemon = false
experimental-backends = true;
backend = "glx";
vsync = true;
# dbus = false
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0
# refresh-rate = 60
detect-transient = true
detect-client-leader = true
use-damage = false
# log-level = "debug"
log-level = "info";
# log-file = '/tmp/picom.log'
wintypes:
{
  normal = { fade = true; shadow = true; }
  tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
  dock = { shadow = false; }
  dnd = { shadow = false; }
  popup_menu = { opacity = 1; corner-radius = 0; }
  dropdown_menu = { opacity = 1; corner-radius = 0; }
};

Steps of reproduction

  1. Spawn a floating window.
  2. Try to move it.

Expected behavior

The window moves normally.

Current Behavior

The window tries to animate the movement and will not follow mouse speed. It will keep "freezing".

Other details

Here's a video showing the issue.

Barbaross93 commented 3 years ago

I've noticed that this happens you set all of the below settings to 1:

transition-pow-x = 1
transition-pow-y = 1
transition-pow-w = 1
transition-pow-h = 1

Setting all of them to something like 0.99 made the stuttering go away

vinicius507 commented 3 years ago

@Barbarossa93 this solved the issue. Thanks!