Commit Graph

3543 Commits

Author SHA1 Message Date
Aire-One 32827126cc Merge remote-tracking branch 'elv/reactive' 2021-03-28 20:09:07 +02:00
Yauhen Kirylau 6ef3a8f059
fix(gears: colors: recolor_image): always duplicate the surface (#3233) 2021-03-27 23:48:48 -07:00
James R aeb2d85dad
tasklist: Fix documented function names (#3276) 2021-03-22 15:28:53 -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
Daniel Hahler dab84c2662
fix(doc): gears.table.keys: s/integer keys/integer/ (#3293) 2021-03-22 12:05:17 -07:00
Emmanuel Lepage Vallée 80a7d9e3ee
Merge pull request #3283 from sclu1034/issue/3214
Remove unused first parameter in some constructors
2021-03-22 10:45:18 -07:00
Emmanuel Lepage Vallee b4cf88f4c0 doc: Fix the titlebars widget constructor doc 2021-03-22 00:56:02 -07:00
Emmanuel Lepage Vallee 31fcce436c doc: Add a client border color example. 2021-03-22 00:56:02 -07:00
Emmanuel Lepage Vallee 8f8d0e7bbf doc: Fix a awful.ewmh->awful.permissions rebase issue 2021-03-22 00:54:00 -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 9f50c5e062 doc: Add more tag images. 2021-03-22 00:54:00 -07:00
Emmanuel Lepage Vallée 1c8b0b924d
`ruled.client` fixes (#3195)
* ruled.client: Fix a regression introduced when append/remove was added.

* ruled.client: Fix an error message grammar.
2021-03-22 00:04:13 -07:00
Emmanuel Lepage Vallée 50fa1b8679
naughty: Correctly notify the client when a notification is dismissed. (#3184)
Fix #3182

Co-authored-by: Uli Schlachter <psychon@znc.in>
2021-03-22 00:03:37 -07:00
Emmanuel Lepage Vallee 42a86efa50 doc: Document some of the `tag` properties. 2021-03-21 23:58:05 -07:00
Emmanuel Lepage Vallee 9b4f5b7969 doc: Add an example for mouse `snap` and client edge tiling. 2021-03-21 23:58:05 -07:00
Emmanuel Lepage Vallee d9514820ef mouse: Add an `awful.mouse.snap.aerosnap_distance` global variable.
The distance to snap clients to each other was already something which
could be configured. The distance to enable screen edge wasn't.

Fixes #3025
2021-03-21 23:58:05 -07:00
Lucas Schwiderski ad1a28ced2
Remove unused first parameter in some constructors
Fixes #3214.

Signed-off-by: Lucas Schwiderski <lucas@lschwiderski.de>
2021-03-08 20:09:41 +01:00
Lucas Schwiderski ca066e8d0f
Respect line column limit 2021-03-07 11:09:45 +01:00
Lucas Schwiderski a8d830f1e6
Improve gears.shape module description.
Fixes #3270.
2021-03-06 17:10:20 +01:00
jpkotta aba1cf398f
fix client:activate action mouse_center (#3257) 2021-02-28 23:03:14 -08:00
Grumph f6a2306d1a Protect endswith and startswith from nil str
A nil parameter can mean an empty string (e.g. client.name), so we
just return false.
2021-01-26 17:58:25 +01:00
Jonta 1c53c36eb7
Grammar 2020-12-05 16:17:45 +01:00
Emmanuel Lepage Vallee 9d55d385c7 Add a new `gears.watcher` module.
It mostly replaces `awful.widgets.watch` with a more generic API.
`awful.widgets.watch` was only useful for textbox (without abusing
of its low-level callbacks). This can be used both as a generic
polling module for files and commands. It can also be attached
directly to widgets or mixed with `gears.reactive` to build an
higher level output.
2020-11-30 00:43:38 -08:00
Emmanuel Lepage Vallee 8f9d23b11b Add a new `gears.connection` module.
This is the declarative DSL version of `:connect_signal`. It also
has some magic to access the widet object using their IDs without
the usual imperative code.
2020-11-30 00:43:38 -08:00
Emmanuel Lepage Vallee e6793376e5 Add a new reactive programming module.
This module allows to attach an "expression" to a widget property.
This expression will be evaluated each time it's content may change.

This is the first part of a trio of new APIs to improve setting dynamic
values to a widget from 3 different angles.
2020-11-29 22:33:00 -08:00
Emmanuel Lepage Vallee 537b44b57b widget: Add a generic way to extend the declarative tree system.
With this addition, it is now possible to let the right hand side
part of the `key = value` to handle setting the value.
2020-11-29 03:12:53 -08:00
Emmanuel Lepage Vallee 23d3969d89 timer: Enable the full `gears.object` property support.
In the next few commits, this will be used to implement a replacment
for `awful.widgets.watch`.
2020-11-29 03:12:53 -08:00
Emmanuel Lepage Vallee e3976e0a19 timer: Replace `.data` by `._private`.
First step toward converting it into a normal `gears.object` to
later use a base class.
2020-11-29 03:12:53 -08:00
Emmanuel Lepage Vallee 3feeec3a1f widget.base: Add template support.
This allows some widgets to have declarative templates as first level
elements. It can be used for lazy loading or conditional loading.

This commit also improve get_children_by_id, but does not fix all the
corner case. As proposed by psychon, this will require them to be
moved to the hierarchy.
2020-11-29 03:12:53 -08:00
Unai 538586c170
textbox: print traceback on error (#3205) 2020-11-01 16:12:42 -08:00
mergify[bot] cc67a5b40b
Merge pull request #3199 from psychon/grid_direction_properties
Fix setters/getters for grid layout direction properties
2020-10-13 07:23:23 +00:00
Uli Schlachter f1871873aa Fix setters/getters for grid layout direction properties
Wow. This code was so weirdly broken, I have no words.

Fixes: https://github.com/awesomeWM/awesome/issues/3198
Signed-off-by: Uli Schlachter <psychon@znc.in>
2020-10-10 17:32:04 +02:00
mergify[bot] 6f047e9468
Merge pull request #3125 from actionless/hotkeys-vimdiff
feat(awful: hotkeys_popup: vim): add vimdiff
2020-10-07 15:04:52 +00:00
Emmanuel Lepage Vallée ed6cdf87b1
Merge pull request #3187 from PlayerNameHere/master
Fix wibox.layout.stack:raise() returning prematurely and inserting the widget at the end instead of the start
2020-09-28 23:32:06 -07:00
Emmanuel Lepage Vallée 5cbc423938
notifications: Make `:reset_timer()` more intuitive. (#3175)
Previously it would only work if there already was a timeout to
avoid some infinite loops. Now it just delay the new timer to the
next loop.

Fix #3147
2020-09-27 23:34:14 -07:00
PlayerNameHere 45cfbe72bf Add getters for wibox.layout.stack offset properties
Getters for the horizontal_offset and vertical_offset properties
were missing, which resulted in nil when trying to get them.
2020-09-28 00:00:08 +08:00
PlayerNameHere 2647e1c855 Fix emitted signals in wibox.layout.stack:set_horizontal_offset() 2020-09-27 23:58:22 +08:00
PlayerNameHere 13e41a2a7b Fix wibox.layout.stack:raise()
There seem to be two issues here. First, the if-statement at the
beginning of the function will return prematurely if
`self._private.widgets[index]` exists. There seems to be a
missing `not` there.
Second, index 1 is interpreted as the top of the stack (although the
documentation says otherwise), but the widget is inserted at the end of
`self._private.widgets`, so it gets pushed to the bottom
instead of the top.
2020-09-27 16:02:17 +08:00
mergify[bot] d5ce4d5d1c
Merge pull request #3173 from Elv13/fix_maximized_tiled
screen: Correctly detect tiled_clients.
2020-09-14 17:08:51 +00:00
mergify[bot] 9d766ba622
Merge pull request #3176 from Elv13/notification_foot_gun
naughty: Improve backward compatibility to protecting the constants.
2020-09-14 17:04:00 +00:00
Emmanuel Lepage Vallee 0cbb7f59b0 naughty: Improve backward compatibility to protecting the constants.
If the user copy/pasted `naughty.config.*` into their config rather
than set values 1 by 1, we could no longer add new values since they
would get removed. To prevent more users being affected by this, we
now silently ignore the new table while still setting all the values.

Fix #3145
2020-09-14 02:11:32 -07:00
Emmanuel Lepage Vallee be05862bf4 doc: Add an awful.tag.clear example. 2020-09-14 01:17:31 -07:00
Emmanuel Lepage Vallee b1b9bd838d tag: Add a `:clear()` method.
It was previously done using `:clients{}`, but that super unintuitive,
hard to search and has no signal. This fixed that.
2020-09-14 01:17:31 -07:00
Emmanuel Lepage Vallee 6dda0e4599 screen: Correctly detect tiled_clients.
At some point we added an unified `maximized` property to the
client class. Originally it was just setting both horizontal
and vertical maximization. LAter on, this was rewritten to
make the state change more atomic and reversible.

Soon after, we added  `immobilized_horizontal` and
`immobilized_vertical` to make most `if` simpler.
`screen.tiled_clients` was missed in that refactoring.

Fix #3169
2020-09-13 23:35:57 -07:00
kdrobnyh 97c3849ae7
Fixed showing hotkeys_popup on the focused screen (#3164) 2020-09-08 22:10:21 -07:00
mergify[bot] 7a759432d3
Merge pull request #3044 from SethBarberee/firefox_keys_fix
add additional match for firefox in awful.hotkeys_popup/keys/firefox.lua
2020-08-01 23:01:50 +00:00
James Reed e2b00c71e7
Fix adjust misspelling
Co-authored-by: Aire-One <Aire-One@users.noreply.github.com>
2020-07-31 17:33:12 -06:00
Yauhen Kirylau 639f0196d8
fixup: typo 2020-07-02 18:35:45 +02:00
actionless 7ec9e8018f feat(awful: hotkeys_popup: vim): add vimdiff 2020-07-02 07:24:44 +02:00
Yauhen Kirylau e7113d7191
fix(naughty: layout: box): take preset.padding and beautiful.notification_spacing into account (#3103) 2020-05-22 21:55:47 -07:00