Some downstream modules with keys don't control the callbacks. Using
signals on multiple keys is more cumbersome than simply exposing
this at the keygrabber level.
* Fix all warnings
* Make indentation consistent across the file
* Simplify/unify the validation (use `error()` rather
than try to silently fix problems, move to setters)
and fallback code (move to the getters rather than...
everywhere)
* Write the documentation
* Finish the tests
* Remove unnecessary constructors
* Remove path builder because it belongs in
`gears.filesystem` and wasn't really used anyway
* Add more properties and a beautiful variable to
replace `set_defaults` and hardcoded values.
* Replace callbacks with signals (common pattern
in modern AwesomeWM APIs)
* Moved from `os.date` to GLib and some boilerplate
code to make Debian devs less angry
* Changed the way the snipping tool selection wibox works.
Now it freeze the screenshot before the selection.
The old way had a bunch of side effects for things
like Qt/GTK comboboxes. It also could crash.
There will still be one more commit to replace some of the screenshot
module code with available functionality from gears (e.g. the filesystem
module).
screenshot API. It extends a prior commit which extended the lower level
content API, which had been a property of the client object but is now
available as a property of the screen object and a method of the root
object.
This commit creates a new screenshot module for the awful module. The
public functions include root(), screen(), client(), snipper(), and
snip(). These take root window, screen, and client window screenshots,
launch an interactive snip tool for cropped screenshots, and take a
cropped screenshot of a geometry passed by argument, respectively. The
init() function is also available for configuration. Using this library
is more appropriate for the average rc.lua.
Since the API is new, this commit does not include any changes to
rc.lua. The developers can modify rc.lua when there is sufficient
confidence in API stability and robustness.
lib/awful/init.lua is modified so that the awful module includes the new
lib/awful/screenshot.lua submodule.
Signed off: Brian Sobulefsky <brian.sobulefsky@protonmail.com>
* wibox.widget.slider: Add a handle cursor property
* wibox.widget.slider: Add a beautiful variable for handle_cursor
* wibox.widget.slider: Remove an unneeded or statement
* wibox.widget.slider: Move handle_cursor variable to the function it belongs in
The CI currently doesn't install (correctly?) the "discount" formatter,
so ldoc fallbacks to the default "markdown" formatter. However, if we
try to install the discount or lua-discount, the doc rendering is
slightly different from what we currently have.
All of this was already mentioned in the issue "Generate apidoc doesn't
use the discount markdown formatter #3500".
This change removes the configuration in the `config.ld` file, so we
don't have the "format: using built-in markdown" message any longer in
in the CI logs.
Note that I also removed the lua-discount installation from the
`apidoc.yml` workflow, since it wasn't working. (I guess it installs the lua
package for a different version of lua than the one used by ldoc)
The textbox API reflects the Pango layout API circa 2011, time to
bring this to 2022. This adds:
* indent
* justify
* line_spacing_factor
It doesn't add `spacing` because it doesn't seem to do anything.
It also doesn't add the `is_*` methods to know if the text wraps
or ellipsize. We could, but nobody asked for them. The line spacing
is a feature request from Posix on Discord.