Added Picom configuration file
This commit is contained in:
		
							parent
							
								
									760bb8d213
								
							
						
					
					
						commit
						84c16e3b24
					
				
							
								
								
									
										639
									
								
								org/config/picom.org
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										639
									
								
								org/config/picom.org
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,639 @@
 | 
			
		||||
#+title: Phundrak’s Picom Configuration
 | 
			
		||||
#+INCLUDE: headers.org
 | 
			
		||||
#+OPTIONS: auto-id:t
 | 
			
		||||
#+HTML_HEAD_EXTRA: <meta name="description" content="Phundrak’s Picom Configuration" />
 | 
			
		||||
#+HTML_HEAD_EXTRA: <meta property="og:title" content="Phundrak’s Picom Configuration" />
 | 
			
		||||
#+HTML_HEAD_EXTRA: <meta property="og:description" content="Description of the Picom configuration of Phundrak" />
 | 
			
		||||
#+PROPERTY: header-args:conf :comments link :exports code :tangle ~/.config/picom/picom.conf
 | 
			
		||||
#+STARTUP: content
 | 
			
		||||
 | 
			
		||||
* Table of Contents                                        :TOC:noexport:
 | 
			
		||||
  :PROPERTIES:
 | 
			
		||||
  :CUSTOM_ID: h-f61204c4-beb8-4008-b02e-55eae4e8f163
 | 
			
		||||
  :END:
 | 
			
		||||
 | 
			
		||||
