Commit Graph

10534 Commits

Author SHA1 Message Date
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
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 46ae927951
ci: Fix another branch name issue 2021-10-04 14:24:17 -07:00
Emmanuel Lepage Vallée 3807ed83b0
ci: Change the branch check to see if it fixes the apidoc. (#3453) 2021-10-04 14:11:32 -07:00
Emmanuel Lepage Vallée f3e16e2466
Merge pull request #3452 from Elv13/token
Attempt to fix the APIDOC token
2021-10-04 10:42:18 -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 Vallee 30eb441f3a ci: Change the API doc token name.
@blueyed added the old token used by Travis and it is called
"AWESOME_ROBOT_TOKEN"
2021-10-04 10:27:55 -07:00
Emmanuel Lepage Vallée 2bca64b89c
Merge pull request #3343 from Elv13/awful_wallpaper
Rewrite the wallpaper API
2021-10-02 13:38:21 -07:00
Emmanuel Lepage Vallee c3fe4c15ed doc: Uncomment the wallpaper `screen` property. 2021-10-01 16:54:22 -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 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 4a0645e942 doc: Correctly render --DOC_NO_USAGE + --DOC_GEN_OUTPUT.
It was previously merged into a single block.
2021-09-24 08:42:42 -07:00
Emmanuel Lepage Vallee 1ff860454e theme: Use a SVG wallpaper for the xresources theme.
It uses a stylesheet for the colors. This is not "as good" as the
old one because it only supports 16:9 aspect ratio. However, the
old wallpaper function doesn't fit great in the new model. The
widget doesn't know the screen, so it cannot pass it to a function.
It's possible to stretch the wallpaper.
2021-09-24 08:42:42 -07:00
Emmanuel Lepage Vallee bbf1c9270f tests: Test the imagebox DPI and CSS stylesheet. 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 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
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 e55ea2b0d5 doc: Support multiple screens in the "default look" template. 2021-09-24 08:42:42 -07:00
Emmanuel Lepage Vallee 6b7ecc51f8 tests: Add awful.wallpaper tests 2021-09-24 08:42:42 -07:00
Emmanuel Lepage Vallee 580f16b7ff tests: Draw the wallpaper in the awful template 2021-09-24 08:42:42 -07:00
Emmanuel Lepage Vallee dcdc6a1089 shims: Add awesome._get_key_name 2021-09-24 08:42:42 -07:00
Emmanuel Lepage Vallee 8481af90c5 shims: Add a wallpaper setter. 2021-09-24 08:42:42 -07:00
Emmanuel Lepage Vallee b9971a5acc root: Do not end up in an infinite loop if the wallpaper is `nil`.
If `root.wallpaper` was called with `nil` during initialization,
AwesomeWM would get into an infinite restart loop.
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 82f54ab95c rc.lua: Switch to awful.wallpaper 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 aa998db626 tests: Test the imagebox upscale and downscale properties. 2021-09-24 08:38:13 -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 Vallée eddabebac4
Merge pull request #3436 from Elv13/fix_3428
Fix setting the screen in a notification preset.
2021-09-24 07:53:54 -07:00
Emmanuel Lepage Vallee 64d190546d core: Always add a search path when `-c` is passed to the cli.
This way modular config load with just `-c` and don't require the
extra `-s`.
2021-09-22 19:17:02 -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 24fc1043ee tests: Remove a flackyness in test-input-binding 2021-09-22 19:17:02 -07:00
Emmanuel Lepage Vallee ccbe116877 tests: Try to mitigate a flacky test with luajit 5.1.
Give more attempt for the wibars to be GCed. This test fails ~5% of
the time since moving from Travis CI to GitHub actions.
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 552b2a22d1 tests: Test the notification presets.
Make sure they behave the same in legacy and ruled modes.
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