Commit Graph

3872 Commits

Author SHA1 Message Date
Emmanuel Lepage Vallee e8a505273a awful.mouse.init: Update the property documentation. 2022-08-29 22:49:46 -07:00
Emmanuel Lepage Vallee deaeb4dab8 awful.keygrabber: Update the property documentation. 2022-08-29 22:49:46 -07:00
Emmanuel Lepage Vallee 530055f024 awful.key: Update the property documentation. 2022-08-29 22:49:46 -07:00
Emmanuel Lepage Vallee 0b902c1d69 awful.hotkeys_popup.widget: Update the property documentation. 2022-08-29 22:49:46 -07:00
Emmanuel Lepage Vallee 418bf92858 awful.client: Update the property documentation. 2022-08-29 22:49:46 -07:00
Emmanuel Lepage Vallee 6e546bcb6a awful.button: Update the property documentation. 2022-08-29 22:49:46 -07:00
Emmanuel Lepage Vallee 4fa957b75d doc: Force all properties to document their default value. 2022-08-29 22:49:46 -07:00
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 75ab366769 doc: Proof reading fixes.
* Rendering problems
 * Incomplete type information
 * Obsolete type information
 * Missing type information
 * Missing return value
 * Incomplete return value type
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 f8f11a23f5 doc: Add some @see to the shape doc.
The `transform` function was unclear.
2022-08-29 22:48:54 -07:00
Emmanuel Lepage Vallee 69ab73aa23 doc: Fix a popup doc issue.
The variable name wasn't in the @param string, so it was called "The".
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 f6f57e7ba0 gears.color: Add a function to apply the alpha to a color.
Some code in awesome concatenate color strings. This means it blows
up when the pattern are used instead of color, with this, it fails
gracefully (by returning the unmodified pattern).
2022-08-29 22:48:36 -07:00
Emmanuel Lepage Vallee caad1bec55 tooltip: Make the `args` optional.
It would render a non-useful error when calling `awful.tooltip()`.
2022-08-29 22:48:36 -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 18468d32dd widget: Fix saving a widget to a file.
Previously, if `beautiful.fg_normal` wasn't black, it would not render
correctly.
2022-08-29 22:48:36 -07:00
Emmanuel Lepage Vallee 91fe314e0b gears.color: Fix color serialization.
Some widgets like the tasklist serialize the theme colors to use them
in Pango markup. If the theme color were already converted to pattern,
that blew up. With this fix, pattern can be converted back into strings
correctly.
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
Emmanuel Lepage Vallee 1601c6890b keygrabber: Document 5 deprecated, but still honored, method arguments.
As pointed out by @sclu1034, some users might actually pass the return
values of a function with multiple returns. This would cause some
confusing behavior. Documenting previous mistakes is in this case better
than hiding them.
2022-08-28 17:13:52 -07:00
Emmanuel Lepage Vallee 75019c3f6f Implement fixes for Luacheck 0.26.1
* Rename or mute parameters starting with _
 * Replace `not (>=)` with `<`