- [[#introduction][Introduction]]
 | 
			
		||||
- [[#shadows][Shadows]]
 | 
			
		||||
  - [[#deprecated-options][Deprecated options]]
 | 
			
		||||
- [[#fading][Fading]]
 | 
			
		||||
- [[#transparency-and-opacity][Transparency and opacity]]
 | 
			
		||||
- [[#background-blurring][Background blurring]]
 | 
			
		||||
- [[#general-settings][General settings]]
 | 
			
		||||
  - [[#glx-backend-specific-options][GLX backend-specific options]]
 | 
			
		||||
 | 
			
		||||
* Introduction
 | 
			
		||||
  :PROPERTIES:
 | 
			
		||||
  :CUSTOM_ID: h-2280c387-9a3a-4df1-a101-3be4fbc7cef4
 | 
			
		||||
  :END:
 | 
			
		||||
  Picom  is the  successor  to Compton,  a standalone  compositor  for Xorg.  It
 | 
			
		||||
  provides  compositing for  WM  that do  not  provide  any, such  as  i3. I  am
 | 
			
		||||
  currently using  [[https://github.com/ibhagwan/picom][ibhagwan’s fork of  compton]] which provides  the ~dual-kawase~
 | 
			
		||||
  blur from [[https://github.com/tryone144/compton][tryone’s compton]] and rounded corners from [[https://github.com/sdhand/picom][sdhand’s compton]].
 | 
			
		||||
 | 
			
		||||
* Shadows
 | 
			
		||||
  :PROPERTIES:
 | 
			
		||||
  :CUSTOM_ID: h-8fb60f60-8ba6-40cc-881b-a2a77b51e954
 | 
			
		||||
  :END:
 | 
			
		||||
  The following  enables 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.
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    shadow = false;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  The blur radius radius  for shadows is measured in pixels,  and it defaults to
 | 
			
		||||
  12px.
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    shadow-radius = 7;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Picom can also apply some level of opacity on shadows.
 | 
			
		||||
  - Default value :: ~0.75~
 | 
			
		||||
  - Min value :: ~0.0~
 | 
			
		||||
  - Max value :: ~1.0~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    shadow-opacity = 0.85
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  The left and top offsets for shadows are expressed in pixels.
 | 
			
		||||
  - Default value :: ~-15~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    shadow-offset-x = -5;
 | 
			
		||||
    shadow-offset-y = -5;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  The following  values have an  impact on the  shadow’s RGB color.
 | 
			
		||||
  - Default value :: ~0.0~
 | 
			
		||||
  - Min value :: ~0.0~
 | 
			
		||||
  - Max value :: ~1.0~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    shadow-red = 0.0;
 | 
			
		||||
    shadow-green = 0.0;
 | 
			
		||||
    shadow-blue = 0.0;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  It is possible to specify a list  of conditions of windows that should have no
 | 
			
		||||
  shadow.
 | 
			
		||||
  - Default value :: ~[]~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    shadow-exclude = [
 | 
			
		||||
      "name = 'Notification'",
 | 
			
		||||
      "class_g = 'Conky'",
 | 
			
		||||
      "class_g ?= 'Notify-osd'",
 | 
			
		||||
      "class_g = 'Cairo-clock'",
 | 
			
		||||
      "_GTK_FRAME_EXTENTS@:c"
 | 
			
		||||
    ];
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  It is  also possible  to specify an  X geometry that  describes the  region in
 | 
			
		||||
  which shadows  should not  be painted in,  such as a  dock window  region. For
 | 
			
		||||
  example,
 | 
			
		||||
  #+BEGIN_SRC conf :tangle no
 | 
			
		||||
    # shadow-exclude-reg = "x10+0+0"
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
  would make  the 10  pixels at  the bottom of  the screen  not have  any shadow
 | 
			
		||||
  painted on.
 | 
			
		||||
  - Default value :: ~""~
 | 
			
		||||
  #+BEGIN_SRC conf :tangle no
 | 
			
		||||
    shadow-exclude-reg = ""
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Finally,  it is  also possible  to crop  the  shadow of  a window  fully on  a
 | 
			
		||||
  particular Xinerama screen to the screen.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    xinerama-shadow-crop = false
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
** Deprecated options
 | 
			
		||||
   :PROPERTIES:
 | 
			
		||||
   :CUSTOM_ID: h-c00a180b-abdc-48df-ba1e-17c486934274
 | 
			
		||||
   :HEADER-ARGS:conf: :tangle no
 | 
			
		||||
   :END:
 | 
			
		||||
   Options in this subheader *will not* be exported to my configuration file.
 | 
			
		||||
 | 
			
		||||
   Thanks  to this  value, Picom  can  avoid drawing  shadows on  dock or  panel
 | 
			
		||||
   windows.  This option  is deprecated,  and  users should  use the  ~wintypes~
 | 
			
		||||
   option in their config file instead.
 | 
			
		||||
   - Default value :: ~false~
 | 
			
		||||
   #+BEGIN_SRC conf
 | 
			
		||||
     no-dock-shadow = false;
 | 
			
		||||
   #+END_SRC
 | 
			
		||||
 | 
			
		||||
   This option allows Picom not to draw on drag-and-drop windows. This option is
 | 
			
		||||
   deprecated, and users  should use the ~wintypes~ option in  their config file
 | 
			
		||||
   instead.
 | 
			
		||||
   - Default value :: ~false~
 | 
			
		||||
   #+BEGIN_SRC conf
 | 
			
		||||
     no-dnd-shadow = false;
 | 
			
		||||
   #+END_SRC
 | 
			
		||||
 | 
			
		||||
   ~shadow-ignore-shaped~ is also  deprecated. It used to indicate  Picom not to
 | 
			
		||||
   paint  shadows on  shaped windows.  Note  shaped windows  here means  windows
 | 
			
		||||
   setting their  shape through X  Shape extension. Those using  ARGB background
 | 
			
		||||
   are beyond Picom’s control. Since it is deprecated, you could instead use
 | 
			
		||||
   #+BEGIN_SRC conf :tangle no
 | 
			
		||||
     shadow-exclude = 'bounding_shaped'
 | 
			
		||||
   #+END_SRC
 | 
			
		||||
   or
 | 
			
		||||
   #+BEGIN_SRC conf :tangle no
 | 
			
		||||
     shadow-exclude = 'bounding_shaped && !rounded_corners'
 | 
			
		||||
   #+END_SRC
 | 
			
		||||
   - Default value :: ~""~
 | 
			
		||||
   #+BEGIN_SRC conf :tangle no
 | 
			
		||||
     shadow-ignore-shaped = ""
 | 
			
		||||
   #+END_SRC
 | 
			
		||||
 | 
			
		||||
* Fading
 | 
			
		||||
  :PROPERTIES:
 | 
			
		||||
  :CUSTOM_ID: h-650f6479-4579-4114-9732-dfaabe7e1d22
 | 
			
		||||
  :END:
 | 
			
		||||
  Picom has the ability to create some fading effects on windows when opening or
 | 
			
		||||
  closing  or when  the opacity  changes. The  following parameter  toggles this
 | 
			
		||||
  feature   on   or  off.   However,   its   behavior   can  be   changed   with
 | 
			
		||||
  ~no-fading-openclose~.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    fading = true
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  These values  controls the opacity  change between  steps while fading  in and
 | 
			
		||||
  out.
 | 
			
		||||
  - Default value :: ~0.028~ (fade-in), ~0.03~ (fade-out)
 | 
			
		||||
  - Min value :: ~0.01~
 | 
			
		||||
  - Max value :: ~1.0~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    fade-in-step = 0.09;
 | 
			
		||||
    fade-out-step = 0.08;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  This value represents the time between steps in fade steps, in milliseconds.
 | 
			
		||||
  - Default value :: ~10~
 | 
			
		||||
  - Min value :: ~1~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    fade-delta = 20;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  It  is possible  to exclude  some  windows that  should  not be  faded with  a
 | 
			
		||||
  specified list of conditions.
 | 
			
		||||
  - Default value :: ~[]~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    fade-exclude = [ "class_g = 'mpv'" ];
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  This option allows Picom not to create any fade on windows opening or closing.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    no-fading-openclose = true;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Finally, this  option is a workaround  for Openbox, Fluxbox and  others by not
 | 
			
		||||
  fading destroyed ARGB windows with WM frame.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    no-fading-destroyed-argb = false
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
* Transparency and opacity
 | 
			
		||||
  :PROPERTIES:
 | 
			
		||||
  :CUSTOM_ID: h-7c4d53bd-ea82-4800-89be-f528f3ff1208
 | 
			
		||||
  :END:
 | 
			
		||||
  Picom  is also  able  to  create some  opacity  or  transparency for  windows,
 | 
			
		||||
  depending on  their state  or on  some user-defined  rules. For  instance, the
 | 
			
		||||
  following value describes the opacity of inactive windows.
 | 
			
		||||
  - Default value :: ~1.0~
 | 
			
		||||
  - Min value :: ~0.1~
 | 
			
		||||
  - Max value :: ~1.0~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    inactive-opacity = 0.6;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  On the  other hand,  it is possible  to declare a  default opacity  for active
 | 
			
		||||
  windows.
 | 
			
		||||
  - Default value :: ~1.0~
 | 
			
		||||
  - Min value :: ~0.1~
 | 
			
		||||
  - Max value :: ~1.0~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    active-opacity = 1;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  This however describes the opacity of window titlebars and borders.
 | 
			
		||||
  - Default value :: ~1.0~
 | 
			
		||||
  - Min value :: ~0.1~
 | 
			
		||||
  - Max value :: ~1.0~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    frame-opacity = 1.0;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  ~menu-opacity~ describes the opacity for dropdown menus and popup menus.
 | 
			
		||||
  - Default value :: ~1.0~
 | 
			
		||||
  - Min value :: ~0.1~
 | 
			
		||||
  - Max value :: ~1.0~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    # menu-opacity = 0.9;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  ~inactive-opacity-override~ allows  the user  to let  inactive opacity  set by
 | 
			
		||||
  ~-i~ override the ~_NET_WM_OPACITY_ values of windows.
 | 
			
		||||
  - Default value :: ~true~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    inactive-opacity-override = true;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  While it is possible to alter opacity on inactive windows, it is also possible
 | 
			
		||||
  to dim them.
 | 
			
		||||
  - Default value :: ~1.0~
 | 
			
		||||
  - Min value :: ~0.1~
 | 
			
		||||
  - Max value :: ~1.0~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    # inactive-dim = 1.0
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  It is also  possible to use a  fixed inactive dim value,  instead of adjusting
 | 
			
		||||
  according to window opacity.
 | 
			
		||||
  - Default value :: ~1.0~
 | 
			
		||||
  - Min value :: ~0.1~
 | 
			
		||||
  - Max value :: ~1.0~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    # inactive-dim-fixed = 1.0
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  It is  also possible to  specify a list of  conditions of windows  that should
 | 
			
		||||
  always be considered focused.
 | 
			
		||||
  - Default value :: ~[]~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    focus-exclude = [ "class_g = 'mpv'" ];
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  The  user  can   also  specify  a  list  of  opacity   rules,  in  the  format
 | 
			
		||||
  ~PERCENT:PATTERN~,  like ~50:name  *= "Firefox"~.  picom-trans is  recommended
 | 
			
		||||
  over this.  Note we  don't make  any guarantee  about possible  conflicts with
 | 
			
		||||
  other programs that  set ~_NET_WM_WINDOW_OPACITY~ on frame  or client windows.
 | 
			
		||||
  - Default value :: ~[]~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    opacity-rule = [
 | 
			
		||||
      "85:class_g = 'Polybar'",
 | 
			
		||||
      # "55:class_g *?= 'Rofi'",
 | 
			
		||||
      "80:class_g = 'St'",
 | 
			
		||||
    ];
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
* Background blurring
 | 
			
		||||
  :PROPERTIES:
 | 
			
		||||
  :CUSTOM_ID: h-e40a644d-b594-41f0-9aca-307f77c456ba
 | 
			
		||||
  :END:
 | 
			
		||||
  The following  are the  parameters for background  blurring, see  the \*BLUR\*
 | 
			
		||||
  section for more information.
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    blur-method = "kawase";
 | 
			
		||||
    blur-size = 5;
 | 
			
		||||
    blur-deviation = false;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  This value enables or disables the blur for the background of semi-transparent
 | 
			
		||||
  or  ARGB  windows.  It  has bad  performances  though,  with  driver-dependent
 | 
			
		||||
  behavior. The name of the switch may change without prior notifications.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    blur-background = true;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Blur background of windows when the window  frame is not opaque. If true, this
 | 
			
		||||
  implies the value ~true~ for ~blur-background~.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    blur-background-frame = true;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  The following determines whether to use fixed blur strength rather than
 | 
			
		||||
  adjusting according to window opacity.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    blur-background-fixed = false;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Specify     the    blur     convolution     kernel,     with    the     format
 | 
			
		||||
  ~"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"~.
 | 
			
		||||
  - Default value :: ~''~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    # 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";
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  It is possible to write exclude conditions for background blur.
 | 
			
		||||
  - Default value :: ~[]~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    blur-background-exclude = [
 | 
			
		||||
      "window_type = 'desktop'",
 | 
			
		||||
      "class_g = 'Polybar'",
 | 
			
		||||
      "_GTK_FRAME_EXTENTS@:c"
 | 
			
		||||
    ];
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
* General settings
 | 
			
		||||
  :PROPERTIES:
 | 
			
		||||
  :CUSTOM_ID: h-09a57a66-f298-4e04-880a-6d4dbb00a28a
 | 
			
		||||
  :END:
 | 
			
		||||
  Daemonize process. Fork to background after initialization. Causes issues
 | 
			
		||||
  with certain (badly-written) drivers.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    daemon = true;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Picom has  three backends it  can use: ~xrender~, ~glx~,  and ~xr_glx_hybrid~.
 | 
			
		||||
  GLX backend is typically much faster but depends on a sane driver.
 | 
			
		||||
  - Default value :: ~xrender~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    backend = "glx";
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  This enables or disables VSync.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    vsync = true;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Enable remote control via D-Bus. See  the \*D-BUS API\* section below for more
 | 
			
		||||
  details.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    dbus = false;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Try to  detect WM windows (a  non-override-redirect window with no  child that
 | 
			
		||||
  has ~WM_STATE~) and markz them as active.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    mark-wmwin-focused = true;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  Mark  override-redirect  windows  that  doesn't   have  a  child  window  with
 | 
			
		||||
  ~WM_STATE~ focused.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    mark-ovredir-focused = true;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Try to  detect windows  with rounded  corners and  don't consider  them shaped
 | 
			
		||||
  windows. The accuracy is not very high, unfortunately.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    detect-rounded-corners = true;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Detect ~_NET_WM_OPACITY~  on client  windows, useful  for window  managers not
 | 
			
		||||
  passing ~_NET_WM_OPACITY~ of client windows to frame windows.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    detect-client-opacity = true;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Specify refresh  rate of  the screen. If  not specified or  0, picom  will try
 | 
			
		||||
  detecting this with X RandR extension.
 | 
			
		||||
  - Default value :: ~60~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    refresh-rate = 60;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Limit picom to repaint  at most once every 1 /  ~refresh_rate~ second to boost
 | 
			
		||||
  performance. This should not be used with
 | 
			
		||||
  #+BEGIN_SRC text :tangle no
 | 
			
		||||
    vsync drm/opengl/opengl-oml
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
  as they essentially  does sw-opti's job already, unless you  wish to specify a
 | 
			
		||||
  lower refresh rate than the actual value.
 | 
			
		||||
  - Default value :: ~""~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    # sw-opti =;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Use EWMH  ~_NET_ACTIVE_WINDOW~ to  determine currently focused  window, rather
 | 
			
		||||
  than  listening  to  ~FocusIn~/~FocusOut~  event. Might  have  more  accuracy,
 | 
			
		||||
  provided that the WM supports it.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    # use-ewmh-active-win = false;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  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. paint-on-overlay  may make  the flickering
 | 
			
		||||
  less obvious.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    unredir-if-possible = false;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Delay before unredirecting the window, in milliseconds.
 | 
			
		||||
  - Default value :: ~0~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    unredir-if-possible-delay = 0;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Conditions   of  windows   that  shouldn't   be  considered   full-screen  for
 | 
			
		||||
  unredirecting screen.
 | 
			
		||||
  - Default value :: ~[]~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    unredir-if-possible-exclude = [];
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Use  ~WM_TRANSIENT_FOR~ to  group windows,  and consider  windows in  the same
 | 
			
		||||
  group focused at the same time.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    detect-transient = true;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Use  ~WM_CLIENT_LEADER~ to  group windows,  and consider  windows in  the same
 | 
			
		||||
  group  focused at  the same  time. ~WM_TRANSIENT_FOR~  has higher  priority if
 | 
			
		||||
  detect-transient is enabled, too.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    detect-client-leader = true;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Resize  damaged region  by  a  specific number  of  pixels.  A positive  value
 | 
			
		||||
  enlarges it while a  negative one shrinks it. If the  value is positive, those
 | 
			
		||||
  additional pixels  will not be actually  painted to screen, only  used in blur
 | 
			
		||||
  calculation, and such.  (Due to technical limitations,  with use-damage, those
 | 
			
		||||
  pixels will still be incorrectly painted to screen.) Primarily used to fix the
 | 
			
		||||
  line corruption issues of  blur, in which case you should  use the blur radius
 | 
			
		||||
  value here (e.g. with a 3x3 kernel, you should use ~--resize-damage 1~, with a
 | 
			
		||||
  5x5 one  you use ~--resize-damage  2~, and  so on). May  or may not  work with
 | 
			
		||||
  *--glx-no-stencil*. Shrinking doesn't function correctly.
 | 
			
		||||
  - Default value :: ~1~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    resize-damage = 1;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Specify a list  of conditions of windows that should  be painted with inverted
 | 
			
		||||
  color. Resource-hogging, and is not well tested.
 | 
			
		||||
  - Default value :: ~[]~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    invert-color-include = [];
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Disable  the use  of damage  information. This  cause the  whole screen  to be
 | 
			
		||||
  redrawn everytime,  instead of the  part of  the screen has  actually changed.
 | 
			
		||||
  Potentially  degrades  the performance,  but  might  fix some  artifacts.  The
 | 
			
		||||
  opposing option is use-damage
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    use-damage = false;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Use X Sync fence to sync clients' draw  calls, to make sure all draw calls are
 | 
			
		||||
  finished  before  picom starts  drawing.  Needed  on nvidia-drivers  with  GLX
 | 
			
		||||
  backend for some users.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    xrender-sync-fence = false;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Force  all  windows  to  be  painted  with blending.  Useful  if  you  have  a
 | 
			
		||||
  glx-fshader-win that could turn opaque pixels transparent.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    force-win-blend = false;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Do not use EWMH to detect fullscreen  windows. Reverts to checking if a window
 | 
			
		||||
  is fullscreen based only on its size and coordinates.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    no-ewmh-fullscreen = false;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  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 value :: ~1.0~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    max-brightness = 1.0;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Make transparent windows  clip other windows like  non-transparent windows do,
 | 
			
		||||
  instead of blending on top of them.
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    transparent-clipping = false;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Set the log level. Possible values are:
 | 
			
		||||
  - ~trace~
 | 
			
		||||
  - ~debug~
 | 
			
		||||
  - ~info~
 | 
			
		||||
  - ~warn~
 | 
			
		||||
  - ~error~
 | 
			
		||||
  in increasing level  of importance. Case doesn't matter. 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 value :: ~"debug"~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    log-level = "warn";
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  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.
 | 
			
		||||
  - Default value :: ~''~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    # log-file = '/path/to/your/log/file';
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Show all X errors (for debugging)
 | 
			
		||||
  - Default value :: ~false~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    # show-all-xerrors = false;
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Write process ID to a file.
 | 
			
		||||
  - Default value :: ~''~
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    # write-pid-path = '/path/to/your/log/file';
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
  Window type settings.  ~WINDOW_TYPE~ is one of the 15  window types defined in
 | 
			
		||||
  EWMH standard:
 | 
			
		||||
  - ~"unknown"~
 | 
			
		||||
  - ~"desktop"~
 | 
			
		||||
  - ~"dock"~
 | 
			
		||||
  - ~"toolbar"~
 | 
			
		||||
  - ~"menu"~
 | 
			
		||||
  - ~"utility"~
 | 
			
		||||
  - ~"splash"~
 | 
			
		||||
  - ~"dialog"~
 | 
			
		||||
  - ~"normal"~
 | 
			
		||||
  - ~"dropdown_menu"~
 | 
			
		||||
  - ~"popup_menu"~
 | 
			
		||||
  - ~"tooltip"~
 | 
			
		||||
  - ~"notification"~
 | 
			
		||||
  - ~"combo"~
 | 
			
		||||
  - ~"dnd"~
 | 
			
		||||
  Following per window-type options are available:
 | 
			
		||||
  - fade, shadow :: Controls window-type-specific shadow and fade settings.
 | 
			
		||||
  - opacity :: Controls default opacity of the window type.
 | 
			
		||||
  - focus :: Controls whether the window of this type is to be always considered
 | 
			
		||||
    focused. (By default, all window types except "normal" and "dialog" has this
 | 
			
		||||
    on.)
 | 
			
		||||
  - full-shadow  :: Controls  whether shadow  is drawn  under the  parts of  the
 | 
			
		||||
    window that you  normally won't be able  to see. Useful when  the window has
 | 
			
		||||
    parts of it transparent, and you want shadows in those areas.
 | 
			
		||||
  - redir-ignore :: Controls whether this type of windows should cause screen to
 | 
			
		||||
    become   redirected   again   after   been   unredirected.   If   you   have
 | 
			
		||||
    unredir-if-possible  set,   and  doesn't   want  certain  window   to  cause
 | 
			
		||||
    unnecessary screen redirection, you can set this to `true`.
 | 
			
		||||
  #+BEGIN_SRC conf
 | 
			
		||||
    wintypes:
 | 
			
		||||
    {
 | 
			
		||||
      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; }
 | 
			
		||||
    };
 | 
			
		||||
  #+END_SRC
 | 
			
		||||
 | 
			
		||||
** GLX backend-specific options
 | 
			
		||||
   :PROPERTIES:
 | 
			
		||||
   :CUSTOM_ID: h-6aca0f58-6d9e-4bb7-ba88-5195b573ee01
 | 
			
		||||
   :END:
 | 
			
		||||
   Avoid using stencil buffer, useful if  you don't have a stencil buffer. Might
 | 
			
		||||
   cause  incorrect  opacity  when  rendering  transparent  content  (but  never
 | 
			
		||||
   practically happened) and may not work with blur-background. Tests show a 15%
 | 
			
		||||
   performance boost. Recommended.
 | 
			
		||||
   - Default value :: ~false~
 | 
			
		||||
   #+BEGIN_SRC conf
 | 
			
		||||
     glx-no-stencil = true;
 | 
			
		||||
   #+END_SRC
 | 
			
		||||
 | 
			
		||||
   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, xf86-video-intel, etc.). Recommended if it works.
 | 
			
		||||
   - Default value :: ~false~
 | 
			
		||||
   #+BEGIN_SRC conf
 | 
			
		||||
     glx-no-rebind-pixmap = false;
 | 
			
		||||
   #+END_SRC
 | 
			
		||||
 | 
			
		||||
   Use  specified  GLSL  fragment  shader for  rendering  window  contents.  See
 | 
			
		||||
   ~compton-default-fshader-win.glsl~                                        and
 | 
			
		||||
   ~compton-fake-transparency-fshader-win.glsl~ in the source tree for examples.
 | 
			
		||||
   - Default value :: ~''~
 | 
			
		||||
   #+BEGIN_SRC conf :tangle no
 | 
			
		||||
     glx-fshader-win = '';
 | 
			
		||||
   #+END_SRC
 | 
			
		||||
 | 
			
		||||
   #+BEGIN_SRC conf
 | 
			
		||||
     corner-radius = 9.0;
 | 
			
		||||
     rounded-corners-exclude = [];
 | 
			
		||||
     blur: {
 | 
			
		||||
       method = "dual_kawase";
 | 
			
		||||
       strength = 7;
 | 
			
		||||
       background = false;
 | 
			
		||||
       background-frame = false;
 | 
			
		||||
       background-fixed = false;
 | 
			
		||||
     }
 | 
			
		||||
   #+END_SRC
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user