initial commit

This commit is contained in:
2025-06-03 14:16:01 +03:00
commit 6fed9ef617
683 changed files with 109296 additions and 0 deletions

409
picom/picom.conf Normal file
View File

@@ -0,0 +1,409 @@
#################################
# Shadows #
#################################
# Enabled client-side shadows on windows. Note desktop windows
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
# unless explicitly requested using the wintypes option.
#
# Can be set per-window using rules.
#
# Default: false
shadow = false;
# The blur radius for shadows, in pixels.
#
# Default: 12
shadow-radius = 7;
# The opacity of shadows.
#
# Range: 0.0 - 1.0
# Default: 0.75
# shadow-opacity = .75
# The left offset for shadows, in pixels.
#
# Default: -15
shadow-offset-x = -7;
# The top offset for shadows, in pixels.
#
# Default: -15
shadow-offset-y = -7;
# Hex string color value of shadow. Formatted like "#RRGGBB", e.g. "#C0FFEE".
#
# Default: #000000
# shadow-color = "#000000"
# Crop shadow of a window fully on a particular monitor to that monitor. This is
# currently implemented using the X RandR extension.
#
# Default: false
# crop-shadow-to-monitor = false
#################################
# Fading #
#################################
# Fade windows in/out when opening/closing and when opacity changes,
# unless no-fading-openclose is used. Can be set per-window using rules.
#
# Default: false
fading = true;
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
fade-in-step = 0.07;
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
fade-out-step = 0.07;
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
# fade-delta = 10
# Do not fade on window open/close.
# no-fading-openclose = false
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
# no-fading-destroyed-argb = false
#################################
# Transparency / Opacity #
#################################
# Opacity of window titlebars and borders.
#
# Range: 0.1 - 1.0
# Default: 1.0 (disabled)
#frame-opacity = 0.5;
# Use fixed inactive dim value, instead of adjusting according to window opacity.
#
# Default: false
# inactive-dim-fixed = true
#################################
# Corners #
#################################
# Sets the radius of rounded window corners. When > 0, the compositor will
# round the corners of windows. Does not interact well with
# `transparent-clipping`.
#
# Default: 0 (disabled)
corner-radius = 15
#################################
# Blur #
#################################
blur:
{
method = "dual_kawase";
strength = 3;
};
#################################
# General Settings #
#################################
# Enable remote control via D-Bus. See the man page for more details.
#
# Default: false
# dbus = true
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
# daemon = false
# Specify the backend to use: `xrender`, `glx`, or `egl`.
#
# Default: "xrender"
backend = "glx"
#deprecated
#glx-no-stencil = true;
#deprecated
#glx-no-rebind-pixmap = true;
glx-copy-from-front = true;
unredir-if-possible = false; # true for game performance, breaks overlays
# Use higher precision during rendering, and apply dither when presenting the
# rendered screen. Reduces banding artifacts, but may cause performance
# degradation. Only works with OpenGL.
dithered-present = false;
# Enable/disable VSync.
#
# Default: false
vsync = true;
# Try to detect windows with rounded corners and don't consider them
# shaped windows. The accuracy is not very high, unfortunately.
#
# Has nothing to do with `corner-radius`.
#
# Default: false
detect-rounded-corners = false;
# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers
# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows.
#
# Default: false
detect-client-opacity = true;
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
# rather than listening to 'FocusIn'/'FocusOut' event. May be more accurate,
# provided that the WM supports it.
#
# Default: false
# use-ewmh-active-win = false
# 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.
#
# Default: false
# unredir-if-possible = false
# Delay before unredirecting the window, in milliseconds.
#
# Default: 0.
# unredir-if-possible-delay = 0
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
# in the same group focused at the same time.
#
# Default: false
detect-transient = true;
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
# group focused at the same time. This usually means windows from the same application
# will be considered focused or unfocused at the same time.
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
#
# Default: false
# detect-client-leader = false
# Use of damage information for rendering. This cause the only the part of the
# screen that has actually changed to be redrawn, instead of the whole screen
# every time. Should improve performance.
#
# Default: false
use-damage = true;
# Use X Sync fence to wait for the completion of rendering of other windows,
# before using their content to render the current screen.
#
# Required for explicit sync drivers, such as nvidia.
#
# Default: false
# xrender-sync-fence = false
# GLX backend: Use specified GLSL fragment shader for rendering window
# contents. Read the man page for a detailed explanation of the interface.
#
# Can be set per-window using rules.
#
# window-shader-fg = "default"
# Force all windows to be painted with blending. Useful if you
# have a `window-shader-fg` that could turn opaque pixels transparent.
#
# Default: false
# force-win-blend = false
# Do not use EWMH to detect fullscreen windows.
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
#
# Default: false
# no-ewmh-fullscreen = false
# Dimming bright windows so their brightness doesn't exceed this set value.
# Brightness of a window is estimated by averaging all pixels in the window,
# so this could comes with a performance hit.
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled.
#
# Default: 1.0 (disabled)
# max-brightness = 1.0
# Make transparent windows clip other windows like non-transparent windows do,
# instead of blending on top of them. e.g. placing a transparent window on top
# of another window will cut a "hole" in that window, and show the desktop background
# underneath.
#
# Default: false
# transparent-clipping = false
# Set the log level. Possible values are:
# "trace", "debug", "info", "warn", "error"
# in increasing level of importance. Case insensitive.
# If using the "TRACE" log level, it's better to log into a file
# using *--log-file*, since it can generate a huge stream of logs.
#
# Default: "warn"
# log-level = "warn";
# Set the log file.
# If *--log-file* is never specified, logs will be written to stderr.
# Otherwise, logs will to written to the given file, though some of the early
# logs might still be written to the stderr.
# When setting this option from the config file, it is recommended to use an absolute path.
#
# log-file = "/path/to/your/log/file"
# Write process ID to a file.
# write-pid-path = "/path/to/your/log/file"
# Rule-based per-window options.
#
# See WINDOW RULES section in the man page for how these work.
rules: ({
match = "!focused";
},
{
match = "window_type = 'tooltip'";
fade = false;
shadow = true;
opacity = 0.75;
full-shadow = false;
}, {
match = "window_type = 'docko' || "
"window_type = 'desktop' || "
"_GTK_FRAME_EXTENTS@";
blur-background = false;
}, {
match = "window_type != 'dock'";
# shader = "my_shader.frag";
}, {
match = "window_type = 'dock' || "
"window_type = 'desktop' || "
"name = 'rofi - ' || "
"name = 'rofi - ' || "
"fullscreen";
corner-radius = 0;
}, {
match = "name = 'Notification' || "
"class_g = 'Conky' || "
"class_g ?= 'Notify-osd' || "
"class_g = 'Cairo-clock' || "
"_GTK_FRAME_EXTENTS@";
shadow = false;
}, {
match = "window_type = 'dock'";
blur-background = true;
shadow = false;
}, {
match = "window_type = 'dock'";
blur-background = true;
}, {
match = "name = 'Eww - activate-linux'";
blur-background = false;
}, {
match = "focused";
shadow = true;
}, {
match = "window_type = 'ATOM'";
frame = false;
blur = false;
}, {
match = "!focusedd";
}, {
match = "class_i = 'thunar'";
}, {
match = "name = 'rofi - アプリ'";
animations = (
#{
# triggers = [ "open" ],
# offset-x = {
# curve = "cubic-bezier(0.17, 1.15, 0.68, 1.1)";
# end = 0;
# duration = "duration";
# start = "- offsetx";
# };
# offset-y = {
# curve = "cubic-bezier(0.17, 1.15, 0.68, 1.1)";
# end = 0;
# duration = "duration";
# start = "- offsety";
# };
# shadow-offset-x = "offset-x";
# shadow-offset-y = "offset-y * 1.1";
# # Same as `transition-offset`
# offsetx = "window-x - 456";
# offsety = "window-y - 0";
# # Duration of animation in seconds
# duration = 0.35;
#},
{
triggers = [ "open" ],
preset = "slide-in";
direction = "left";
duration = 0.35;
},
{
triggers = [ "close" ],
preset = "slide-out";
direction = "right";
duration = 0.35;
}
)
}
)
# `@include` directive can be used to include additional configuration files.
# Relative paths are search either in the parent of this configuration file
# (when the configuration is loaded through a symlink, the symlink will be
# resolved first). Or in `$XDG_CONFIG_HOME/picom/include`.
#
# @include "extra.conf"
#
# animations
#
animations = (
{
triggers = [ "open" ];
preset = "appear";
duration = 0.225;
},
{
triggers = [ "close" ];
preset = "disappear";
duration = 0.225;
},
{
triggers = [ "show" ];
preset = "appear";
},
{
triggers = [ "hide" ];
preset = "disappear";
},
{
triggers = [ "geometry" ];
offset-x = {
curve = "cubic-bezier(0.17, 1.15, 0.68, 1.1)";
end = 0;
duration = "duration";
start = "- offsetx";
};
offset-y = {
curve = "cubic-bezier(0.17, 1.15, 0.68, 1.1)";
end = 0;
duration = "duration";
start = "- offsety";
};
shadow-offset-x = "offset-x";
shadow-offset-y = "offset-y * 1.1";
# Same as `transition-offset`
offsetx = "window-x - window-x-before";
offsety = "window-y - window-y-before";
# Duration of animation in seconds
duration = 0.35;
}
)

