Commit Graph

10916 Commits

Author SHA1 Message Date
Emmanuel Lepage Vallee 8fc30ae693 Port all "old" `widget_template` to use `wibox.template`.
This doesn't actually use `set_property`, but it at least covert the
old table to `wibox.template` object. Future cleanup can take care
of the code duplication.
2022-11-13 15:59:01 -08:00
Emmanuel Lepage Vallee 7aab54ed19 template: Make sure the template is loaded when calling `get_children_by_id`. 2022-11-13 15:59:01 -08:00
Emmanuel Lepage Vallee cc7feb932c doc: Fix a compiler warning.
The `gears.share.solid_rectangle_shadow` PR was written before the
warning was added.
2022-11-13 15:59:01 -08:00
Emmanuel Lepage Vallee 07590962e5 template: Rename to `wibox.template`.
It was previously `wibox.widget.template`, but was in fact a container.

Now it is a top level concept. The next few commits will integrate it deeper
into AwesomeWM.
2022-11-13 15:59:01 -08:00
Emmanuel Lepage Vallee 3765efaccc wibox.template: Remove the `args` in favor of passing the template directly.
It didn't do much and I wanted to make the syntax a drop-in replacement
of `wibox.widget {}`.
2022-10-23 19:04:28 -07:00
Emmanuel Lepage Vallee 67b2b26683 template: Bring to feature parity with the awful.widget.common implementation.
`awful.widget.common` has the ability to set "roles" and apply properties
to the entire widget tree. This was missing from the previous commit.
2022-10-23 19:04:28 -07:00
Emmanuel Lepage Vallee 495922c31c shims: Fix some missing client property::* signals.
It also found a bug in an existing test.
2022-10-23 19:04:28 -07:00
Aire-One a7932b127f add(w.w.template) template can't be a callback
Containers and layouts don't allow to build a widget from a callback, so
there is no reason to have this feature here.
2022-10-22 15:44:35 -07:00
Aire-One 2dab6c336c add(w.w.template) set_template check widget 2022-10-22 15:44:35 -07:00
Aire-One 2542c3b04a add(w.w.template) constructor accepts widget props 2022-10-22 15:44:35 -07:00
Aire-One d5382b0881 add(spec) more `wibox.widget.template` tests 2022-10-22 15:44:35 -07:00
Aire-One 8803878e1f doc(w.w.template) 3rd party lib usage example 2022-10-22 15:44:34 -07:00
Aire-One bfe4832c63 doc(w.w.template) current methods 2022-10-22 15:44:34 -07:00
Aire-One 45a458a2b7 doc(w.w.template) module description 2022-10-22 15:44:34 -07:00
Aire-One aaec225545 fix(w.w.template) free queued_updates array
This is a small cleanup to not keep in memory a value we don't need.

After the update_callback callback is called, we don't need to remember
it happens this callback was  queued before. (It also prevents a
possible memory leak (of a boolean value) when widgets are destroyed)
2022-10-22 15:44:34 -07:00
Aire-One cd5dda385e fix(w.w.template) draw
The draw method exists only for widgets. When dealing with more complex
widget, this method is not necessary implemented (i.e. with layouts).