2022-08-28 16:59:14 -07:00
Kamack38 05a405b38b
feat(hotkeys: widget): add 3 new labels for keyboard keys (#3668)
Signed-off-by: kamack38 <64226248+kamack38@users.noreply.github.com>
2022-08-18 21:22:16 +02:00
Matthias Paulmier b7bac1dc76
awful.widget.prompt: Properly take into account `with_shell` arg (#3659) 2022-07-12 08:53:34 -07:00
Actionless Loveless 9ca7bb487a
style(beautiful: gtk; hotkeys_popup): make new luacheck a bit happier (#3651) 2022-06-30 08:32:45 -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
Grumph 3a542219f3
Fix awful.keygrabber:add_keybinding function (#3568)
* Check the correct variable

* Fix table access

In every other use of _private.keybindings in this file, the key is a
string, not an awful.key

* Simplify code

key.key is always defined

* Add tests

* add(spec) add_keybinding unit test

* Revert "Add tests"

This reverts commit 808b17cd5c.

Co-authored-by: Aire-One <aireone@aireone.xyz>
2022-05-29 13:10:29 -07:00
Emmanuel Lepage Vallée be69e347fa
Merge pull request #3591 from actionless/spawn-doc-spaces
doc(awful: spawn): fix spaces
2022-05-29 12:45:09 -07:00
Lucas Schwiderski 51c184fc06
refactor(naughty.notification): Align table values 2022-05-29 10:52:20 +02:00
Lucas Schwiderski 62f13d3e08
fix(naughty.notification): Fix missing accessor
Fixes #3623.
2022-05-29 10:52:11 +02:00
Actionless Loveless c539e0e435
hotkeys_popup: expose labels and remove unused backspace translation (#3585)
the actual key is BackSpace, not Backspace, so this translation was always unused


Co-authored-by: Lucas Schwiderski <4508454+sclu1034@users.noreply.github.com>
2022-03-21 18:09:49 +01:00
actionless 1d228a13ab doc(awful: spawn): proper quotes for an arg name 2022-03-20 18:57:12 +01:00
actionless 3d94bf0738 doc(awful: spawn): fix spaces 2022-03-20 18:57:12 +01:00
sarubo 9895aeb0d5
fix(placement) bad argument to 'field' (#3572)
RectangleInt must use integer
Remove float from RectangleInt
2022-02-25 19:34:51 +01:00
Aire-One e260696826
Merge pull request #3564 from pepijnKrijnsen/parse_color
Update documentation for gears.color.parse_color(col) method
2022-02-14 19:25:01 +01:00
Pepijn Krijnsen fd22d51207 Correct width and height documentation
The constraint:set_width function listed ‘height’ as a required parameter; the constraint:set_height function listed ‘width’ as a required parameter. Swapped those around.
2022-02-12 21:10:42 +00:00
Pepijn Krijnsen 53b70b4585 Update documentation for gears.color.parse_color(col) method
Lua comments now accurately describe the return values of this method.
Added a more comprehensive example, too. Issue #3555
2022-02-12 21:04:21 +00:00
SystematicError 86b6c49a0f
Fix typo (#3562)
Co-authored-by: SystematicError <systematicerror@users.noreply.github.com>
2022-02-07 11:08:08 -08:00
Actionless Loveless 2d6244f944
doc(progressbar): sanitize paddings/margins (#3556) 2022-02-03 13:25:05 +01:00
Xinhao Yuan b49a53f6dd
Multi-row support of systray by taking a beautiful variable specifying the maximum number of rows to fill per column. (#3520)
Also, fix the fitting logic so that the result width and height are fitted in the available space. Previously the result dimensions can be larger than the input, but cropped in e7a21947e6/lib/wibox/widget/base.lua (L547). But still it can cause problems e.g. when used inside wibox.container.place.
2021-12-30 13:22:31 -08:00
Emmanuel Lepage Vallée 1413f0c4b9
Merge pull request #3513 from necauqua/fix-timer
Signalled error: bad argument #3 to 'timeout_add' (number has no integer representation)
2021-12-22 12:52:07 -08:00
Emmanuel Lepage Vallée 790e535017
Merge pull request #3529 from sclu1034/feature/docs
Various docs improvements
2021-12-22 12:05:43 -08:00
Grzegorz Bednarski f353499230
Support minimized client property in tasklist icons (#3526) 2021-12-21 11:48:53 -08:00
Lucas Schwiderski e55d1d41f3
docs(g.timer): Fix typo 2021-12-21 10:46:43 +01:00
Lucas Schwiderski b343cb8111
docs(g.timer): Improve wording 2021-12-21 09:09:09 +01:00
Lucas Schwiderski 869e63fcdc
doc(w.w.textbox): Make alignment property descriptions consistent
Signed-off-by: Lucas Schwiderski <lucas@lschwiderski.de>
2021-12-14 19:09:42 +01:00
HumblePresent 030073fee7 Apply presets before registering notification 2021-11-26 13:22:58 -06:00
Anton Bulakh 71d08ab6ec
Use gmath.round 2021-11-23 08:45:52 +02:00
Anton Bulakh e963d37cc4
Fix widget repaint printed errors 2021-11-22 12:39:16 +02:00
Anton Bulakh e64446082b
Fix timer errors 2021-11-22 12:24:20 +02: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 Vallée 062ecfb6f0
Merge pull request #3490 from Elv13/less_flacky_tests
Less flacky tests
2021-11-13 00:42:18 -08:00
Emmanuel Lepage Vallée 2eb035e125
Merge pull request #3493 from Elv13/progressbar_doc
Improve the progressbar doc with more examples.
2021-11-03 12:40:56 -07:00
Emmanuel Lepage Vallee 76704b33e7 progressbar: Make `ticks` and `bar_shape` compatible with each other.
It looked horrible/buggy when combined. Now it looks like people would
expect it to work. Another problem was the `bar_border_width` look
when `ticks` was `true.
2021-11-02 20:36:07 -07: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 Vallee 9dcfde32e0 naughty: Never hold a strong reference to the notification in the box.
luajit was failing to GC the notification about 5% of the time. This
commit stores all widget notifications in a weak table and don't let
any lambda access the parent object notification object.

Each of those changes reduces the failure rate. There might still be
a couple in there, but the test passed 200x on my laptop with 100%
success rate.
2021-10-31 19:30:17 -07:00
Emmanuel Lepage Vallee 1fa0204d80 doc: Add many textbox examples. 2021-10-30 22:51:40 -07:00
Emmanuel Lepage Vallee 4df1cd6315 background: Correctly apply the matrix in the fallback border code. 2021-10-30 22:43:46 -07:00
Emmanuel Lepage Vallée 50b9b10437
texrbox: Fix a recent regression. (#3488)
The intial font wasn't set.
2021-10-28 19:24:49 -07:00
Emmanuel Lepage Vallée 1e0d1e7ba9
Merge pull request #3466 from Elv13/fix_3428
Fix a regression in naughty.notification.ignore_suspend
2021-10-28 12:27:42 -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 Vallée c8ada80fb3
Merge pull request #3484 from Elv13/2012_misc_fixes
Miscellaneous small bug fixes
2021-10-28 12:26:47 -07:00
Emmanuel Lepage Vallee bb65181e61 doc: Document the textbox font. 2021-10-27 20:08:15 -07:00
Emmanuel Lepage Vallee 5069f5c2ed client.floating: Add a missing signal connection.
The `fullscreen` state does affect the outcome of the state, so
it needs to be connected for request::border to be sent.
2021-10-27 20:08:15 -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
Emmanuel Lepage Vallee 146a9c3166 permission: Fix hiding the border for maximized clients.
When the theme variables were moved to the backend instead of `rc.lua`,
some magic was added to disable them if the user set the border. However,
some undocumented `awful.placement` code also set them and turned off
the theme variables. So it worked *once* then stopped working.
2021-10-27 13:41:11 -07:00
Emmanuel Lepage Vallee 907053f31a titlebar: Implement setting the font (as documented, but unimplemented)
It was documented to exist, but didn't.
2021-10-27 13:41:11 -07:00
Emmanuel Lepage Vallee c36a869ded textbox: Store the font in `_private`.
So a getter can work.
2021-10-27 13:41:11 -07: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
Sergey fcef95b1f0 Removing duplicating descriptions of screen properties as read only
Removed "Immutable: true" from readonly properties descriptions.
2021-10-27 14:52:36 -04:00
Sergey 212ec72236 Removing read only from properties descriptions. It's set with ldoc tag now. 2021-10-27 14:52:36 -04:00
Sergey 6c3d233893 Mark readonly properties for screen 2021-10-27 14:52:36 -04:00
Sergey 43ff4e07ad Marking readonly properties for client 2021-10-27 14:52:36 -04:00
Emmanuel Lepage Vallee c63a80de5c layoutlist: Allow empty constructor. 2021-10-26 13:37:16 -07:00
Emmanuel Lepage Vallee 11e4fe88bb client.border_color: Fix a bug affecting floating clients.
If client client was tiled, the `fallback` could be
`theme.border_color_normal`, but if the client was
tiled, this fallback was never tried.

Now it tests for both "floating" and "active" fallbacks.

This problem actually affects the default theme.
2021-10-26 13:37:16 -07:00
Emmanuel Lepage Vallée 1e6f213bcf
Merge pull request #3477 from Elv13/fix_matcher
Fix a gears.matcher bug and add a small feature.
2021-10-23 12:15:29 -07:00
Emmanuel Lepage Vallée a1716a7edc
Merge pull request #3462 from Aire-One/fix/3458
Fix 3458
2021-10-22 23:27:55 -07:00
Emmanuel Lepage Vallee 9db62b824c gears.matcher: Add `fallback` rules.
Right now, all rules are additive, they are squashed into one big
array of properties. This is normally fine, but sometime you want
explicit rules for some objects, but also default rules if nothing
matches.

While this can be expressed in the current system by overriding
*all* properties, this require more effort than having "special"
and "fallback" rules.
2021-10-22 22:26:12 -07:00
Emmanuel Lepage Vallee 005c2d61a0 gears.matcher: Fix `rule_every`.
It really didn't do the right thing and didn't work anyway.
2021-10-22 22:26:12 -07:00
Emmanuel Lepage Vallée 8541637a85
Merge pull request #3475 from Elv13/fix_626
Another doc upgrade.
2021-10-21 15:07:54 -07:00
Emmanuel Lepage Vallee b2603f6a86 doc: Add images for awful.client.* functions. 2021-10-18 14:38:37 -07:00
Emmanuel Lepage Vallee cbec148540 doc: Make sure all client.focus functions are in the same section.
Some were in the @staticfct and some in the @function sections.
2021-10-18 14:38:37 -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 62685c661d doc: Modernize the tag documentation... again...
The last time this page had a refresh was in parallel with another
massive whole-doc project. Thus, this page still had older
conventions which everything else had already removed.
2021-10-18 14:38:37 -07:00
Emmanuel Lepage Vallee a8d2fa0297 doc: Add a large number of `client` examples.
Backfill some under-documented APIs with yet more shiny images.
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 c7df6757ec titlebar: Add `urgent` colors.
Just the bg/fg/bgimage, not all buttons. the reason is for consistency
with the tasklist or border_color.
2021-10-18 14:38:37 -07:00
Emmanuel Lepage Vallee 785ca98337 client: Turn client.setslave/setmaster into properties.
It also no longer use the master/slave name. In this case, it kinds
of make sense since, for example, of the tag `master_count` is greater
than the number of clients, calling `client.setslave` move the client
to another "master" slot.

Closes #626
2021-10-15 20:00:23 -07:00
Emmanuel Lepage Vallee 203d0638be background: Improve the fallback rendering accuracy.
While it has a little aliasing problem, it actually correctly
renders the border using a mask like the normal code path.
2021-10-15 19:42:48 -07:00
Emmanuel Lepage Vallée 5f29d6d056
Update lib/naughty/notification.lua
Co-authored-by: Aire-One <aireone@aireone.xyz>
2021-10-14 20:51:31 -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
Emmanuel Lepage Vallee 0b075761e3 naughty: Fix the `ignore_suspend` property.
By fixing some suspend bugs a few weeks ago, I "regressed" this
a little. By that, I mean there were bugs in the suspend code
which caused `ignore_suspend` to work simply because suspend
globally failed rather than `ignore_suspend` being implemented
correctly.

Fix #3465
2021-10-14 14:03:39 -07:00
Aire-One cf9d4d382e fix(screen.content) use capi.root 2021-10-12 21:05:41 +02:00
Emmanuel Lepage Vallée d487d1010e
Merge pull request #3443 from Elv13/fix_3396
Improve suspending the notifications
2021-10-09 12:58:11 -07:00
Emmanuel Lepage Vallée 1f84dbef18
Merge pull request #3451 from Elv13/screenshot
Copy of  "Content (Screenshot) API Expansion"
2021-10-07 14:03:57 -07:00
Emmanuel Lepage Vallee 9c22b029eb naughty.layout.box: Make sure discarded boxes don't come back to life.
Previously, when resuming a notification for which the popup was closed,
it would re-appear.
2021-10-05 13:00:14 -07:00
Emmanuel Lepage Vallee 3458c89040 naughty: Suspend existing notifications.
Previously, it would just suspend new notification, but do nothing
about the existing ones.
2021-10-05 13:00:14 -07:00
Emmanuel Lepage Vallee 075935fd37 naughty: Do not call `request::display` when suspended.
Fix #3396
2021-10-05 12:59:39 -07:00
Emmanuel Lepage Vallee 0d1e977917 naughty: Fix getting a notification by id.
There is more into that table than just screens. If `get_by_id` was
called with an invalid notification (or a "future" one in case of
suspended / do_not_disturb), it would explode.
2021-10-05 12:59:39 -07:00
Elyes HAOUAS f81723733c
lib/naughty/init.lua: Fix typo on "screen" (#3456)
Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
2021-10-05 12:13:33 -07:00
Aire-One eb89c3688c Update screen.lua 2021-10-04 19:49:22 -07:00
poisson-aerohead 02e12f4cb4 Update screen.lua
Add DOC comments to the new screen.object.get_content property in lib/awful/screen.lua.

Signed Off: Brian Sobulefsky <brian.sobulefsky@protonmail.com>
2021-10-04 19:49:22 -07:00
poisson-aerohead b4cb3eae7b Debug the suggested changes to lib/awful/screen.lua per the discussion
thread at PR 3448. PR 3448 involves changes to expand the content
(screenshot) API. Originally, I added both root.content() and and
screen.content to the C source, as client.content has always been
handled. However, screen.content in effect takes a root screenshot and
returns a crop of it. This can just as easily be done through Lua.

When this quick update was implemented in github, the code added to
awful.screen.lua was not quite correct. These changes represent the
debugged version. Users can now call s.content for a screen object, s,
and the screenshot will work transparently.

Signed Off: Brian Sobulefsky <brian.sobulefsky@protonmail.com>
2021-10-04 19:49:22 -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
Emmanuel Lepage Vallée eb07ca4c47 Update lib/awful/wallpaper.lua
Co-authored-by: Aire-One <aireone@aireone.xyz>
2021-10-01 16:26:33 -07:00
Emmanuel Lepage Vallee 546ac6aec9 container.tile: Correctly transfer the Cairo source to the tile. 2021-09-24 08:42:42 -07:00
Emmanuel Lepage Vallée 01ae508899 Update lib/awful/wallpaper.lua
Co-authored-by: Aire-One <aireone@aireone.xyz>
2021-09-24 08:42:42 -07:00
Emmanuel Lepage Vallée 7b8426bd24 Update lib/wibox/widget/imagebox.lua
Co-authored-by: Aire-One <aireone@aireone.xyz>
2021-09-24 08:42:42 -07:00
Emmanuel Lepage Vallee d8bc791818 imagebox: Add DPI and CSS Stylesheet properties for SVG images.
This exposes the `librsvg` DPI and Stylesheet properties. This
is a groundwork commit to port the xresources theme to use a SVG
wallpaper instead of hardcoded Cairo code to generate the colorfar
logo.
2021-09-24 08:42:42 -07:00
Emmanuel Lepage Vallee ddccddb6dc imagebox: Allow to load SVG data without saving it. 2021-09-24 08:42:42 -07:00
Emmanuel Lepage Vallee 3f2db184ad gears.wallpaper: Deprecate. 2021-09-24 08:42:42 -07:00
Emmanuel Lepage Vallee b0a2d82d8f compat: Do not require to pass pattern._native to the wallpaper.
It makes the shims impossible to implement without a double free,
a memory leak or a crash. Using `capi` should not require to
destroy the LGI wrappers.

Another example, not fixed in this commit, are the client shapes.
2021-09-24 08:42:42 -07:00
Emmanuel Lepage Vallee 98dd78b777 awful: Add a wallpaper module.
`gears.wallpaper` is a flat API (that doesn't even belong in gears) and
is neither well integrated with the other AwesomeWM concepts, nor well
documented or easy to understand for newcomers.

This module adds an object oriented, declarative, module with properties
for the most common wallpaper types. It also integrates with
`awful.placement` and the `wibox` module.

The design attempts to make the wallpaper a "wibox like" object like
the titlebars. It is non-interactive, but still allows the widgets. Note
that this is slow and should be avoided for dynamic content. It is why
the widgets are never updated unless manually reloaded. The objects also
attempt to be disposable rather than persistent. Thus they are immutable
by default to prevent accidental abuse.

Fix #3428 #2596
2021-09-24 08:42:42 -07:00
Emmanuel Lepage Vallee 5212f0634a imagebox: Add a `downscale` and `upscale` property.
Previously, it was really hard to get the image to do one *or* the
other. The `resize` property set both at the same time.

While it could, this does not deprecate the old `resize` property
since 99% of the user wan't to lock both.
2021-09-24 08:38:13 -07:00
Emmanuel Lepage Vallee cefd4f843e gears.filesystem: Improve get_random_file_from_dir.
Previously, only a filename was returned. Getting the path was
inconvinient when used within a declarative construct.

It was also misbehaving then the directory didn't exist. Finally,
the extention list now accept extension names starting with a dot.
2021-09-24 08:38:13 -07:00
Emmanuel Lepage Vallee b038463e22 naughty.legacy: Handle broken configs betters.
If a config with naughty.layouts.box crashes at startup and the
fallback config uses naughty.layouts.legaxy, it is possible their
will be some lookup for an object which isn't tracked by the legacy
module.
2021-09-22 19:17:02 -07:00
Emmanuel Lepage Vallee bd8f2f936b naughty: Fix a memory leak related to suspended notifications. 2021-09-22 19:17:02 -07:00
Emmanuel Lepage Vallee 9336b62f80 ruled.notification: Handle legacy presets.
This is deprecated, but some modules like `lain` use them, so it
must still minimally work for backward compatibility.
2021-09-22 19:17:02 -07:00
Emmanuel Lepage Vallee e752943b98 notification: Correctly handle `screen` set in the presets.
It was setting directly to `_private`, which both didn't work
and caused a memory leak.

Fix #3428
2021-09-22 19:17:02 -07:00
Emmanuel Lepage Vallee 21a111d154 naughty: Allow to set the message from the presets again.
This was never really supported and is really not what the presets
were event meant to be used for. But it worked and `lain` used it.
2021-09-22 19:17:02 -07:00
Emmanuel Lepage Vallee 89c84caee4 naughty.legacy: Explicitly remove the screen.
Do not rely on the GC. It isn't reliable with Luajit.
2021-09-22 13:39:58 -07:00
poisson-aerohead 87e09f81ab
Correction of error message in awful.keygrabber.run_with_keybindings (#3445)
Two calls to gdebug.print_warning() in run_with_keybindings use an
argument that concatenates a fixed string with the result returned by a
call to gdebug.dump(). gdebug.dump() is the debug library function for
immediate printing. It has no return value. This causes the correct
message in print_warning to not be printed, and also causes a
naughty.notify box to appear warning of an attempt to concatenate to an
empty variable.

The call to gdebug.print_warning should have an argument made by
concatenating to gdebug.dump_return(). Incidentally, this is in fact the
function used internally by gdebug.print().

Signed off by: Brian Sobulefsky <brian.sobulefsky@protonmail.com>
2021-09-21 08:34:46 -07:00
Emmanuel Lepage Vallée 5ca16ae8a0
Merge pull request #3364 from Aire-One/fix/awful.key-constructor
[doc] awful.key contructor and general improvements
2021-09-20 11:39:41 -07:00
Emmanuel Lepage Vallée c3a508a886
Merge pull request #3386 from Elv13/awful_wibar
Fix some wibar bugs, polish the API a bit and add some doc.
2021-09-19 13:05:11 -07:00
Emmanuel Lepage Vallee e27b908ca0 doc: Document the naughty.action "invoked" signal. 2021-09-16 17:25:46 -07:00
Emmanuel Lepage Vallee 17bd5fb036 naughty: Pass the notification object to the action "invoked" signal.
Fix #3384
2021-09-16 17:22:33 -07:00
Emmanuel Lepage Vallée 73e908ed95 Apply suggestions from code review
Co-authored-by: Lucas Schwiderski <4508454+sclu1034@users.noreply.github.com>
2021-09-12 01:59:48 -07:00
Emmanuel Lepage Vallée 6ad693eff0 Apply suggestions from code review
Co-authored-by: Aire-One <Aire-One@users.noreply.github.com>
2021-09-12 01:59:48 -07:00
Emmanuel Lepage Vallee d5d74e44de doc: Document the wibar module. 2021-09-12 01:59:48 -07:00
Emmanuel Lepage Vallee b883855272 wibar: Allow to configure how conflicts between wibars are resolved.
Previously, the horizontal wibars would always get priority. Now,
this can be configured.
2021-09-12 01:59:48 -07:00