Commit Graph

411 Commits

Author SHA1 Message Date
Emmanuel Lepage Vallee 86d1b1c22c doc: Add a mandatory `@noreturn` for functions and methods.
The goal is to catch cases where the return value exists, but is
forgotten. There was a large enough number of them to turn this
into a real check. Initially, I just wanted to implement it to fix
the problems, then delete the code. But since this is so common, I
think it is worth the annoyance.
2022-08-29 22:49:45 -07:00
Emmanuel Lepage Vallee 4bd90f0f35 doc: Add documentation linting and fix all issues it found. 2022-08-29 22:48:54 -07:00
Emmanuel Lepage Vallee f3987f43b6 doc: More proof reading fixes. 2022-08-29 22:48:54 -07:00
Emmanuel Lepage Vallee af3e62ae64 tasklist: Fix `disable_icon`.
It regressed when the tasklist switched to a template by default.
This was done to support the icon size.

Fix #3178
2022-08-29 22:48:54 -07:00
Grzegorz Bednarski 1f5b759306 Support minimized client property in tasklist icons (#3526) 2022-08-29 22:48:54 -07:00
Emmanuel Lepage Vallee fb8f7cfadd hotkey/calendar: Fix rendering when the theme color is a pattern.
It blew up.
2022-08-29 22:48:54 -07:00
Emmanuel Lepage Vallee 11a7c8c47b doc: Fix the `layoutbox` doc.
It didn't have a constructor.
2022-08-29 22:48:54 -07:00
Emmanuel Lepage Vallee dd7492fa7c doc: Fix some broken links in the tasklist doc. 2022-08-29 22:48:54 -07:00
Emmanuel Lepage Vallee 935da05be4 layoutlist: Sanitize the color when building Pango strings.
This was aready done in the `tasklist` and `taglist`.
2022-08-29 22:48:36 -07:00
Emmanuel Lepage Vallee 8f71ef6dff doc: Document the tasklist widget. 2022-08-29 22:48:35 -07:00
Emmanuel Lepage Vallee c7ed176586 tasklist: Fix `disable_icon`.
It regressed when the tasklist switched to a template by default.
This was done to support the icon size.

Fix #3178
2022-08-29 22:47:55 -07:00
Emmanuel Lepage Vallee b8dbba34db taglist/tasklist: Fix the fallback font.
When beautiful.font isn't set, it fell back to "". That value isn't
actually the same as the "default" Pango font. Better use `nil`.
2022-08-29 22:47:55 -07:00
Emmanuel Lepage Vallee 396bddb946 layoutlist: Add a `count` property.
Because it was added to the `taglist` and `tasklist` and their API
somewhat mirror each other.
2022-08-29 22:47:55 -07:00
Emmanuel Lepage Vallee 798d31881d taglist: Add a `count` property.
This is mostly for its signal handler. It will allow to replace the
template or layout based on the number of tags.
2022-08-29 22:47:55 -07:00
Emmanuel Lepage Vallee b11a8fb52c tasklist: Add a `count` property.
This is mostly for the signal handler. It will allow to do things
like replace the template or layout based on the number of clients.
2022-08-29 22:47:55 -07:00
Emmanuel Lepage Vallee 70c6821997 tasklist: Convert to a real widget.
Previously, it was monkey-patching the input layout object. This will
allow to replace the laoyut at runtime. For example, switching from
`fixed.horizontal` to a grid when the number of client gets too large.
2022-08-29 22:47:55 -07:00
Emmanuel Lepage Vallee a3b7532056 taglist: Expose more properties.
They were passed in the constructor, but could not be changed.
2022-08-29 22:47:55 -07:00
Emmanuel Lepage Vallee df59f5bdd3 taglist: Convert into a real widget.
It no longer monkey-patch the input layout widget. This allows the
layout to be replaced at runtime.
2022-08-29 22:47:55 -07:00
Emmanuel Lepage Vallee 2f3bce00e6 tasklist: Refactor to base a normal widget.
It was previously monkey-patching the input layout object into
the final tasklist.

This is a breaking change, but affects undocumented behaviors. By
doing this, it becomes possible to expose the properties in the
public API. This, in turn, allows to document them. Right now,
the documentation is very vague on some behaviors.
2022-08-29 22:47:55 -07:00
Matthias Paulmier b7bac1dc76
awful.widget.prompt: Properly take into account `with_shell` arg (#3659) 2022-07-12 08:53:34 -07:00
A.I c3c41bed2f
pass tag icon directly to imagebox
so that svg icons can be rendered with rsvg
2022-06-17 23:17:50 +08:00
Grzegorz Bednarski f353499230
Support minimized client property in tasklist icons (#3526) 2021-12-21 11:48:53 -08:00
sarubo 8d61790be7 doc: Add the markup example of popup_calendar
Refer to tests/examples/awful/widget/calendar_popup/default.lua
2021-11-21 23:49:46 +09:00
sarubo 03e437e32a calendar_popup: Fix markup not working 2021-11-21 23:42:00 +09:00
Emmanuel Lepage Vallee c7208b4bb0 layoutlist: Rename the constructor arg from `layout` to `base_layout`.
The documentation examples already called it that way.
2021-10-27 13:41:11 -07:00
Emmanuel Lepage Vallee 440d1560a3 layoutlist: Fix the `layout` consturctor parameter.
If set, it would override some important widget methods and
explode.
2021-10-27 13:41:10 -07:00
Emmanuel Lepage Vallee 2f8413acbc layoutlist: Use `layoutlist_spacing` instead of `tasklist_spacing`.
Old copy/paste bug.
2021-10-27 13:38:48 -07:00
Emmanuel Lepage Vallee c63a80de5c layoutlist: Allow empty constructor. 2021-10-26 13:37:16 -07:00
Emmanuel Lepage Vallee 213bfbc9bd doc: Fix a syntax issue in the layoutbox doc. 2021-10-14 14:09:47 -07:00
Emmanuel Lepage Vallee 01020a197d layoutlist: Support scrollwheel by default.
It acts like the default `rc.lua` tag/tasklist widgets.

Idea from https://github.com/awesomeWM/awesome/issues/3388
2021-10-14 14:09:47 -07:00
Emmanuel Lepage Vallee 1d5af8e8ad widget.common: Allow buttons to be replaced later.
So far, they could only be set in the constructor.
2021-10-14 14:09:47 -07:00
Emmanuel Lepage Vallee 9c042fcb79 layoutlist: Fix an assert when `buttons` are specified.
Fix #3388
2021-10-14 14:09:47 -07:00
Emmanuel Lepage Vallee cd2e961fcb layoutlist: Remove the duplicate `buttons` property from doc. 2021-10-14 14:09:47 -07:00
Elyes HAOUAS 54a5a7dce5
Fix some spelling errors (#3450)
Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
2021-10-04 19:20:03 -07:00
Aire-One 20a8d902c5 doc(@supermodule): Add to awful.widget modules 2021-04-02 19:24:07 +02:00
James R aeb2d85dad
tasklist: Fix documented function names (#3276) 2021-03-22 15:28:53 -07:00
Emmanuel Lepage Vallee 522d628c2c doc: Complete the widget documentation page.
This adds the `awful.widget` content along with some images.
2021-03-22 00:54:00 -07:00
Jonta 1c53c36eb7
Grammar 2020-12-05 16:17:45 +01:00
Hugo Trassoudaine feb699aa3c
Add doc fields for extra tasklist client property notification icon theming in lib/awful/widget/tasklist.lua
Signed-off-by: Hugo Trassoudaine <hugo.trsd@gmail.com>
2020-04-06 14:20:35 +02:00
Emmanuel Lepage Vallee 75f51d2fee keyboardlayout: Document `next_layout`. 2020-02-29 19:47:36 -05:00
Emmanuel Lepage Vallee 870cf261fb keyboardlayout: Enable properties. 2020-02-29 19:47:36 -05:00
Emmanuel Lepage Vallée f88efc8854
Fix the layoutbox screen
Fix #3004
2020-02-23 16:14:06 -05:00
Emmanuel Lepage-Vallee 575b0f12dc doc: Remove all type aliases.
They render poorly and serve no purpose.

    #!/bin/bash
    for FILE in $(git ls-files | grep -E "\.(h|c|lua)" | grep -v tests | grep -v spec); do
        sed -i 's/^[ ]*--*[ ]*@client /-- @tparam client /g' $FILE
    done
2020-01-19 20:30:06 -05:00
Seth Barberee ab6381686e add calendar_popup pic to doc 2020-01-17 16:02:18 -06:00
Emmanuel Lepage Vallee 55a097efc7 client: Update existing code to use `property::active`. 2020-01-11 15:43:15 -08:00
Emmanuel Lepage Vallee 04c757322c client: Turn `rc.lua` logic into a new `request::border` signal.
The default `rc.lua` was using the focus/unfocus signals to set
the border color along with `awful.rules`. This logic block was
no longer aligned with the rest of `rc.lua` since it was
the only place where `beautiful` variables where only used by
`rc.lua`.

On top of this, the new request handler also has extra contexts
for the urgent and floating/maximixed use cases. So it can be used
by themes to implement much smarter borders than just focus based
ones. They were previously limited by the fact most of the
(un-monkey-patchable) logic was in `rc.lua`.

Note that this commit also shuffle the awful.rules order between
the titlebar and the border and changes the tests accordignly.
After some consideration, I came to the conclusion the previous
behavior was bogus and the fact that the placement tests required
to know about the titlebar height is simply a proof of that. The
change was required in this commit because since the border is no
longer in the default rules, a new buggy edge case surfaced.
2020-01-11 15:43:11 -08:00
Emmanuel Lepage Vallee ba5385dd40 client: Update existing code to use `c.active`. 2020-01-11 14:43:56 -08:00
Emmanuel Lepage Vallee 067bcaca60 client: Rename the `manage` and `unmanage` signals.
They currently fit the general concept of a `request::` in the sense
that they are not property related and have "request handlers".

The commit also add deprecation for signals.

The reason for this fits within the larger standardization project.
Non-namespaced signals will eventually be renamed. This has started
a long time ago.

What is old is new again. Once upon a time, there was a `startup`
parameter to the `manage` signal. It is now back in the form of
a context.

Finally, this commit removes the `manage` section of `rc.lua`. It no
longer did anything worthy of being in the config. Each of its
important parts have been moved out over the years and the last
remaining bit is always required anyway. The code has been moved
to `client.lua`.
2020-01-11 14:43:56 -08:00
Emmanuel Lepage-Vallee 833948ea67 doc: Polish the awful.widget doc.
A lot of them were missing the inheritance includes.
2019-12-21 21:53:57 -08:00
Seth Barberee 431791accc add layoutbox example 2019-12-05 23:48:55 -05:00