* Stop using top level properties for vertical/horizontal
* No abbreviations
* Use height/width instead of size
* Don't use methods where properties can be used
This is long overdue. A bit of historical context. The grid API
is losely somewhat based on the old `radical` module, but was
heavily improved by @getzze. That version had row_span and col_span.
This made the way the previous implementation coded the border
incompatible. I spent some time back then trying to bolt it back on,
but the complexity is quite high and never made it work right.
This commit goes in another direction. Rather than draw the border,
it creates a mask where the border should *not* be, then bucket fill
the widget. This is the equivalent of CSS `border-collapse`.
It also support custom borders. This allows dashed lines and partial
borders.
The main use case will be to add border support to the calendar. It
was previously possible to partially do it using custom cell painters,
but was pretty hacky. Now that the calendar will deprecate the custom
painters in favor of `widget_template`s, a more robust alternative was
required.
The drawback of this commit is obviously the added complexity to the
most complex layout. This is why it adds many tests to cover the various
corner cases.
This is already used in the `wibox.layout.manual` layout. It makes
the widget easier to use. Previously, using the imperative syntax
was necessary for most grids.
* fix(naughty: icon: new, fit): use `icon_size` from the notification object if defined (fixes#3752)
* fixup! fix(naughty: icon: new, fit): use `icon_size` from the notification object if defined (fixes#3752)
* fixup! fixup! fix(naughty: icon: new, fit): use `icon_size` from the notification object if defined (fixes#3752)
* Fix typo in taglist.lua
Just a small typo correction from 'templete' to 'template' in the comments.
* Fix another typo in taglist.lua
Also changed 'genetate' to 'generate'
The `volatile` property is supported by the taglist (theme variables
`beautiful.taglist_bg_volatile` and `beautiful.taglist_fg_volatile`)
but taglist is not updated when the property is changed.
This can also act as an auto-save feature if the delay is zero. It
also adds more signals. These signals are intended for creating
notifications. `awful` cannot safely depend on `naughty`, so this
intergration will have to be done by the users.
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