picom-animations.conf 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. # Animations for NORMAL windows.
  2. {
  3. match = "window_type = 'normal'";
  4. animations = (
  5. {
  6. triggers = ["close", "hide"];
  7. opacity = {
  8. curve = "linear";
  9. duration = 0.1;
  10. start = "window-raw-opacity-before";
  11. end = 0;
  12. };
  13. blur-opacity = "opacity";
  14. shadow-opacity = "opacity";
  15. },
  16. {
  17. triggers = ["open", "show"];
  18. opacity = {
  19. curve = "cubic-bezier(0,1,1,1)";
  20. duration = 0.5;
  21. start = 0;
  22. end = "window-raw-opacity";
  23. };
  24. blur-opacity = "opacity";
  25. shadow-opacity = "opacity";
  26. offset-x = "(1 - scale-x) / 2 * window-width";
  27. offset-y = "(1 - scale-y) / 2 * window-height";
  28. scale-x = {
  29. curve = "cubic-bezier(0,1.3,1,1)";
  30. duration = 0.5;
  31. start = 0.6;
  32. end = 1;
  33. };
  34. scale-y = "scale-x";
  35. shadow-scale-x = "scale-x";
  36. shadow-scale-y = "scale-y";
  37. shadow-offset-x = "offset-x";
  38. shadow-offset-y = "offset-y";
  39. },
  40. {
  41. triggers = ["geometry"]
  42. scale-x = {
  43. curve = "cubic-bezier(0,0,0,1.28)";
  44. duration = 0.5;
  45. start = "window-width-before / window-width";
  46. end = 1;
  47. }
  48. scale-y = {
  49. curve = "cubic-bezier(0,0,0,1.28)";
  50. duration = 0.5;
  51. start = "window-height-before / window-height";
  52. end = 1;
  53. }
  54. offset-x = {
  55. curve = "cubic-bezier(0,0,0,1.28)";
  56. duration = 0.5;
  57. start = "window-x-before - window-x";
  58. end = 0;
  59. }
  60. offset-y = {
  61. curve = "cubic-bezier(0,0,0,1.28)";
  62. duration = 0.5;
  63. start = "window-y-before - window-y";
  64. end = 0;
  65. }
  66. shadow-scale-x = "scale-x";
  67. shadow-scale-y = "scale-y";
  68. shadow-offset-x = "offset-x";
  69. shadow-offset-y = "offset-y";
  70. }
  71. )
  72. },
  73. # Animations for Rofi launchers.
  74. {
  75. match = "class_g = 'Rofi'";
  76. animations = (
  77. {
  78. triggers = ["close", "hide"];
  79. preset = "disappear";
  80. duration = 0.05;
  81. scale = 0.5;
  82. },
  83. {
  84. triggers = ["open", "show"];
  85. preset = "appear";
  86. duration = 0.2;
  87. scale = 0.5;
  88. }
  89. )
  90. },
  91. # Animations for Dunst notifications.
  92. {
  93. match = "class_g = 'Dunst'";
  94. animations = (
  95. {
  96. triggers = ["close", "hide"];
  97. preset = "fly-out"; #-dunst-close-preset
  98. direction = "up"; #-dunst-close-direction
  99. duration = 0.2;
  100. },
  101. {
  102. triggers = ["open", "show"];
  103. preset = "fly-in"; #-dunst-open-preset
  104. direction = "up"; #-dunst-open-direction
  105. duration = 0.2;
  106. }
  107. )
  108. },
  109. # Animations for Jgmenu.
  110. {
  111. match = "class_g = 'jgmenu'";
  112. animations = (
  113. {
  114. triggers = ["close", "hide"];
  115. preset = "disappear";
  116. duration = 0.08;
  117. scale = 0.5;
  118. },
  119. {
  120. triggers = ["open", "show"];
  121. preset = "appear";
  122. duration = 0.15;
  123. scale = 0.5;
  124. }
  125. )
  126. },
  127. # Animations for Scratchpad.
  128. {
  129. match = "class_g = 'Scratch'";
  130. animations = (
  131. {
  132. triggers = ["close", "hide"];
  133. preset = "fly-out";
  134. direction = "up";
  135. duration = 0.2;
  136. },
  137. {
  138. triggers = ["open", "show"];
  139. preset = "fly-in";
  140. direction = "up";
  141. duration = 0.2;
  142. }
  143. )
  144. },
  145. # Animations for Eww Profile card.
  146. {
  147. match = "name = 'Eww - launchermenu'";
  148. animations = (
  149. {
  150. triggers = ["close", "hide"];
  151. preset = "slide-out";
  152. direction = "right";
  153. duration = 0.2;
  154. },
  155. {
  156. triggers = ["open", "show"];
  157. preset = "slide-in";
  158. direction = "right";
  159. duration = 0.2;
  160. }
  161. )
  162. },
  163. # Animations for Eww Music player.
  164. {
  165. match = "name = 'Eww - music'";
  166. animations = (
  167. {
  168. triggers = ["close", "hide"];
  169. preset = "slide-out";
  170. direction = "up";
  171. duration = 0.2;
  172. },
  173. {
  174. triggers = ["open", "show"];
  175. preset = "slide-in";
  176. direction = "up";
  177. duration = 0.2;
  178. }
  179. )
  180. },
  181. # Animations for Eww calendar.
  182. {
  183. match = "name = 'Eww - date'";
  184. animations = (
  185. {
  186. triggers = ["close", "hide"];
  187. preset = "fly-out";
  188. direction = "up";
  189. duration = 0.2;
  190. },
  191. {
  192. triggers = ["open", "show"];
  193. preset = "fly-in";
  194. direction = "up";
  195. duration = 0.2;
  196. }
  197. )
  198. },
  199. # Animations for Eww Cheatsheet.
  200. {
  201. match = "name = 'Eww - csheet'";
  202. animations = (
  203. {
  204. triggers = ["close", "hide"];
  205. preset = "disappear";
  206. duration = 0.08;
  207. scale = 0.5;
  208. },
  209. {
  210. triggers = ["open", "show"];
  211. preset = "appear";
  212. duration = 0.15;
  213. scale = 0.5;
  214. }
  215. )
  216. }