Releases: jarcode-foss/glava
Releases · jarcode-foss/glava
"native" transparency hotfix
- fixed a spelling error in
utils/premutliply.frag
that broke native transparency in most modules
Premultiply hotfix and stdin hotfix for vec4 datatypes
disclaimer: this release breaks "native" transparency, use 1.6.3
instead if you require it.
- Fixed a critical issue with
--stdin
that caused the alpha channel to be garbage data - Added a premultiply step to
bars
to allow for proper handling of the alpha channel on"native"
transparency. This is disabled by default, assignUSE_ALPHA
to1
inbars.glsl
to enable.
'circle' hotfix, stdin binding support
disclaimer: this release invokes undefined behavior due to a bug (fixed in later versions)
- A problem with artifacting in
circle
has been fixed, see #107 --stdin
has been added, which binds simple GLSL datatypes toSTDIN
in shaders. This evaluates to a uniform, and thus can be used to stream some data at runtime to GLava. This feature may be expanded on later (with backwards-compatible support for the current format/arguments)
FIFO support, new GLSL options, and many fixes.
- FIFO support has been added. See
README.md
for details, also see #78 - Added sampling modes for the GLSL smoothing pass to allow for more accurate output
- Added support for disabling shader passes through GLSL, see #97
- Enhanced rendering and options for
graph
, courtesy of @arch1t3cht30, see #97 - Fixed clickthrough on Openbox (and potentially other window managers), see #80
- Fixed the two lowest-frequency bars having the same value while running the
bars
module - Fixed some build issues on Ubuntu, musl, see #94, #91
- Fixed a bug with
circle
that only manifested on some integrated graphics chips, see #70
Request option & other fixes
- Added a
--request
option to allow users to supply requests that would normally go inrc.glsl
through the command line. - Fixed a memory leak that occurred when the GLava window was repositioned (or the root pixmap updated) while
"xroot"
was selected. - Fixed a bug where preprocessor directives would not work at the end of the file, due to not having a trailing line break.
- Most compilation output has been now limited to the
--verbose
option.
System include prefix & 'graph' module fixes
- Added a
@
include prefix that reads from the system (installation) configuration path, rather than the active path (usually@ -> /etc/xdg/glava
,: -> ~/.config/glava
). - Added some new functionality to the GLSL preprocessor that allows re-occurring defines to override the previous value instead of failing with an error
- These two changes allow for including both the system and user module configurations into fragment shaders, which helps prevent breaking changes (see this reply in #73).
- The
radial
module now has configurable offsets, see #69 - The
graph
module has been optimized, has new defaults for theCOLOR
macro, and has new options to disable/enable the outline and highlight, see #76
Thanks to @Patiga, who exclusively reported the mentioned issues.
Static memory leak hotfix
- Fixed some minor leaks introduced through shader instantiation (non-growing).
- Fixed a bug where
munmap
was called on a buffer allocated throughmalloc
. This didn't cause any issues on most systems, due to the underlyingmalloc
implementation.
Window obstruction hotfix
- Fixed a critical issue that caused GLava to stop rendering if it was previously obstructed.
Makefile changes & desktop defaults
- i3, i3-gaps, and AwesomeWM now all have suitable defaults in their respective
env_*.glsl
files. - The dependency on the
glad
submodule is no longer needed, but is optional. Pre-generated headers and bindings are provided inglad.c
andglad.h
, however users are free to generate their own by cloning into the submodule and runningmake glad
in GLava build directory. make uninstall
now properly respectsDESTDIR
SHADERDIR
has been added as an option to theMakefile
to customize where shaders are installed and used from (use withmake
andmake install
), by default it is/etc/xdg/glava
.EXECDIR
has also been added as aMakefile
option to configure where the glava executable is installed to, by default it is/usr/bin/
.
This update may have some breaking changes for package maintainers, my goal was to avoid glad
causing problems with unreproducible builds.
Window visibility & makefile changes
-march=native
is no longer default in theMakefile
. Sorry @coderobe!XROOTPMAP_ID
is now monitored to handle changes to the root window background with `"xroot" transparency- GLava now automatically suspends rendering when it is minimized (parent unmapped) or completely obscured, see #68. As a result
#request setfullscreencheck
has defaulted tofalse
since the built-in behavior achieves the same effect in most circumstances.