Guest User

picom.conf

a guest
Jan 9th, 2025
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.24 KB | None | 0 0
  1. #################################
  2. # Corners #
  3. #################################
  4. # requires: https://github.com/sdhand/compton
  5. corner-radius = 10.0;
  6. rounded-corners-exclude = [
  7. #"window_type = 'normal'",
  8. "n:e:Whisker Menu",
  9. "class_g = 'awesome'",
  10. "class_g = 'URxvt'",
  11. "class_g = 'XTerm'",
  12. "class_g = 'kitty'",
  13. "class_g = 'Alacritty'",
  14. "class_g = 'Polybar'",
  15. "class_g = 'code-oss'",
  16. "class_g = 'firefox'",
  17. "class_g = 'Conky'",
  18. "class_g = 'Thunderbird'",
  19. "class_g ?= 'xfce4-panel' && window_type = 'dock'"
  20. ];
  21. round-borders = 1;
  22. round-borders-exclude = [
  23. #"class_g = 'TelegramDesktop'",
  24. ];
  25.  
  26. # Specify a list of border width rules, in the format `PIXELS:PATTERN`,
  27. # Note we don't make any guarantee about possible conflicts with the
  28. # border_width set by the window manager.
  29. #
  30. # example:
  31. # round-borders-rule = [ "2:class_g = 'URxvt'" ];
  32. #
  33. round-borders-rule = [
  34. "3:class_g = 'XTerm'",
  35. "3:class_g = 'URxvt'",
  36. "10:class_g = 'Alacritty'",
  37. "15:class_g = 'Signal'"
  38. ];
  39.  
  40. #################################
  41. # Shadows #
  42. #################################
  43.  
  44.  
  45. # Enabled client-side shadows on windows. Note desktop windows
  46. # (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
  47. # unless explicitly requested using the wintypes option.
  48. #
  49. # shadow = false
  50. shadow = false;
  51.  
  52. # The blur radius for shadows, in pixels. (defaults to 12)
  53. # shadow-radius = 12
  54. shadow-radius = 7;
  55.  
  56. # The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
  57. # shadow-opacity = .75
  58.  
  59. # The left offset for shadows, in pixels. (defaults to -15)
  60. # shadow-offset-x = -15
  61. shadow-offset-x = -7;
  62.  
  63. # The top offset for shadows, in pixels. (defaults to -15)
  64. # shadow-offset-y = -15
  65. shadow-offset-y = -7;
  66.  
  67. # Red color value of shadow (0.0 - 1.0, defaults to 0).
  68. # shadow-red = 0
  69.  
  70. # Green color value of shadow (0.0 - 1.0, defaults to 0).
  71. # shadow-green = 0
  72.  
  73. # Blue color value of shadow (0.0 - 1.0, defaults to 0).
  74. # shadow-blue = 0
  75.  
  76. # Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
  77. # shadow-color = "#000000"
  78.  
  79. # Specify a list of conditions of windows that should have no shadow.
  80. #
  81. # examples:
  82. # shadow-exclude = "n:e:Notification";
  83. #
  84. # shadow-exclude = []
  85. shadow-exclude = [
  86. "name = 'Notification'",
  87. # "name *= 'Ulauncher'",
  88. "class_g = 'Conky'",
  89. "class_g ?= 'Notify-osd'",
  90. "class_g = 'Cairo-clock'",
  91. "class_g = 'slop'",
  92. "class_g = 'Polybar'",
  93. "class_g = 'Ulauncher'",
  94. "_GTK_FRAME_EXTENTS@:c"
  95. ];
  96. # Specify a X geometry that describes the region in which shadow should not
  97. # be painted in, such as a dock window region. Use
  98. # shadow-exclude-reg = "x10+0+0"
  99. # for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
  100. #
  101. # shadow-exclude-reg = ""
  102.  
  103. # Crop shadow of a window fully on a particular Xinerama screen to the screen.
  104. # xinerama-shadow-crop = false
  105.  
  106.  
  107. #################################
  108. # Fading #
  109. #################################
  110.  
  111.  
  112. # Fade windows in/out when opening/closing and when opacity changes,
  113. # unless no-fading-openclose is used.
  114. # fading = false
  115. fading = true;
  116.  
  117. # Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
  118. # fade-in-step = 0.028
  119. fade-in-step = 0.03;
  120.  
  121. # Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
  122. # fade-out-step = 0.03
  123. fade-out-step = 0.03;
  124.  
  125. # The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
  126. # fade-delta = 10
  127.  
  128. # Specify a list of conditions of windows that should not be faded.
  129. # don't need this, we disable fading for all normal windows with wintypes: {}
  130. fade-exclude = [
  131. "class_g = 'slop'",
  132. "class_g = 'Xfce4-screenshooter'"
  133. ];
  134.  
  135. # Do not fade on window open/close.
  136. #no-fading-openclose = false
  137.  
  138. # Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
  139. # no-fading-destroyed-argb = false
  140.  
  141. #################################
  142. # Transparency / Opacity #
  143. #################################
  144.  
  145.  
  146. # Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
  147. # inactive-opacity = 1
  148. inactive-opacity = 0.95;
  149.  
  150. # Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
  151. # frame-opacity = 1.0
  152. frame-opacity = 0.8;
  153.  
  154. # Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
  155. # inactive-opacity-override = true
  156. # inactive-opacity-override = true;
  157.  
  158. # Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
  159. active-opacity = 1.0;
  160.  
  161. # Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
  162. # inactive-dim = 0.0
  163.  
  164. # Specify a list of conditions of windows that should always be considered focused.
  165. # focus-exclude = []
  166. focus-exclude = [
  167. "class_g = 'Cairo-clock'",
  168. "class_g = 'Bar'", # lemonbar
  169. "class_g = 'slop'" # maim
  170. ];
  171.  
  172. # Use fixed inactive dim value, instead of adjusting according to window opacity.
  173. # inactive-dim-fixed = 1.0
  174.  
  175. # Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
  176. # like `50:name *= "Firefox"`. picom-trans is recommended over this.
  177. # Note we don't make any guarantee about possible conflicts with other
  178. # programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
  179. # example:
  180. # opacity-rule = [ "80:class_g = '
  181.  
  182. # Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
  183. # frame-opacity = 1.0Rxvt'" ];
  184. #
  185. # opacity-rule = []
  186. opacity-rule = [
  187. "80:class_g = 'Bar'", # lemonbar
  188. "100:class_g = 'slop'", # maim
  189. "100:class_g = 'XTerm'",
  190. "100:class_g = 'URxvt'",
  191. "100:class_g = 'kitty'",
  192. "100:class_g = 'Alacritty'",
  193. "80:class_g = 'Polybar'",
  194. "100:class_g = 'code-oss'",
  195. "100:class_g = 'Meld'",
  196. "90:class_g = 'Joplin'",
  197. "100:class_g *= 'firefox'",
  198. "100:class_g *= 'Firefox'",
  199. "100:class_g = 'Thunderbird'",
  200. "100:class_g = 'Navigator'",
  201. "100:class_g *= 'Google-chrome'",
  202. "100:class_g *= 'vlc'",
  203. "100:class_g *= 'Yandex-browser'"
  204. ];
  205.  
  206.  
  207.  
  208. #################################
  209. # Corners #
  210. #################################
  211.  
  212. # Sets the radius of rounded window corners. When > 0, the compositor will
  213. # round the corners of windows. Does not interact well with
  214. # `transparent-clipping`.
  215. # corner-radius = 0
  216.  
  217. # Exclude conditions for rounded corners.
  218. # rounded-corners-exclude = [
  219. # "window_type = 'dock'",
  220. # "window_type = 'desktop'"
  221. # ];
  222.  
  223.  
  224. #################################
  225. # Background-Blurring #
  226. #################################
  227.  
  228.  
  229. # Parameters for background blurring, see the *BLUR* section for more information.
  230. # blur-method =
  231. # blur-size = 12
  232. #
  233. # blur-deviation = false
  234. #
  235. # blur-strength = 5
  236.  
  237. # Blur background of semi-transparent / ARGB windows.
  238. # Bad in performance, with driver-dependent behavior.
  239. # The name of the switch may change without prior notifications.
  240. #
  241. # blur-background = true;
  242.  
  243. # Blur background of windows when the window frame is not opaque.
  244. # Implies:
  245. # blur-background
  246. # Bad in performance, with driver-dependent behavior. The name may change.
  247. #
  248. # blur-background-frame = false;
  249.  
  250.  
  251. # Use fixed blur strength rather than adjusting according to window opacity.
  252. # blur-background-fixed = false;
  253.  
  254.  
  255. # Specify the blur convolution kernel, with the following format:
  256. # example:
  257. # 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";
  258. #
  259. # blur-kern = ""
  260. blur-kern = "3x3box";
  261.  
  262.  
  263. blur: {
  264. # requires: https://github.com/ibhagwan/picom
  265. method = "dual_kawase";
  266. #method = "kernel";
  267. strength = 1;
  268. deviation = 1.0;
  269. # kernel = "11x11gaussian";
  270. background = false;
  271. background-frame = false;
  272. background-fixed = false;
  273. kern = "3x3box";
  274. }
  275.  
  276. # Exclude conditions for background blur.
  277. blur-background-exclude = [
  278. #"window_type = 'dock'",
  279. #"window_type = 'desktop'",
  280. #"class_g = 'URxvt'",
  281. "class_g ?= 'plank' && window_type = 'dock'",
  282. "class_g = 'Ulauncher'",
  283. "name = 'GLava'",
  284. "class_g = 'Conky'&& window_type = 'desktop'",
  285. #
  286. # prevents picom from blurring the background
  287. # when taking selection screenshot with `main`
  288. # https://github.com/naelstrof/maim/issues/130
  289. "class_g = 'slop'",
  290. "_GTK_FRAME_EXTENTS@:c"
  291. ];
  292.  
  293. #################################
  294. # General Settings #
  295. #################################
  296.  
  297. # Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
  298. # daemon = false
  299.  
  300. # Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
  301. # `xrender` is the default one.
  302. #
  303. experimental-backends = true;
  304. backend = "glx";
  305. #backend = "xrender";
  306.  
  307.  
  308. # Enable/disable VSync.
  309. # vsync = false
  310. vsync = false;
  311.  
  312. # Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
  313. # dbus = false
  314.  
  315. # Try to detect WM windows (a non-override-redirect window with no
  316. # child that has 'WM_STATE') and mark them as active.
  317. #
  318. # mark-wmwin-focused = false
  319. mark-wmwin-focused = false;
  320.  
  321. # Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
  322. # mark-ovredir-focused = false
  323. mark-ovredir-focused = true;
  324.  
  325. # Try to detect windows with rounded corners and don't consider them
  326. # shaped windows. The accuracy is not very high, unfortunately.
  327. #
  328. # detect-rounded-corners = false
  329. detect-rounded-corners = true;
  330.  
  331. # Detect '_NET_WM_OPACITY' on client windows, useful for window managers
  332. # not passing '_NET_WM_OPACITY' of client windows to frame windows.
  333. #
  334. # detect-client-opacity = false
  335. # detect-client-opacity = true;
  336.  
  337. # Specify refresh rate of the screen. If not specified or 0, picom will
  338. # try detecting this with X RandR extension.
  339. #
  340. # refresh-rate = 60
  341. refresh-rate =0;
  342.  
  343. # Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
  344. # rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
  345. # provided that the WM supports it.
  346. #
  347. # use-ewmh-active-win = false
  348.  
  349. # Unredirect all windows if a full-screen opaque window is detected,
  350. # to maximize performance for full-screen windows. Known to cause flickering
  351. # when redirecting/unredirecting windows.
  352. #
  353. # unredir-if-possible = false
  354.  
  355. # Delay before unredirecting the window, in milliseconds. Defaults to 0.
  356. # unredir-if-possible-delay = 0
  357.  
  358. # Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
  359. # unredir-if-possible-exclude = []
  360.  
  361. # Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
  362. # in the same group focused at the same time.
  363. #
  364. # detect-transient = false
  365. detect-transient = true;
  366.  
  367. # Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
  368. # group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if
  369. # detect-transient is enabled, too.
  370. #
  371. # detect-client-leader = false
  372. detect-client-leader = true;
  373.  
  374. # Resize damaged region by a specific number of pixels.
  375. # A positive value enlarges it while a negative one shrinks it.
  376. # If the value is positive, those additional pixels will not be actually painted
  377. # to screen, only used in blur calculation, and such. (Due to technical limitations,
  378. # with use-damage, those pixels will still be incorrectly painted to screen.)
  379. # Primarily used to fix the line corruption issues of blur,
  380. # in which case you should use the blur radius value here
  381. # (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
  382. # with a 5x5 one you use `--resize-damage 2`, and so on).
  383. # May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
  384. #
  385. # resize-damage = 1
  386.  
  387. # Specify a list of conditions of windows that should be painted with inverted color.
  388. # Resource-hogging, and is not well tested.
  389. #
  390. # invert-color-include = []
  391.  
  392. # GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
  393. # Might cause incorrect opacity when rendering transparent content (but never
  394. # practically happened) and may not work with blur-background.
  395. # My tests show a 15% performance boost. Recommended.
  396. #
  397. # glx-no-stencil = false
  398.  
  399. # GLX backend: Avoid rebinding pixmap on window damage.
  400. # Probably could improve performance on rapid window content changes,
  401. # but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
  402. # Recommended if it works.
  403. #
  404. # glx-no-rebind-pixmap = false
  405.  
  406. # Disable the use of damage information.
  407. # This cause the whole screen to be redrawn everytime, instead of the part of the screen
  408. # has actually changed. Potentially degrades the performance, but might fix some artifacts.
  409. # The opposing option is use-damage
  410. #
  411. # no-use-damage = false
  412. use-damage = true;
  413.  
  414. # Use X Sync fence to sync clients' draw calls, to make sure all draw
  415. # calls are finished before picom starts drawing. Needed on nvidia-drivers
  416. # with GLX backend for some users.
  417. #
  418. # xrender-sync-fence = false
  419.  
  420. # GLX backend: Use specified GLSL fragment shader for rendering window contents.
  421. # See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
  422. # in the source tree for examples.
  423. #
  424. # glx-fshader-win = ""
  425.  
  426. # Force all windows to be painted with blending. Useful if you
  427. # have a glx-fshader-win that could turn opaque pixels transparent.
  428. #
  429. # force-win-blend = false
  430.  
  431. # Do not use EWMH to detect fullscreen windows.
  432. # Reverts to checking if a window is fullscreen based only on its size and coordinates.
  433. #
  434. # no-ewmh-fullscreen = false
  435.  
  436. # Dimming bright windows so their brightness doesn't exceed this set value.
  437. # Brightness of a window is estimated by averaging all pixels in the window,
  438. # so this could comes with a performance hit.
  439. # Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
  440. #
  441. # max-brightness = 1.0
  442.  
  443. # Make transparent windows clip other windows like non-transparent windows do,
  444. # instead of blending on top of them.
  445. #
  446. # transparent-clipping = false
  447.  
  448. # Set the log level. Possible values are:
  449. # "trace", "debug", "info", "warn", "error"
  450. # in increasing level of importance. Case doesn't matter.
  451. # If using the "TRACE" log level, it's better to log into a file
  452. # using *--log-file*, since it can generate a huge stream of logs.
  453. #
  454. # log-level = "debug"
  455. log-level = "info";
  456.  
  457. # Set the log file.
  458. # If *--log-file* is never specified, logs will be written to stderr.
  459. # Otherwise, logs will to written to the given file, though some of the early
  460. # logs might still be written to the stderr.
  461. # When setting this option from the config file, it is recommended to use an absolute path.
  462. #
  463. # log-file = "/path/to/your/log/file"
  464.  
  465. # Show all X errors (for debugging)
  466. # show-all-xerrors = false
  467.  
  468. # Write process ID to a file.
  469. # write-pid-path = "/path/to/your/log/file"
  470.  
  471. # Window type settings
  472. #
  473. # 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
  474. # "unknown", "desktop", "dock", "toolbar", "menu", "utility",
  475. # "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
  476. # "tooltip", "notification", "combo", and "dnd".
  477. #
  478. # Following per window-type options are available: ::
  479. #
  480. # fade, shadow:::
  481. # Controls window-type-specific shadow and fade settings.
  482. #
  483. # opacity:::
  484. # Controls default opacity of the window type.
  485. #
  486. # focus:::
  487. # Controls whether the window of this type is to be always considered focused.
  488. # (By default, all window types except "normal" and "dialog" has this on.)
  489. #
  490. # full-shadow:::
  491. # Controls whether shadow is drawn under the parts of the window that you
  492. # normally won't be able to see. Useful when the window has parts of it
  493. # transparent, and you want shadows in those areas.
  494. #
  495. # redir-ignore:::
  496. # Controls whether this type of windows should cause screen to become
  497. # redirected again after been unredirected. If you have unredir-if-possible
  498. # set, and doesn't want certain window to cause unnecessary screen redirection,
  499. # you can set this to `true`.
  500. #
  501.  
  502. wintypes:
  503. {
  504. normal = { fade = true; shadow = true; }
  505. tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
  506. dock = { shadow = false; }
  507. dnd = { shadow = false; }
  508. popup_menu = { opacity = 0.95; }
  509. dropdown_menu = { fade = true; opacity = 0.95; }
  510. };
  511.  
  512. animations = true;
  513.  
Advertisement
Add Comment
Please, Sign In to add comment