Version 2.0.0 This is most radical update of LavaLauncher to date. This new version not only introduces a lot of new features, but also completely overhauls the configuration as well as basically all internal data structures and operations. If all patches since the last version are considered, this is almost a complete rewrite, hence the major version bump. CHANGELOG: - LavaLauncher is now configured via a configuration file instead of command flags. This not only provides a considerably more pleasant user experience, but also makes more complex configuration options possible, allowing LavaLauncher to gain a lot more useful features. See the man page for a full description of the configuration syntax and all possible options. (It is also possible to provide a system wide default configuration by placing a configuration file at /etc/lavalauncher/lavalauncher.conf, might be interesting for packagers). - A single LavaLauncher instance can now spawn multiple different bars. - LavaLauncher can now optionally be compiled with SVG image support. - Introduced a new item for the bar: The spacer. - A bar in "simple" mode can now have non-center alignments and margins parallel to the bars orientation. - LavaLauncher now supports rounded corners. You can change the radius of each corner individually. - LavaLauncher now displays an indicator for icons with which the user is interacting (pointer click/hovering and touch). - Icons now have a configurable padding. - LavaLauncher now supports parsing "rgb()" colours. - LavaLauncher can now execute different command for left-, right- and middle-click, touch and scroll events. - Touch input handling has been implemented by Nicolai Dagestad who also provided a small build system change to allow compiling on some ARM devices. This makes it theoretically possible to use LavaLauncher on devies such as the pinephone (so I have heared). - The namespace of the layershell surface can now be configured. - Changed default cursor from 'pointing_hand' to 'pointer', because the latter is present in more icon themes. - LavaLauncher now handles signals. - Jan Beich contributed multiple patches making it possible to build LavaLauncher on FreeBSD (with all features). - Lots of internal changes, further improving the code quality. - Fixed some bugs and crashes on cleanup and abort. - Added a meson option to disable building and installing the man page. - LavaLauncher now uses the new and shiny source hut project functionality. As an example, you can now submit your bug reports and feature request as tickets on the fancy issue tracker (I will be automatically notified via email). The mailing list is obviously still a good place for that as well and possibly better suited for more involved discussions. - LavaLauncher now ships with a new document, "CONTRIBUTING.md", in its git repository, which outlines how you can contribute to this project.
Bump to v1.7.1 Changelog: - Fix building error when using strict compiler flags
Bump to v1.7.0 Changelog: - New display mode 'simple'. This mode should be visually identical to 'default' mode, however the surface is _not_ sized to span the entire edge of the output it is anchored to, instead it has the exact same size as the visual bar, and it is also only anchored to a single edge. On some compositors this may cause LavaLauncher to fit better onto the desktop geometrically. Also this mode has a smaller memory usage; Depending on screen size and bar size, the difference can be significant. - When hovering over the bar, the cursor will now change. What cursor is used can be configured with the '-P' flag. The default is "pointing_hand". - When setting the border width with '-S', LavaLauncher now additionally also accepts only a single arguments, which will set the width for all borders simultaneously. - When setting the output with '-o', LavaLauncher now accepts the argument 'all'. - When setting a colour, LavaLauncher now in addition to hex codes also accepts 'black', 'white' and 'transparent'. - Debug messages for output events now display the global name of the output. This makes it finally possible to know which event is related to which output. - Nonsensical outputs (when width and/or height are 0) will now be ignored, instead of LavaLauncher exiting. Since such outputs are very likely a bug in the Wayland compositor, a warning message will be displayed. - Fixed a bug causing LavaLauncher to crash when it could not connect to a Wayland server. - Fixed bug causing LavaLauncher to crash when the compositor does not support a protocol extension it relies on, like the layer shell or XDG output. Now LavaLauncher correctly displays an error message and exits gracefully. - Fixed a design oversight causing LavaLauncher to crash on some compositors where outputs are added before xdg_output_manager or zwlr_layer_shell are available. - Fixed a design oversight that could potentially cause an unterminated string to be executed by a shell. - Fixed possible memory leak. - Lots of minor and major overhauls of the code. Things have been moved, rewritten, removed and redesigned to get rid of most major rough spots. - More verbose versioning.
Bump to v1.6 Changelog: - Improve compiling rigidity to (hopefully) enable packaging on distributions with slightly more paranoid compiler defaults
Bump to v1.5 Changelog: - Execute commands upon button release instead of button press - Minor refactor of drawing code to fix margin bug - External pool-buffer.c has been replaced with in-house solution - Implemented (untested) touch handlers - Set the "opaque region" of the surface, if appropriate - Accept hex colour codes without alpha channel - Fancier README
Bump to v1.4 Changelog: - Add error checking when loading images - Improved error handling - string_insert() is not iterative instead of recursive - Switched to meson build system - Improved command flag parsing: Command flags with multiple arguments now check if the correct amount of arguments is given - Refactor draw code: - Surfaces now always span the entire width/height - Removed position 'center' - Added configurable alignment via '-a' - Border widths now individually configurable for each site - No more spaghetti - Added input region - All four directional Margins now individually configurable - Improved documentation