18
picom/picom.conf.glsl Normal file
View File

@@ -0,0 +1,18 @@
#version 330
in vec2 texcoord;
uniform sampler2D tex;
uniform float opacity;
vec4 default_post_processing(vec4 c);
vec4 window_shader() {
vec2 texsize = textureSize(tex, 0);
vec4 color = texture2D(tex, texcoord / texsize, 0);
color = vec4(vec3(0.2126 * color.r + 0.7152 * color.g + 0.0722 * color.b) * opacity, color.a * opacity);
// color = vec4(0.0, color.g * opacity, 0.0, color.a * opacity);
// color = vec4(color.r * opacity, 0.0, 0.0, color.a * opacity);
return default_post_processing(color);
}

350
picom/picom.conf.old Normal file
View File

@@ -0,0 +1,350 @@
#################################
#
# Backend
#
#################################
# Backend to use: "xrender" or "glx".
# GLX backend is typically much faster but depends on a sane driver.
# backend = "xrender";
# backend = "xr_glx_hybrid";
backend = "glx";
vsync = true;
#################################
#
# GLX backend
#
#################################
glx-no-stencil = true;
# GLX backend: Copy unmodified regions from front buffer instead of redrawing them all.
# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified,
# but a 20% increase when only 1/4 is.
# My tests on nouveau show terrible slowdown.
# Useful with --glx-swap-method, as well.
glx-copy-from-front = false;
# GLX backend: Use MESA_copy_sub_buffer to do partial screen update.
# My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated.
# May break VSync and is not available on some drivers.
# Overrides --glx-copy-from-front.
# glx-use-copysubbuffermesa = true;
# GLX backend: Avoid rebinding pixmap on window damage.
# Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe).
# Recommended if it works.
glx-no-rebind-pixmap = true;
use-damage = false;
# Disabled to avoid artifacts painting under blur transparent windows.
#################################
#
# Shadows
#
#################################
# Enabled client-side shadows on windows.
shadow = true;
# The blur radius for shadows. (default 12)
shadow-radius = 15;
# The left offset for shadows. (default -15)
shadow-offset-x = -15;
# The top offset for shadows. (default -15)
shadow-offset-y = -15;
# The translucency for shadows. (default .75)
shadow-opacity = 1;
# Set if you want different colour shadows
shadow-red = 0.1;
shadow-green = 0.1;
shadow-blue = 0.1;
# shadow-exclude-reg = "x10+0+0";
crop-shadow-to-monitor = false;
# The shadow exclude options are helpful if you have shadows enabled. Due to the way compton draws its shadows, certain applications will have visual glitches
# (most applications are fine, only apps that do weird things with xshapes or argb are affected).
# This list includes all the affected apps I found in my testing. The "! name~=''" part excludes
# shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher.
# shadow-exclude = "n:e:Notification";
shadow-exclude = [
"_GTK_FRAME_EXTENTS@:c",
# Removed to avoid no-shadow in modal dialog windows.
# "! name~=''",
"name = 'Notification'",
"name = 'Plank'",
"name = 'Docky'",
"name = 'Kupfer'",
"name = 'Pensela'",
"name = 'Drawing Board'",
#
# Workaround for VirtualBox empty window at launching
"name = 'VirtualBox'",
"name = 'VirtualBoxVM'",
#
# Avoid shadow in Negatron popups
"name = 'Negatron v0.100.1' && argb",
#
# Avoid shadow for the XFCE alt tab TaskSwitcher
"name ?= 'xfwm4' && argb",
#
# "name *= 'compton'",
"class_g = 'Conky'",
"class_g = 'Kupfer'",
"class_g = 'Synapse'",
"class_g ?= 'Notify-osd'",
"class_g ?= 'Cairo-dock'",
"class_g = 'Cairo-clock'",
"class_g ?= 'Xfce4-notifyd'",
#
# Exclude special Firefox/Firefox-esr/Thunderbird dropdowns.
# Ref: https://github.com/chjj/compton/issues/247
"class_g = 'Thunderbird' && argb",
"class_g = 'Telegram' && argb",
"name ?= 'Thunderbird' && (window_type = 'utility' || window_type = 'popup_menu')",
#
# Exclude some special popup menu shadows, but Modal Windows.
# These are more finetuning thant previous ones:
"class_g ?= 'Thunderbird' && class_i = 'Popup' && argb",
"class_g = 'firefox' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'Firefox' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'firefox-esr' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'Firefox-esr' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'Tor Browser' && (window_type = 'utility') && argb",
"class_g = 'Navegador Tor' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'Thunderbird' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g = 'Mozilla Thunderbird' && (window_type = 'utility' || window_type = 'popup_menu') && argb",
"class_g ?= 'Xfce4-power-manager'",
#
# Exclude Vokoscreen and VokoscreenNG area selector
#
"class_g ?= 'vokoscreen' && argb",
"name = 'Área'",
"name *= 'Cuenta regresiva'",
"_NET_WM_WINDOW_TYPE:a *= '_KDE_NET_WM_WINDOW_TYPE_OVERRIDE'"
# "override_redirect = true"
];
# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
# Deprecated, use --shadow-exclude 'bounding_shaped' or --shadow-exclude 'bounding_shaped && !rounded_corners' instead.
shadow-ignore-shaped = false;
#################################
#
# Opacity
#
#################################
inactive-opacity = 1;
active-opacity = 1;
frame-opacity = 1;
inactive-opacity-override = true;
# Desaturate and darken the inactive windows
# Dim inactive windows. (0.0 - 1.0)
inactive-dim = 0.5;
inactive-dim-fixed = true;
# Do not let dimness adjust based on window opacity.
inactive-dim-fixed = false;
# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred.
#blur-background = true;
# Blur background of opaque windows with transparent frames as well.
#blur-background-frame = true;
# Do not let blur radius adjust based on window opacity.
#blur-background-fixed = true;
#blur-kern = "3x3box";
blur-kern = "5x5box";
#blur-kern = "5x5gaussian";
#blur-kern = "9x9gaussian";
blur-background-exclude = [
"class_g = 'Peek'",
"class_g = 'Pensela'",
"name = 'Drawing Board'",
"window_type = 'dock'",
"window_type = 'dropdown_menu'",
"window_type = 'combo'",
"window_type = 'popup_menu'",
"window_type = 'utility'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c"
];
opacity-exclude = [
"name = 'Stratagus'"
];
#################################
#
# Fading
#
#################################
#fading = true;
# fade-delta = 30;
#fade-in-step = 0.03;
#fade-out-step = 0.03;
fade-in-step = 0.07;
fade-out-step = 0.07;
# no-fading-openclose = true;
# no-fading-destroyed-argb = true;
fade-exclude = [ ];
#################################
#
# OTHER CONFIG
#
#################################
log-level = "warn";
# log-file = "/path/to/your/log/file";
mark-wmwin-focused = true;
mark-ovredir-focused = true;
# use-ewmh-active-win = true;
detect-rounded-corners = true;
detect-client-opacity = true;
# refresh-rate = 0;
corner-radius = 8;
rounded-corners-exclude = [ "window_type = 'dock'" ];
vsync = 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 = 2;
#################################
#
# Window type settings
#
#################################
wintypes:
{
dock = { shadow = true; }
dnd = { shadow = false; }
popup_menu = { opacity = 1; }
dropdown_menu = { opacity = 1; }
# This avoid problems with transparent windows while use-damage = true;.
#normal = { full-shadow = true;};
# tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
};
#################################
#
# Mine
#
#################################
unredir-if-possible = true;
use-damage = true;
# no-ewmh-fullscreen = true;
xinerama-shadow-crop = true;
rules: (
{ match = "fullscreen"; shadow = false; }
)
################################
#
# Animations
#
################################
#animations = ({
# triggers = [ "close", "hide" ];
# preset = "slide-out";
# direction = "down";
#})
#################################
#
# Deprecated
#
#################################
# Avoid drawing shadows on dock/panel windows.
# This option is deprecated, you should use the wintypes option in your config file instead.
# no-dock-shadow = false;
# Don't draw shadows on DND windows.
# This option is deprecated, you should use the wintypes option in your config file instead.
# no-dnd-shadow = false;
# Option `menu-opacity` is deprecated, and will be removed.Please use the wintype option `opacity` of `popup_menu` and `dropdown_menu` instead.
# menu-opacity = 1;
# GLX backend: GLX buffer swap method we assume.
# Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1).
# undefined is the slowest and the safest, and the default value.
# copy is fastest, but may fail on some drivers,
# 2-6 are gradually slower but safer (6 is still faster than 0).
# Usually, double buffer means 2, triple buffer means 3.
# buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers.
# Useless with --glx-use-copysubbuffermesa.
# Partially breaks --resize-damage.
# Defaults to undefined.
# glx-swap-method has been deprecated since v6, your setting "undefined" should be replaced by `use-damage = true`
# glx-swap-method = "undefined";
# Zero the part of the shadow's mask behind the window. Fix some weirdness with ARGB windows.
# "clear-shadow" is removed as an option, and is always enabled now. Consider removing it from your config file
# clear-shadow = true;
# "alpha-step" has been removed, compton now tries to make use of all alpha values
# alpha-step = 0.06;