I3

Linux,compton,只有一個特定的視窗透明

  • April 29, 2017

是否可以配置 compton 以便只有 gnome-terminal 變得透明?當視窗處於活動狀態和非活動狀態時,它應該是透明的。我使用 i3wm 作為我的 wm。

這是我的compton.conf

# Shadow
#shadow = true;
#no-dnd-shadow = true;
#no-dock-shadow = true;
#clear-shadow = true;
#shadow-radius = 7;
#shadow-offset-x = -7;
#shadow-offset-y = -7;
# shadow-opacity = 0.7;
# shadow-red = 0.0;
# shadow-green = 0.0;
# shadow-blue = 0.0;
shadow-exclude = [
   "name = 'Notification'",
   "class_g = 'Conky'",
   "class_g ?= 'Notify-osd'",
   "class_g = 'Cairo-clock'",
   "_GTK_FRAME_EXTENTS@:c"
];
# shadow-exclude = "n:e:Notification";
# shadow-exclude-reg = "x10+0+0";
# xinerama-shadow-crop = true;

# Opacity
#menu-opacity = 0.8;
opacity-rule = ["80:class_g = 'gnome-terminal'"];
#inactive-opacity = 0.8;
#active-opacity = 1.0;
#frame-opacity = 0.7;
inactive-opacity-override = false;
alpha-step = 0.06;
# inactive-dim = 0.2;
# inactive-dim-fixed = true;
# blur-background = true;
# blur-background-frame = true;
blur-kern = "3x3box";
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
# blur-background-fixed = true;
blur-background-exclude = [
   "window_type = 'dock'",
   "window_type = 'desktop'",
   "_GTK_FRAME_EXTENTS@:c"
];
#opacity-rule = [ "20:class_g = 'gnome-terminal'" ];

# Fading
fading = false;
# fade-delta = 30;
#fade-in-step = 0.03;
#fade-out-step = 0.03;
no-fading-openclose = true;
no-fading-destroyed-argb = true;
fade-exclude = [ ];

# Other
backend = "xrender";
mark-wmwin-focused = true;
mark-ovredir-focused = true;
# use-ewmh-active-win = true;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0;
vsync = "none";
dbe = false;
paint-on-overlay = true;
# sw-opti = true;
# unredir-if-possible = true;
# unredir-if-possible-delay = 5000;
# unredir-if-possible-exclude = [ ];
focus-exclude = [ "class_g = 'Cairo-clock'" ];
detect-transient = true;
detect-client-leader = true;
invert-color-include = [ ];
# resize-damage = 1;

# GLX backend
# glx-no-stencil = true;
glx-copy-from-front = false;
# glx-use-copysubbuffermesa = true;
# glx-no-rebind-pixmap = true;
glx-swap-method = "undefined";
# glx-use-gpushader4 = true;
# xrender-sync = true;
# xrender-sync-fence = true;

# Window type settings
wintypes:
{
 tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; };
};

您幾乎正確,您將G拼錯為g。如果要為應用程序創建特定規則,可以使用xprop來查找:WM_CLASS

$ xprop WM_CLASS <Click on gnome-terminal>
WM_CLASS(STRING) = "gnome-terminal-server", "Gnome-terminal"

這意味著您的規則必須如下所示:

opacity-rule = [ "40:class_g = 'Gnome-terminal'" ];

或使用不區分大小寫的規則:

opacity-rule = [ "40:class_g *?= 'gnome-terminal'" ];

引用自:https://unix.stackexchange.com/questions/361864