Advertisement
FernandoDebianBR

glava_config

Jun 30th, 2021
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.05 KB | None | 0 0
  1.  
  2. /* The module to use. A module is a set of shaders used to produce
  3. the visualizer. The structure for a module is the following:
  4.  
  5. module_name [directory]
  6. 1.frag [file: fragment shader],
  7. 2.frag [file: fragment shader],
  8. ...
  9.  
  10. Shaders are loaded in numerical order, starting at '1.frag',
  11. continuing indefinitely. The results of each shader (except
  12. for the final pass) is given to the next shader in the list
  13. as a 2D sampler.
  14.  
  15. See documentation for more details. */
  16. #request mod bars
  17.  
  18. /* Window hints */
  19. #request setfloating false
  20. #request setdecorated true
  21. #request setfocused false
  22. #request setmaximized false
  23.  
  24. /* Set window background opacity mode. Possible values are:
  25.  
  26. "native" - True transparency provided by the compositor. Can
  27. reduce performance on some systems, depending on
  28. the compositor used.
  29.  
  30. "xroot" - Maintain a copy of the root window's pixmap
  31. (usually the desktop background) to provide a
  32. pseudo-transparent effect. Useful when no compositor
  33. is available or native transparency isn't nessecary.
  34. Has very little performance impact.
  35.  
  36. "none" - Disable window opacity completely. */
  37. #request setopacity "native"
  38.  
  39. /* Whether to average and mirror left and right audio input channels.
  40. This may cause some modules to only render a single channel. */
  41. #request setmirror false
  42.  
  43. /* OpenGL context and GLSL shader versions, do not change unless
  44. you *absolutely* know what you are doing. */
  45. #request setversion 3 3
  46. #request setshaderversion 330
  47.  
  48. /* Window title */
  49. #request settitle "GLava"
  50.  
  51. /* Window geometry (x, y, width, height) */
  52. #request setgeometry 0 0 800 600
  53.  
  54. /* Window background color (RGBA format).
  55. Does not work with `setopacity "xroot"` */
  56. #request setbg 00000000
  57.  
  58. /* (X11 only) EWMH Window type. Possible values are:
  59.  
  60. "desktop", "dock", "toolbar", "menu",
  61. "utility", "splash", "dialog", "normal"
  62.  
  63. This will set _NET_WM_WINDOW_TYPE to _NET_WM_WINDOW_TYPE_(TYPE),
  64. where (TYPE) is the one of the window types listed (after being
  65. converted to uppercase).
  66.  
  67. Alternatively, you can set this value to "!", which will cause
  68. the window to be unmanaged. If this is set, then `addxwinstate`
  69. will do nothing, but you can use "!+" and "!-" to stack on top
  70. or below other windows.
  71. */
  72. #request setxwintype "normal"
  73.  
  74. /* (X11 only) EWMH Window state atoms (multiple can be specified).
  75. Possible values are:
  76.  
  77. "modal", "sticky", "maximized_vert", "maximized_horz",
  78. "shaded", "skip_taskbar", "skip_pager", "hidden", "fullscreen",
  79. "above", "below", "demands_attention", "focused", "pinned"
  80.  
  81. This will add _NET_WM_STATE_(TYPE) atoms to _NET_WM_STATE,
  82. where (TYPE) is one of the window states listed (after being
  83. converted to uppercase).
  84.  
  85. The lines below (commented out by default) are of relevance
  86. if you are trying to get GLava to behave as a desktop widget
  87. and your WM is not correctly responding to the "desktop" value
  88. for `setxwintype`.
  89. */
  90. // #request addxwinstate "sticky"
  91. // #request addxwinstate "skip_taskbar"
  92. // #request addxwinstate "skip_pager"
  93. // #request addxwinstate "above"
  94. // #request addxwinstate "pinned"
  95.  
  96. /* (X11 only) Use the XShape extension to support clicking through
  97. the GLava window. Useful when you want to interact with other
  98. desktop windows (icons, menus, desktop shells). Enabled by
  99. default when GLava itself is a desktop window. */
  100. #request setclickthrough false
  101.  
  102. /* Audio source
  103.  
  104. When the "pulseaudio" backend is set, this can be a number or
  105. a name of an audio sink or device to record from. Set to "auto"
  106. to use the default output device.
  107.  
  108. When the "fifo" backend is set, "auto" is interpreted as
  109. "/tmp/mpd.fifo". Otherwise, a valid path should be provided. */
  110. #request setsource "auto"
  111.  
  112. /* Buffer swap interval (vsync), set to '0' to prevent
  113. waiting for refresh, '1' (or more) to wait for the specified
  114. amount of frames. */
  115. #request setswap 1
  116.  
  117. /* Linear interpolation for audio data frames. Drastically
  118. improves smoothness with configurations that yield low UPS
  119. (`setsamplerate` and `setsamplesize`), or monitors that have
  120. high refresh rates.
  121.  
  122. This feature itself, however, will effect performance as it
  123. will have to interpolate data every frame on the CPU. It will
  124. automatically (and temporarily) disable itself if the update
  125. rate is close to, or higher than the framerate:
  126.  
  127. if (update_rate / frame_rate > 0.9) disable_interpolation;
  128.  
  129. This will delay data output by one update frame, so it can
  130. desync audio with visual effects on low UPS configs. */
  131. #request setinterpolate false
  132.  
  133. /* Frame limiter, set to the frames per second (FPS) desired or
  134. simply set to zero (or lower) to disable the frame limiter. */
  135. #request setframerate 0
  136.  
  137. /* Suspends rendering if a fullscreen window is focused while
  138. GLava is still visible (ie. on another monitor). This prevents
  139. rendering from interfering with other graphically intensive
  140. tasks.
  141.  
  142. If GLava is minimized or completely obscured, it will not
  143. render regardless of this option. */
  144. #request setfullscreencheck false
  145.  
  146. /* Enable/disable printing framerate every second. 'FPS' stands
  147. for 'Frames Per Second', and 'UPS' stands for 'Updates Per
  148. Second'. Updates are performed when new data is submitted
  149. by pulseaudio, and require transformations to be re-applied
  150. (thus being a good measure of how much work your CPU has to
  151. perform over time) */
  152. #request setprintframes true
  153.  
  154. /* PulseAudio sample buffer size. Lower values result in more
  155. frequent audio updates (also depends on sampling rate), but
  156. will also require all transformations to be applied much
  157. more frequently (CPU intensive).
  158.  
  159. High (>2048, with 22050 Hz) values will decrease accuracy
  160. (as some signals can be missed by transformations like FFT)
  161.  
  162. The following settings (@22050 Hz) produce the listed rates:
  163.  
  164. Sample UPS Description
  165. - 2048 -> 43.0 (low accuracy, cheap), use with < 60 FPS
  166. - 1024 -> 86.1 (high accuracy, expensive), use with >= 60 FPS
  167. - 512 -> 172.3 (extreme accuracy, very expensive), use only
  168. for graphing accurate spectrum data with
  169. custom modules.
  170.  
  171. If the framerate drops below the update rate, the update rate
  172. will be locked to the framerate (to prevent wasting CPU time).
  173. This behaviour means you can use a 1024 sample size on a 60Hz
  174. monitor with vsync enabled to get 60FPS and 60UPS.
  175.  
  176. For high refresh rate monitors (120+ Hz), it's recommended to
  177. also stick with the 1024 sample size and use interpolation to
  178. smooth the data, as accuracy beyond this setting is mostly
  179. meaningless for visual purposes.
  180. */
  181. #request setsamplesize 1024
  182.  
  183. /* Audio buffer size to be used for processing and shaders.
  184. Increasing this value can have the effect of adding 'gravity'
  185. to FFT output, as the audio signal will remain in the buffer
  186. longer.
  187.  
  188. This value has a _massive_ effect on FFT performance and
  189. quality for some modules. */
  190. #request setbufsize 4096
  191.  
  192. /* PulseAudio sample rate. Lower values can add 'gravity' to
  193. FFT output, but can also reduce accuracy. Most hardware
  194. samples at 44100Hz.
  195.  
  196. Lower sample rates also can make output more choppy, when
  197. not using interpolation. It's generally OK to leave this
  198. value unless you have a strange PulseAudio configuration.
  199.  
  200. This option does nothing when using the "fifo" audio
  201. backend. Instead, an ideal rate should be be configured
  202. in the application generating the output. */
  203. #request setsamplerate 22050
  204.  
  205. /* Enable GPU acceleration of the audio buffer's fourier transform.
  206. This drastically reduces CPU usage, but should be avoided on
  207. old integrated graphics hardware.
  208.  
  209. Enabling this also enables acceleration for post-FFT processing
  210. effects, such as gravity, averaging, windowing, and interpolation. */
  211. #request setaccelfft true
  212.  
  213. /* ** DEPRECATED **
  214. Force window geometry (locking the window in place), useful
  215. for some pesky WMs that try to reposition the window when
  216. embedding in the desktop.
  217.  
  218. This routinely sends X11 events and should be avoided. */
  219. #request setforcegeometry false
  220.  
  221. /* ** DEPRECATED **
  222. Force window to be raised (focused in some WMs), useful for
  223. WMs that have their own stacking order for desktop windows.
  224.  
  225. This routinely sends X11 events and should be avoided. */
  226. #request setforceraised false
  227.  
  228. /* ** DEPRECATED **
  229. Scale down the audio buffer before any operations are
  230. performed on the data. Higher values are faster.
  231.  
  232. This value can affect the output of various transformations,
  233. since it applies (crude) averaging to the data when shrinking
  234. the buffer. It is reccommended to use `setsamplerate` and
  235. `setsamplesize` to improve performance or accuracy instead. */
  236. #request setbufscale 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement