Commit Graph

10536 Commits

Author SHA1 Message Date
Emmanuel Lepage Vallee ba1d5bf712 rc.lua: Stop hardcoding the client keys.
Just like the previous commit for the client buttons, this allows
modules to manipulate the keys independently of `rc.lua`.
2019-12-05 22:50:02 -05:00
Emmanuel Lepage Vallee 767a8e4f6d rc.lua: Do not hardcode the default client buttons.
This commit moves the previously hardcoded client button list
to the `awful.client` default button set. This will allow modules
to add their own buttons.

In later commit, those default buttons will also be added dynamically
to existing clients.
2019-12-05 22:50:02 -05:00
Emmanuel Lepage Vallee 44a665d381 awful.rules: Use the `awful.client/mouse` default buttons and keys. 2019-12-05 22:49:59 -05:00
Emmanuel Lepage Vallee 1921d54528 rc.lua: Remove the numkey loop and use the awful.key keygroup.
The result is the same. One less imperative construct in `rc.lua`.
2019-12-05 22:48:56 -05:00
Emmanuel Lepage Vallee a53ff7418e tests: Add more global awful.key in test-awesomerc.
This forces the hotkey popup to have pages.
2019-12-05 22:48:56 -05:00
Emmanuel Lepage Vallee 1f604a73c9 awful.key: Support multiple keys per `awful.key` objects.
This allows to support the arrows, numpad or numrow using a single
object. This will simplify some code, including `rc.lua`.
2019-12-05 22:48:56 -05:00
Emmanuel Lepage Vallee d6568993e2 awful.mouse: Add a "request::default_mousebindings" signal.
`rc.lua` and the module must attach to this signal to add buttons
to the default set.
2019-12-05 22:48:52 -05:00
Emmanuel Lepage Vallee 8b6ea8243a awful.mouse: Add a function to remove a default client button. 2019-12-05 22:45:05 -05:00
Emmanuel Lepage Vallee 7dfd32e4ba awful.keyboard: Add a function to remove a key from the default set. 2019-12-05 22:45:05 -05:00
Emmanuel Lepage Vallee 80c65c5175 awful.mouse: Add a `append_mousebindings` function.
To preserve the symetry between the `button` and `key` API.
2019-12-05 22:44:13 -05:00
Emmanuel Lepage Vallee 370e754006 awful.mouse: Add a function to add a new `awful.button`s to clients. 2019-12-05 22:38:14 -05:00
Emmanuel Lepage Vallee a8e8c46b56 awful.keyboard: Add a method to add a default client key.
This is the first commit of a new API to add and remove buttons
and keys from clients. The goal is to get rid of the default `rc.lua`
"hardcoded" list of client buttons and keys to allow modules to modify
the defaults. This is part of the larger effort to make `rc.lua`
modular.
2019-12-05 22:32:00 -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
Emmanuel Lepage Vallee c96487515f object: Make the legacy accessor code more robust.
* Using `= one and two or three` is a bad idea on boolean.
* Using # to check if a table has content doesn't work on named keys
2019-12-04 02:05:09 -05:00
Emmanuel Lepage Vallee a065e2e1a9 client: Add append/remove methods for buttons and keys.
Another step toward ensuring all components can be manipulated
non-destructively by modules.
2019-12-04 02:05:05 -05:00
Emmanuel Lepage Vallee 42dceb1db8 object: Add a standard implementation for append and remove.
This is for legacy accessors only, but it will be expanded later.
2019-12-04 01:40:32 -05:00
Emmanuel Lepage Vallee fbe2b34af4 properties: Allow to delay some operations.
This will be useful for the append/remove support.
2019-12-04 01:40:32 -05:00
Emmanuel Lepage Vallee a8dcd3b2a2 tests: Add capi.client to the prompt unit tests.
It will be needed later.
2019-12-04 01:40:32 -05:00
Seth Barberee 7440cf66f0 more docs for launcher (#2935)
Co-Authored-By: Aire-One <Aire-One@users.noreply.github.com>
2019-12-04 00:08:40 -05:00
mergify[bot] f8894de1c3
Merge pull request #2938 from Aire-One/doc_fix_wibox.widget_signals_params
Fix missing `self` parameter from signals.
2019-12-04 04:59:15 +00: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 Vallée 1b24acf2ea
progressbar: Fix a major regression. (#2933)
The typo was introduced when the signal and accessors were standardized
for to make the documentation less wrong.

Fix #2932
2019-12-01 03:35:26 -05:00
Emmanuel Lepage Vallée 4cac2463ad
Merge pull request #2929 from Elv13/doc_fix_modules_summaries
Doc fix modules summaries
2019-11-30 03:32:40 -05:00
Emmanuel Lepage Vallee f21e0ba9dd doc: Upgrade the widget layout documentation. 2019-11-30 01:26:06 -05:00
Emmanuel Lepage Vallee be14666b4a doc: Modernize the widget doc.
This hass the following tags:

 * @interface
 * @tparam
 * @propbeautiful
 * @propemits
 * @renamedin

Beside tags, it adds some comments, fix formatting and add
new lines and dots where they belong.

Also add some signals to standardize everything.
2019-11-30 01:26:06 -05:00
Emmanuel Lepage Vallee 095e50b687 doc: Modernize the container documentation.
This hass the following tags:

 * @interface
 * @tparam
 * @propbeautiful
 * @propemits
 * @renamedin

Beside tags, it adds some comments, fix formatting and add
new lines and dots where they belong.

Also add some signals to standardize everything.
2019-11-30 01:26:06 -05:00
Emmanuel Lepage Vallee d2e5694f9c background: Add some property signals and update the doc.
It had no signals for the properties. That's non standard and has
been fixed.

The documentation tags were also upgraded to the latest standards.
2019-11-30 01:26:03 -05:00
mergify[bot] 0f1a0ccd34
Merge pull request #2930 from albel727/master
Fix missing naughty.dbus.config.mapping defaults
2019-11-29 18:09:16 +00:00
Alex Belykh 09ad7d83c5 Fix missing naughty.dbus.config.mapping defaults 2019-11-29 22:37:20 +07: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
mergify[bot] a0386dad91
Merge pull request #2921 from Aire-One/doc_fix_modules_summaries
[Draft/Proposal] DOC - Fix modules summaries.
2019-11-29 06:22:34 +00:00
mergify[bot] d52e332b96
Merge pull request #2928 from Aire-One/doc_screen_images
[Documentation] `screen` module - Improvement on generated image: client part.
2019-11-28 22:18:31 +00:00
Aire-One 3e6c33af64 Add imagebox doc example for `resize` property. 2019-11-28 13:53:59 +01:00
Aire-One 15209b305c Fix imagebox constructor missing argument. 2019-11-28 13:53:59 +01:00
Aire-One 90f89432d2 Improvement following the @psychon review. 2019-11-28 13:53:59 +01:00
Aire-One 5bf703416c Improve `wibox.widget.imagebox` documentation.
* Add the ldoc stop marker `.` to each functions, properties and methods definition ;
* Improve a little summaries ;
* Improve properties vs access methods documentation ;
* Change all documented parameters and return values to typed values.
2019-11-28 13:53:59 +01:00
Aire-One 86a9bbfd71 Improve the `wibox.widget.imagebox` descrition.
* Add a better descrition for the `imagebox` role in the wiboxes system ;
* Improve image + code render and integration into the descrition ;
* Add a second code exemple to show both coding style (imperative and declarative).

I think the user can now have a better overview of what's a `wibox.widget.imagebox` and how to use it.
2019-11-28 13:53:59 +01:00
Aire-One 82a2769e04 Fix ldoc modules summaries missing the final `.`. 2019-11-28 13:53:59 +01:00
Aire-One fcc3d0b590 Add an option to draw clients.
Change how wibox are drawn to build a more flexible function reusable in the context of clients.
Add `clients` option to the template. This new option needs an associative table `{ ['label'] = client }` to work. Where label will be a text rendered on the middle of the client area.
Add a new example: `texts/examples/screen/tiled_clients.lua`.
2019-11-28 13:31:21 +01:00
Emmanuel Lepage Vallée e411500dda
Merge pull request #2924 from Elv13/extend_doc
Extend the documentation with new custom tags.
2019-11-27 14:07:11 -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
mergify[bot] 304d742068
Merge pull request #2923 from psychon/tag_delete_emit_screen_signal
Emit property::screen in tag:delete()
2019-11-27 10:50:47 +00: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