We need to check the method is defined by the child before calling it.
2022-10-22 15:44:34 -07:00
Aire-One f12bb57c66 fix(w.w.template) fit and layout methods
The previous implementation for these methods was a naive attempt at
making the base widget working. We need to make sure computing the
widget's sizes is more robust for complex widget_template definition.
2022-10-22 15:44:34 -07:00
Aire-One 33d5de52c6 add(w.w.template) constructor `buttons` param 2022-10-22 15:44:34 -07:00
Aire-One 086eb146f6 add(w.w.template) implement widget as child 2022-10-22 15:44:34 -07:00
Aire-One e7db5e3049 fix: format 2022-10-22 15:44:34 -07:00
Aire-One f4088ca4e1 fix: rename parameter 2022-10-22 15:44:34 -07:00
Aire-One 29ea4ddba9 fix(spec) remove dead code
Suggested by @sclu1034
2022-10-22 15:44:34 -07:00
Aire-One b824d99c05 fix(update_args) move to _private property
Suggested by @sclu1034
2022-10-22 15:44:34 -07:00
Aire-One 2f2beb69cb add: natural management of update arguments 2022-10-22 15:44:34 -07:00
Aire-One a005967191 fix: variable declaration
Suggested by @sclu1034
2022-10-22 15:44:34 -07:00
Aire-One d5dbb9d32e add(update_callback) allow nil callback
Suggested by @sclu1034
2022-10-22 15:44:34 -07:00
Aire-One 18ae7bb56d add(spec) `wibox.widget.template` unit tests 2022-10-22 15:44:34 -07:00
Aire-One d09a704d7f fix(spec) add `awesome.api_level` preload
This is a needed property from the awesome global object to allow unit tests
to be checked now that widget.base implements different features based on the
current API level.
2022-10-22 15:44:34 -07:00
Aire-One 08109a6d60 add(w.w.template) template widget 2022-10-22 15:44:34 -07:00
Lily a436478731
fix floating snap (#3719)
makes snap & aerosnap respect padding & workarea, adds snapper_gap padding to build_placement subcalls using args
2022-10-22 14:38:52 -07:00
Emmanuel Lepage Vallée 836ba19e0d
Merge pull request #3712 from raven2cz/master
New ldoc themes
2022-10-22 14:38:27 -07:00
Antonin Fischer a8a421209e SVG comments removed. 2022-10-22 08:42:15 +02:00
Emmanuel Lepage Vallée 26032bf018
shape: Add a "solid shadow" shape. (#3489)
This is an useful client shape to get "client side solid shadows".
2022-10-16 02:29:09 -07:00
Lucas Schwiderski 963622af8e
fix: Use user-provided Lua binary to run scripts (#3715) 2022-10-10 22:42:33 -07:00
Tonda Fischer 5b097a1a6f
Merge pull request #3 from raven2cz/raven2cz/ldoc_themes
Best svg filter for dark modes.
2022-10-08 13:42:27 +02:00
Antonin Fischer 24329c4b98 Best svg filter for dark modes. 2022-10-08 13:41:14 +02:00
Tonda Fischer 783f84810f
Merge pull request #2 from raven2cz/raven2cz/ldoc_themes
#3712: Inverted svg images.
2022-10-08 10:45:57 +02:00
Antonin Fischer 663a49b7ab #3712: Inverted svg images. 2022-10-08 10:45:04 +02:00
Tonda Fischer 2652cc3ebd
Merge pull request #1 from raven2cz/raven2cz/ldoc_themes
Add ldoc new themes.
2022-10-07 09:12:05 +02:00
Antonin Fischer 8924de0bf0 Add ldoc new themes. 2022-10-07 09:10:21 +02:00
David Kosorin b16f628620
Restore minimized sticky clients (#3709) 2022-09-29 23:12:13 -07:00
Aire-One 4a140ea5ea
Revert "fix(ldoc): set `format` to "markdown" (#3500)" (#3704)
This reverts commit 8d5c74fae3.
2022-09-22 22:53:53 -07:00
Emmanuel Lepage Vallée 4f086e58fc
Merge pull request #3701 from sashashura/patch-1
GitHub Workflows security hardening
2022-09-22 22:53:36 -07:00
Emmanuel Lepage Vallée f8e0dfd486
Merge pull request #3696 from Aire-One/feat/fix-ldoc-warns
Fix ldoc WARN
2022-09-20 20:11:16 -07:00
Alex 76edd69587
Update apidoc.yml
Remove write permission as not needed
2022-09-20 20:13:12 +01:00
Alex 00b1ad5b45 build: harden apidoc.yml permissions
Signed-off-by: Alex <aleksandrosansan@gmail.com>
2022-09-20 14:24:00 +02:00
Alex b602d42073 build: harden main.yml permissions
Signed-off-by: Alex <aleksandrosansan@gmail.com>
2022-09-20 14:21:14 +02:00
Aire-One 8d5c74fae3 fix(ldoc): set `format` to "markdown" (#3500)
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)
2022-09-18 18:40:52 +02:00
Aire-One db5ade48e4 doc(awful.titlebar): fix ldoc WARN 2022-09-18 18:22:52 +02:00
Aire-One 941bb72fa2 doc(awful.keygrabber): fix ldoc WARN 2022-09-18 18:22:02 +02:00