You are not logged in.

#1 2024-12-04 14:14:07

donperawn
Member
Registered: 2024-12-04
Posts: 7

[SOLVED] picom doesent work on alacritty

this is my picom config and the alacrity config( I have a theme I found). I dont know why it doesent work. I edited the [window] table in alacritty.toml but I want the opacity to change if I'm focused or not. I have tried litterally everything. This is just one of the many picom configs I tried. Many different sytaxes including the one on the man page, reddit ones. I tried it all. It must be some different issue because after I changed the alacritty.toml  window table and the background was transparent for a bit, I changed some alacritty rules and the transparency went away, even when I commented the rules. I dont think I'm using it right or there is something else I should change and I can't seem to find anything online so I'm asking. I hope I'm not breaking the rules asking such a saturated question.


#################################
#             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 = true;

# 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.03;

# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
fade-out-step = 0.03;

# 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.9;

# Use fixed inactive dim value, instead of adjusting according to window opacity.
#
# Default: false
# inactive-dim-fixed = true
enable-opacity = 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 = 0

#################################
#            Blur               #
#################################

# Parameters for background blurring, see BLUR section in the man page for more information.
# blur-method =
# blur-size = 12
#
# blur-deviation = false
#
# blur-strength = 5

# Blur background of semi-transparent / ARGB windows.
# Can be set per-window using rules.
#
# Default: false
# blur-background = false

# Blur background of windows when the window frame is not opaque.
# Implies:
#    blur-background
#
# Default: false
# blur-background-frame = false

# Use fixed blur strength rather than adjusting according to window opacity.
#
# Default: false
# blur-background-fixed = false


# Specify the blur convolution kernel, with the following format:
# example:
#   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";
# Can also be a pre-defined kernel, see the man page.
#
# Default: ""
blur-kern = "3x3box";

#################################
#       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"

# 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 = true;

# 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 = "window_type = 'tooltip'";
  fade = false;
  shadow = true;
  opacity = 0.75;
  full-shadow = false;
}, {
  match = "window_type = 'dock'    || "
          "window_type = 'desktop' || "
          "_GTK_FRAME_EXTENTS@";
  blur-background = false;
}, {
  match = "window_type != 'dock'";
  # shader = "my_shader.frag";
}, {
  match = "window_type = 'dock' || "
          "window_type = 'desktop'";
  corner-radius = 0;
}, {
  match = "name = 'Notification'   || "
          "class_g = 'Conky'       || "
          "class_g ?= 'Notify-osd' || "
          "class_g = 'Cairo-clock' || "
          "_GTK_FRAME_EXTENTS@";
  shadow = false;
}
)

  rules : (
    { match = { "class_g = 'Alacritty'" }, opacity = 0.7 },  
    { match = { "class_g = 'Alacritty'", "focused = false" }, opacity = 0.5 } 
)


# `@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"

Alacritty config

# $HOME/.config/alacritty/alacritty.toml
# by Rito Ghosh 2023-10-06

# Alacritty now uses TOML formatting for its config files.
# This is a simple example.

# There are the specification here: https://github.com/alacri>
# It is not obvious how it translates to TOML. But it is extr>

# example: WINDOW, COLORS, etc. are tables, and should be rep>
# specifics of variables go under them. e.g.- look under "dyn>
# https://github.com/alacritty/alacritty/blob/master/extra/ma>
# write `dynamic_padding = true` (without backticks -`) under>
# for variables with multiple values, use "dotted keys". Like>
# This is simple. If not clear, do several trials and errors.

# Below is my initial set-up. The TOML homepage (https://toml>

[colors.primary]
background = "#232627"
foreground = "#fcfcfc"
dim_foreground = "#eff0f1"
bright_foreground = "#ffffff"

# bright_background = "#000000"
# dim_background = "#31363b"
#background_opacity = 0.7

[colors.normal]
black = "#232627"
red = "#ed1515"
green = "#11d116"
yellow = "#f67400"
blue = "#1d99f3"
magenta = "#9b59b6"
cyan = "#1abc9c"
white = "#fcfcfc"

[colors.bright]
black = "#7f8c8d"
red = "#c0392b"
green = "#1cdc9a"
yellow = "#fdbc4b"
blue = "#3daee9"
magenta = "#8e44ad"
cyan = "#16a085"
white = "#ffffff"

[colors.dim]
black = "#31363b"
red = "#783228"
green = "#17a262"
yellow = "#b65619"
blue = "#1b668f"
magenta = "#614a73"
cyan = "#186c60"
white = "#63686d"

Last edited by donperawn (2024-12-12 19:20:12)

Offline

#2 2024-12-04 16:08:46

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,664

Re: [SOLVED] picom doesent work on alacritty

If you want an ARGB alacritty (translucent background, but opaque text)

[window]
opacity = 0.7

Picom can change the opacity of the entire window (background on text) depending on the focus state (inactive windows at 0.5 and active ones at 1.0) and discriminate windows with rules, but it looks like you added a second rule table and idk at hand whether that's supported and also the sytax is bogus, https://wiki.archlinux.org/title/Picom#Opacity

Offline

#3 2024-12-12 14:31:44

donperawn
Member
Registered: 2024-12-04
Posts: 7

Re: [SOLVED] picom doesent work on alacritty

seth wrote:

If you want an ARGB alacritty (translucent background, but opaque text)

[window]
opacity = 0.7

Picom can change the opacity of the entire window (background on text) depending on the focus state (inactive windows at 0.5 and active ones at 1.0) and discriminate windows with rules, but it looks like you added a second rule table and idk at hand whether that's supported and also the sytax is bogus, https://wiki.archlinux.org/title/Picom#Opacity


Thanks, thats what I ended up doing! How do I marked as solved?

Offline

#4 2024-12-12 17:46:48

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,664

Re: [SOLVED] picom doesent work on alacritty

Mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.

Offline

Board footer

Powered by FluxBB