Commit Graph

428 Commits

Author SHA1 Message Date
Actionless Loveless 1932bd017f
doc(readme): link to building and testing (fixes #3514) (#3515) 2021-11-28 14:59:51 -08:00
Emmanuel Lepage Vallee 0afb719f82 doc: Improve the progressbar doc.
Another commit in the "lets finish the widget doc" serie.
2021-11-02 20:36:07 -07:00
Emmanuel Lepage Vallée d5fae3f3dc
Merge pull request #3478 from Elv13/better_shims
Fix a few sequences template bugs
2021-10-28 12:27:11 -07:00
Emmanuel Lepage Vallee 7d6892992c client: Change the `relative_move` behavior.
The old behavior would move the client when `nil` was passed by
an almost arbitrary value. It would most of the time go off screen.

While this is a behavior change, what it replaces was so broken I
doubt anybody actually used `nil` in `relative_move`.
2021-10-27 18:30:30 -07:00
Sergey 6a92af1662 Adding readonly tag to the summary 2021-10-27 14:52:25 -04:00
Sergey 486fd3744f Adding ldoc readonly tag text in the extra_summary list 2021-10-26 18:31:45 -04:00
Sergey 899f9c8879 Adding readonly ldoc tag 2021-10-26 18:07:20 -04:00
Sergey 60dfa3f6bd Fixing a typo 2021-10-26 18:06:38 -04:00
paulhersch ebc9b99ae2
fixed a typo (#3481) 2021-10-23 20:02:34 -07:00
Emmanuel Lepage Vallee ae71158093 doc: Add documentation for the client "window factor" related functions
It might be a good idea to deprecate them and move them to the tag
class. However, these APIs are not exactly well designed, so
moving them wont solve that. Some day the dynamic client layout will
hopefully be merged and send these functions to the heap of smelly
bad ideas trash.
2021-10-18 14:38:37 -07:00
Emmanuel Lepage Vallee 93283a9885 doc: Undocument internal client `urgent` and `shape` methods.
There is already some permissions to change the behavior. I don't
think there is valid user-facing use cases for these "methods".
2021-10-18 14:38:37 -07:00
Emmanuel Lepage Vallee 5f321df4cc doc: Fix the image link on the index page. 2021-10-04 10:38:05 -07:00
Emmanuel Lepage Vallée 7806763667 Update docs/05-awesomerc.md.lua
Co-authored-by: Aire-One <aireone@aireone.xyz>
2021-09-24 08:42:42 -07:00
Emmanuel Lepage Vallee 70cd293839 doc: Integrate `awful.wallpaper` into the guides. 2021-09-24 08:42:42 -07:00
Emmanuel Lepage Vallee 883cdb7f41 doc: Fix the rendering of double quotes and semicolons
CMake uses quotes and semicolon in its internal list datatype.

Previously, all double quotes were converted to single quotes to
avoid this problem. Semicolors were interpreted as newlines in
ldoc.

With this commit, both of them render fine. This was required
because a new example uses CSS and XML where those symbols have
a specific meanning.
2021-09-24 08:42:42 -07:00
Nguyễn Gia Phong be45b40cdb
Remove Vicious as async counterexample
Vicious has stopped using io.popen since October 2019.
2021-08-12 21:12:33 +07:00
aflorea-2k 8a81745d4d
doc(index.html): fixed broken links (#3402)
Fixes #3393, where links to guides were hard-coded, and pointed to wrong
places in the git version.
2021-08-04 11:07:57 -07:00
Emmanuel Lepage Vallée 4b494952da
Merge pull request #3400 from aflorea-2k/06-appearance.md_duplicates-fix
06 appearance.md duplicates fix (fixes #3328)
2021-08-02 18:13:35 -07:00
aflorea-2k ddb88ed945
List of values in table renders as HTML list
Co-authored-by: Aire-One <Aire-One@users.noreply.github.com>
2021-08-02 14:48:50 +02:00
Andrei Florea 5f5b1dcb2b
Removed dupicate computation of values 2021-08-02 14:46:20 +02:00
Andrei Florea b73b885c1e
06-appearance.md no longer mentions duplicates. (fixes #3328)
The table entries that were duplicated are now side by side.
There are no longer duplicates in the sample file.
2021-07-31 17:29:56 +02:00
Lucas Schwiderski 05ca439ed5
doc(mousegrabber): Improve cursor list
Utilize screen space better with a flex list, compared to a
single-column table.

Signed-off-by: Lucas Schwiderski <lucas@lschwiderski.de>
2021-07-31 15:04:54 +02:00
Andrei Florea 66bb09718b
docs/_parser.lua: parse_files() doesn't produce duplicate entries
anymore.

TODO: Handle duplicate's links.
2021-07-31 11:42:38 +02:00
Lucas Schwiderski f214ef16a7
doc(w.l.fixed): Improve docs for common layout methods
Signed-off-by: Lucas Schwiderski <lucas@lschwiderski.de>
2021-07-14 23:00:30 +02:00
Aire-One 6b97ec3307 doc(ltp) Change author mention 2021-06-14 17:03:26 +02:00
Lucas Schwiderski 8c422d4f68
docs(faq): Add tip for missing .desktop file
Re-implements #3282.

Co-authored-by: HolySuicidalTurkey <63883308+HolySuicidalTurkey@users.noreply.github.com>
2021-05-22 15:55:58 +02:00
Lucas Schwiderski 9a3ff8eb95
docs(w.l.fixed): Fix incorrect wording
Signed-off-by: Lucas Schwiderski <lucas@lschwiderski.de>
2021-05-21 19:54:49 +02:00
Lucas Schwiderski e0244e60da
docs(tutorial): Add missing theme
Signed-off-by: Lucas Schwiderski <lucas@lschwiderski.de>
2021-05-21 19:54:48 +02:00
mergify[bot] fda950d186
Merge pull request #3263 from Aire-One/doc_textclock
[doc] Improve wibox.widget.textclock format documentation
2021-04-07 09:59:08 +00:00
Aire-One 6226742f72 doc(wibox.widget.textclock): Widget definition. 2021-04-07 01:38:53 -07:00
Aire-One 9807ccd5e0
fix(ldoc.ltp): extra-header tag arrangement (#3318) 2021-04-05 09:42:15 -07:00
Emmanuel Lepage Vallee 25f4cfcb05 doc(ltp): Implement module `extra-header` section
Co-authored-by: Lucas Schwiderski <lucas@lschwiderski.de>
Co-authored-by: Aire-One <Aire-One@users.noreply.github.com>
2021-04-02 20:00:46 +02:00
Aire-One bc8a5b0230 fix(ldoc.ltp): item.inherited can be wrongly true
For some even more strange reasons than commit 047729ae1, it seems
we can also have the error that `item.inherited` can be sets to `true`
on items that are not inherited...

I just had this issue with `wibox.widget.imagebox` where properties
were marked as inherited from `wibox.widget.imagebox`. Best way to fix
it is to only trust the check on `item.baseclass`, and completly
dismiss its `inherited` property.
2021-04-02 19:24:07 +02:00
Aire-One af3b194a31 doc(@hidden;ldoc.ltp): Add ldoc tag to hide item
Add a new ldoc tag `@hidden`. This tag allows us to keep documentation
for magic methods (e.g. `wibox.widget.base:get_visible`) but prevent
it from being part of the documentation used by final users.
2021-04-02 19:24:07 +02:00
Aire-One 5baa1c97cd fix(ldoc.ltp): Identify inherited items by name 2021-04-02 19:24:07 +02:00
Aire-One 93e9361280 fix(ldoc.ltp): item.inherited can be wrongly false
For some reasons, sometime `item.inherited` is `false` even if the
item was added to the `all_module_kinds` table by the "hierarchy
lookup" for-loop, and we already force the `inherited` property to be
sets to `true` at this moment.

With this commit, we add a second fail-check condition based on the
`item.baseclass` property to determine if the item is inherited or not
when we do the render.
2021-04-02 19:24:07 +02:00
Aire-One b82d2a690f doc(@supermodule;ldoc.ltp): Find inherited members
This commit uses the `@supermodule` tag to recursively find all the
properties from supermodules and add them to the current module
documentation.
2021-04-02 19:24:07 +02:00
Aire-One 4dd689f181 doc(@supermodule;ldoc.ltp): Draw hierarchy tree
This commit adds a new ldoc custom tag `@supermodule`. It has to be
used at the module level. It should refer to the module
supermodules.

This tag can be used multiple time by the same module, but we ignore
other calls (for now?) as (AFAIK) we only use one way inheritance.

This tag is used in the ldoc template to find modules hierarchy and
draw the inheritance tree. It makes it easy to find and navigate to
parents modules.
2021-04-02 19:24:07 +02:00
Lucas Schwiderski 112dc8054e
docs(tutorial): Fix line wrap
Signed-off-by: Lucas Schwiderski <lucas@lschwiderski.de>
2021-03-31 08:29:40 +02:00
Lucas Schwiderski 8907f5bfbb
docs(tutorial): Improve instructions to edit theme
Fixes #3306.

Signed-off-by: Lucas Schwiderski <lucas@lschwiderski.de>
2021-03-31 08:29:39 +02:00
Lucas Schwiderski f3a0937ea3
Remove advanced building options from README
This removes the section about advanced build options and build
dependencies and points to the docs page instead.

Signed-off-by: Lucas Schwiderski <lucas@lschwiderski.de>
2021-03-23 10:18:33 +01:00
Lucas Schwiderski cce8e80cbd
Improve code snippet rendering in README
This converts the code snippets to the alternate block definition and
adds language hints to enable syntax highlighting for compatible parsers
(such as on the GitHub page).

Signed-off-by: Lucas Schwiderski <lucas@lschwiderski.de>
2021-03-23 10:18:32 +01:00
Lucas Schwiderski 849a8b5af4
Add docs section about building and testing
This documents various CMake variables for building and the available
test suites.

Signed-off-by: Lucas Schwiderski <lucas@lschwiderski.de>
2021-03-23 10:18:29 +01:00
Jonas Belouadi ce5196424e
Docs: Fix code example for cairo usage. (#3295) 2021-03-22 15:05:46 -07:00
Emmanuel Lepage Vallée d583129eb6
Merge pull request #3143 from Elv13/doc_client_layout
Document the client layout properties
2021-03-22 12:10:36 -07:00
Emmanuel Lepage Vallee b4cf88f4c0 doc: Fix the titlebars widget constructor doc 2021-03-22 00:56:02 -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
Emmanuel Lepage Vallee ac0aeb65c0 doc: Modernize the landing page.
The previous index.html was scary and the most useful links were
at the bottom. This commit fixes that.

It also adds an image of the default config with some labels to name
all visible components.
2021-03-22 00:54:00 -07:00
Aire-One 8bdabb234b draft 2021-03-21 23:58:05 -07:00
Lucas Schwiderski 08a1018775
Add changelog for breaking change
Signed-off-by: Lucas Schwiderski <lucas@lschwiderski.de>
2021-03-08 20:09:57 +01:00
Unai 1518b0f4c0
Border_marked naming consistency (#3084)
* finish renaming border_marked to border_color_marked

* doc: document border_color_fullscreen, update border_color_marked and fix typo

* deprecate instead of removing

* doc: fix border_color_marked
2020-05-04 01:42:09 -07:00
Michael b959c9de1a docs: Fix wrong code example in "03-declarative-layout" 2020-04-16 18:23:50 +00:00
Emmanuel Lepage Vallee d408ec7846 doc: Use a more compact rendering for method return types. 2020-02-29 21:17:27 -05:00
Emmanuel Lepage Vallee 79dd2d731a doc: Improve the method and function rendering.
It now adds the return type to the signature.
2020-02-29 21:17:27 -05:00
Emmanuel Lepage Vallee 5f9bd77bd9 doc: Do not add parentheses arpund property types.
They provide no value.
2020-02-29 21:17:27 -05:00
Matthew Wild c4bc882825
doc: Update wallaper example in tutorial
Reported by elbuggito in IRC that this the example line is no longer present in the default theme.lua.
2020-02-28 08:53:02 +00:00
Emmanuel Lepage Vallee 9f5a17ed98 doc: Add the notification property table.
This is autogenerated using the `build_rules_index.lua` script.
2020-02-15 20:33:21 -05:00
Emmanuel Lepage Vallee c1d59fef24 doc: Build property indexes for more classes instead of only client.
These index will be used for the rules documentation.
2020-02-15 20:33:21 -05:00
Emmanuel Lepage Vallee 3da2264df2 doc: Add a shared section for the signal documentation. 2020-02-15 20:33:21 -05:00
Emmanuel Lepage Vallee d755a877ff doc: Add a new manual page describing the command line options. 2020-02-08 17:59:16 -05:00
Uli Schlachter 8df463f971 doc: Improve the client documentation. 2020-01-19 20:30:06 -05:00
Emmanuel Lepage-Vallee 46026ccc2e doc: Fix a regression that added another space in the URL.
This will break some existing links, but oh well, it isn't the first
time and some websites cannot render URLs with spaces in them. This
means external references to some of the input doc are currently
impossible.
2020-01-19 20:30:06 -05:00
Emmanuel Lepage-Vallee 31e0a3e67b doc: Fix the item summary rendering.
* Correctly count the elements
 * Use singular and plural tense properly
2020-01-19 20:30:06 -05:00
Emmanuel Lepage-Vallee 74ba84b299 doc: Make use of the @classsignal tag.
It wasn't doing anything until now.
2020-01-19 20:30: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
Emmanuel Lepage Vallee b1a4b1dd9a doc: Add a flowchart for ruled.client. 2020-01-19 02:58:46 -05:00
Emmanuel Lepage Vallee 71c230035c rules: Move `awful.rules` to `ruled.client`.
From now on, all core object will have their own rules. `awful.rules`
hardcodes some client specific code. All `rules` module have some form
of class specific code. This code will now be part of a new module
called `ruled`. Since a year or so, a lot of work has been done to
refactor the rules on top of the shared `gears.matcher` class. This way
there wont be as much duplication.
2020-01-19 02:58:37 -05:00
Emmanuel Lepage Vallee 84e6bbb86d doc: Improve the common documentation between all rules modules.
It was missing lesser/greater and the `id` type wasn't rendered
properly.
2020-01-19 02:39:30 -05:00
Emmanuel Lepage Vallee 104eac0bec doc: Update the ldoc config to handle the new ruled module. 2020-01-19 01:55:54 -05:00
Emmanuel Lepage Vallee 2b11fcfd1c doc: Add a section for rules matching properties.
It also change the text of "clientproperties" to be more generic so it
can apply to other type of rules.
2020-01-19 01:55:54 -05:00
Emmanuel Lepage Vallee 6ee294fd5a doc: Make sure the ruled module init.lua is ignored.
This has to be in its own commit otherwise Travis will fail. This
is because it will keep the file in the build directory when
iterating all commits. Then `ldoc` will fail because the file doesn't
have documentation. If `config.ld` is updated first, then it will
fail because `ruled/init.lua` doesn't exist yet. When it is done
in a separate commit, then `config.ld` is already updated and comes
with `init.lua`.
2020-01-19 01:55:54 -05:00
feltcat 358c6f50b6 Fix typos and grammar in new widgets documentation 2020-01-14 05:22:03 +00:00
Emmanuel Lepage Vallee e208b81763 doc: Add a @request tag to document the request:: contexts. 2020-01-11 15:43:31 -08:00
Emmanuel Lepage Vallee 7705ef9f1e doc: Add a @classsignal tag.
To be used to denote when a signal only exists on a class, rahter
than on instances + class.
2020-01-11 15:43:31 -08:00
Emmanuel Lepage Vallee 5818de41ce awful: Rename awful.ewmh to awful.permissions.
It has nothing to do with EWMH since a long time. It was already used
for the requests, so lets formalize this.
2020-01-11 15:43:30 -08:00
Emmanuel Lepage Vallee efc42b1be1 autofocus: Modify `awful.autofocus` to be a request::.
This also pulls in part of the permission framework to ensure
backward compatibility is kept.

`awful.autofocus` was always weird. It is a module part of `awful`,
but it was never part of `awful` `init.lua`. Rather, `rc.lua` was
the sole place it was used. It behave exactly like a request, but
predate them by years. As I cleanup the request:: API before the
permissions API gets formalized, this has to be fixed now.

It isn't deprecated in this commit because it makes too many tests
fail. Another pull request will solve that by adding the "API level"
concept to AwesomeWM so I can change the behavior without breaking
existing configs. With that, the behavior of `autofocus` will be
enabled by default with the permissions to disable it.
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 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 3c26ccc424 doc: Port the `wibox` module to the new doc format. 2019-12-21 13:25:25 -08:00
Emmanuel Lepage Vallée 6ed1f643cb
Merge pull request #2937 from Elv13/more_keyboard
More awful.key / awful.button improvements.
2019-12-05 23:50:23 -05:00
Emmanuel Lepage Vallee 288e4df49b doc: Add a behavior change notification in the NEWS 2019-12-05 23:08:48 -05:00
Aire-One 3a99b91334 Fix a quirk for type render in the default format. 2019-12-05 19:05:36 +01:00
Aire-One 05e92672d6 Fix `@propemits` format mistakes. 2019-12-05 18:39:51 +01:00
Aire-One 828dabcbec Fix missing `self` parameter from signals.
The `wibox.widget` common documentation from `docs/common/widget.ldoc` was missing the first `self` parameter on mouse signals.
2019-12-02 13:19:46 +01:00
Emmanuel Lepage Vallee f21e0ba9dd doc: Upgrade the widget layout documentation. 2019-11-30 01:26:06 -05:00
Emmanuel Lepage Vallee 4168462b33 doc: Add an `@interface` tag.
Unlike `@baseclass`, some methods (like :reset()) and properties
are implemented across multiple classes.
2019-11-29 01:26:25 -05:00
Emmanuel Lepage Vallee 3508b6a18b doc: Add an `@introducedin` tag.
It is optional for now, but maybe in the future we can make
it mandatory. It will allow to have some "New!", "Not released"
messages or something in the doc. That would allow us to share
most of the doc between the stable and git versions.
2019-11-29 01:26:25 -05:00
Emmanuel Lepage Vallee 6f92f60076 doc: Add more deprecation related tags.
They do nothing for now, but once we are done adding them to
everything, they will replace the old `@deprecated` family of
type-tags.

They carry more information such as when it was removed and why.
Cross-referenced with the @version, we can infer the deprecation
status based on the current release rather than a boolean
"deprecated or not deprecated".
2019-11-29 01:26:25 -05:00
Emmanuel Lepage Vallee ec7cac5dbf doc: Add a summary next to the property/method title. 2019-11-29 01:26:25 -05:00
Aire-One 46c86351a0 Add ldoc tags for inherited members.
* Add `@inheritedproperty`, `@inheritedmethod` and `@inheritedsignal` ldoc tags to specify inherited members in the documentation,
* These new tags create their own section in the rendered documentation,
* Implemente these tags for `docs/common/object.ldoc` and `docs/common/widget.ldoc`.
2019-11-29 01:26:25 -05:00
Emmanuel Lepage Vallée c34d2577ea
Update docs/config.ld
Co-Authored-By: Yauhen Kirylau <actionless.loveless@gmail.com>
2019-11-27 13:11:20 -05:00
Emmanuel Lepage Vallee 9c63b20b62 doc: Generate a summary of some noteworty tags. 2019-11-27 01:44:23 -05:00
Emmanuel Lepage Vallee a3a2fc1344 doc: Hide the newly auto-generated content by default.
First of all, yes, JavaScript in the doc. I don't like this either.

The reason is that the new sections are super useful *when you need
them*. However, in practice, that's rare. So better not make the
signal to noise ratio worst. Future commit will introduce an
auto-generated summary of what's hidden.
2019-11-27 01:44:23 -05:00
Emmanuel Lepage Vallee ee912671eb doc: Add a standard `@propbeautiful` tag.
This allows to state that this variable has a equivalent beautiful
variable named using the usual conventions. It will generate all
the boilerplate magically and also takes optional fallback variable
names.
2019-11-27 01:44:23 -05:00
Emmanuel Lepage Vallee deca2880c5 doc: Add a new `@propemits` for common property signals.
This adds a lot more boilerplate than `@emits`. In turn, it avoids
copy/pasting some code for *all* properties.
2019-11-27 01:44:23 -05:00
Aire-One 185ad15140 Add inheritance tags to `docs/common/wibox.ldoc`. 2019-11-27 01:44:23 -05:00
Aire-One 589908adef Add inheritance tags to `docs/common/widget.ldoc`. 2019-11-27 01:44:22 -05:00
Aire-One 550e346d7b Add inheritance tags to `docs/common/object.ldoc`. 2019-11-27 01:43:07 -05:00
Aire-One bc35da73ac Implement inheritance into ldoc template.
This use the new `@baseclass` and `@inherited` tags to add inheritance data to the rendered documentation.
2019-11-27 01:43:07 -05:00
Emmanuel Lepage Vallee 4102e6a503 doc: Update the template to render sub-tags.
Sub-tags are a new concept and is equivalent to @tparam, but in
a generic form.
2019-11-27 01:43:07 -05:00