Emmanuel Lepage Vallee
9207b78f81
doc: Add `awful.screenshot` examples.
2022-11-13 17:35:32 -08:00
Emmanuel Lepage Vallee
d92a1c498b
awful.screenshot: Allow to export widgets instead of files.
...
Useful for alt-tab widgets and CDE / E16 style Iconified clients.
2022-11-13 17:35:32 -08:00
Emmanuel Lepage Vallee
f55a334972
awful.screenshot: Add a delay feature.
...
This can also act as an auto-save feature if the delay is zero. It
also adds more signals. These signals are intended for creating
notifications. `awful` cannot safely depend on `naughty`, so this
intergration will have to be done by the users.
2022-11-13 17:35:32 -08:00
Emmanuel Lepage Vallee
b7dcece40c
awful.screenshot: Add keyboard support.
2022-11-13 16:53:32 -08:00
Emmanuel Lepage Vallee
fa971ceb7c
tmp add keygrabber signal
2022-11-13 16:53:32 -08:00
Emmanuel Lepage Vallee
6338412b5f
awful.key: Fix the `modifiers` property.
...
It was called `mod` rather than `modifiers`.
2022-11-13 16:53:32 -08:00
Emmanuel Lepage Vallee
c391fc7fe4
keygrabber: Add `:remove_keybinding()`.
...
It was possible to add new keys, but not remove existing ones.
2022-11-13 16:53:32 -08:00
Emmanuel Lepage Vallee
f0a7f904f9
keygrabber: Add a new signal to catch awful.keys activations.
...
Some downstream modules with keys don't control the callbacks. Using
signals on multiple keys is more cumbersome than simply exposing
this at the keygrabber level.
2022-11-13 16:53:32 -08:00
Emmanuel Lepage Vallee
aca9136b02
screenshot: Cleanup the API.
...
* Fix all warnings
* Make indentation consistent across the file
* Simplify/unify the validation (use `error()` rather
than try to silently fix problems, move to setters)
and fallback code (move to the getters rather than...
everywhere)
* Write the documentation
* Finish the tests
* Remove unnecessary constructors
* Remove path builder because it belongs in
`gears.filesystem` and wasn't really used anyway
* Add more properties and a beautiful variable to
replace `set_defaults` and hardcoded values.
* Replace callbacks with signals (common pattern
in modern AwesomeWM APIs)
* Moved from `os.date` to GLib and some boilerplate
code to make Debian devs less angry
* Changed the way the snipping tool selection wibox works.
Now it freeze the screenshot before the selection.
The old way had a bunch of side effects for things
like Qt/GTK comboboxes. It also could crash.
2022-11-13 16:53:32 -08:00
Brian Sobulefsky
37ec7cd173
Clean up logging from Lua 5.1 and 5.2 error debug. Add a little more
...
test coverage.
2022-11-13 16:53:32 -08:00
Brian Sobulefsky
9d9fedf945
Likely solution to lua 5.1 and 5.2 bug.
2022-11-13 16:53:32 -08:00
Brian Sobulefsky
e8584f47b4
Debugging lua 5.1, lua 5.2 error.
2022-11-13 16:53:32 -08:00
Brian Sobulefsky
fb77f90959
Zeroing in on lua 5.1 and 5.2 bug on GitHub.
2022-11-13 16:53:32 -08:00
Brian Sobulefsky
ea3f82bdf0
Debugging Lua 5.1 and 5.2 on GitHub.
2022-11-13 16:53:32 -08:00
Brian Sobulefsky
1eb8371341
Error message addition to debug lua 5.1 and 5.2 out on GitHub jobs.
2022-11-13 16:53:32 -08:00
Brian Sobulefsky
75943e788b
Add some more test coverage to get this PR to the requisite 91%.
2022-11-13 16:53:32 -08:00
Brian Sobulefsky
8f7750e6f2
Add tests for the snipper tool and the snip (defined geometry) routine
...
to increase test coverage.
2022-11-13 16:53:32 -08:00
Brian Sobulefsky
52e0242ec6
Move some filesystem related logic in the screenshot lib to gears
...
request from awesome maintainers.
2022-11-13 16:53:32 -08:00
Brian Sobulefsky
1fdefad750
Fix the failed test case and some issues regarding variable naming.
...
There will still be one more commit to replace some of the screenshot
module code with available functionality from gears (e.g. the filesystem
module).
2022-11-13 16:53:32 -08:00
Brian Sobulefsky
5a7faa0010
Develop the awful.screenshot module into an object oriented format. Add
...
tests for the awful.screenshot module.
2022-11-13 16:53:32 -08:00
Brian Sobulefsky
efc9adae7c
Corrections to the lua documentation comment syntax.
2022-11-13 16:53:32 -08:00
Brian Sobulefsky
18ee0d6bf7
Add luadoc comments for awful.screenshot.init and fix a typo in the
...
mousegrabber callback (use the filename convenience variable 'fname').
2022-11-13 16:53:32 -08:00
Brian Sobulefsky
12a3fae456
This commit begins the development of a more appropriate user facing
...
screenshot API. It extends a prior commit which extended the lower level
content API, which had been a property of the client object but is now
available as a property of the screen object and a method of the root
object.
This commit creates a new screenshot module for the awful module. The
public functions include root(), screen(), client(), snipper(), and
snip(). These take root window, screen, and client window screenshots,
launch an interactive snip tool for cropped screenshots, and take a
cropped screenshot of a geometry passed by argument, respectively. The
init() function is also available for configuration. Using this library
is more appropriate for the average rc.lua.
Since the API is new, this commit does not include any changes to
rc.lua. The developers can modify rc.lua when there is sufficient
confidence in API stability and robustness.
lib/awful/init.lua is modified so that the awful module includes the new
lib/awful/screenshot.lua submodule.
Signed off: Brian Sobulefsky <brian.sobulefsky@protonmail.com>
2022-11-13 16:53:32 -08:00
Emily
5077c8381b
wibox.widget.slider: Add a handle cursor property ( #3734 )
...
* wibox.widget.slider: Add a handle cursor property
* wibox.widget.slider: Add a beautiful variable for handle_cursor
* wibox.widget.slider: Remove an unneeded or statement
* wibox.widget.slider: Move handle_cursor variable to the function it belongs in
2022-10-31 10:05:13 -07:00
Lily
a436478731
fix floating snap ( #3719 )
...
makes snap & aerosnap respect padding & workarea, adds snapper_gap padding to build_placement subcalls using args
2022-10-22 14:38:52 -07:00
Emmanuel Lepage Vallée
26032bf018
shape: Add a "solid shadow" shape. ( #3489 )
...
This is an useful client shape to get "client side solid shadows".
2022-10-16 02:29:09 -07:00
David Kosorin
b16f628620
Restore minimized sticky clients ( #3709 )
2022-09-29 23:12:13 -07:00
Aire-One
db5ade48e4
doc(awful.titlebar): fix ldoc WARN
2022-09-18 18:22:52 +02:00
Aire-One
941bb72fa2
doc(awful.keygrabber): fix ldoc WARN
2022-09-18 18:22:02 +02:00
Actionless Loveless
bde785ee64
fix(ruled: client: matching_rules): regression after 75019c3f6f
( #3694 )
2022-09-15 23:44:48 -07:00
Emmanuel Lepage Vallee
88c65a71dd
textbox: Rename `align` to `halign`.
...
`halign` is used in multiple place in the API. Once upon a time,
Awesome only supported horizontal widgets, but this era has long
passed.
Fix #3640
2022-09-06 16:11:04 -07:00
Emmanuel Lepage Vallee
d7f6410e09
textbox: Add 3 properties.
...
The textbox API reflects the Pango layout API circa 2011, time to
bring this to 2022. This adds:
* indent
* justify
* line_spacing_factor
It doesn't add `spacing` because it doesn't seem to do anything.
It also doesn't add the `is_*` methods to know if the text wraps
or ellipsize. We could, but nobody asked for them. The line spacing
is a feature request from Posix on Discord.
2022-09-06 16:09:26 -07:00
Tonda Fischer
c8d4f878a0
#3539 : Make tool tips indicate the action that a click will acheive ( #3657 )
...
* #3539 : Make tool tips indicate the action that a click will achieve.
2022-09-03 15:31:24 -07:00
Emmanuel Lepage Vallee
82a5fb6030
doc: Do not document the 16bit max widget size.
...
As pointed out by @aire-one , it does not provide much value.
2022-08-29 22:54:09 -07:00
Emmanuel Lepage Vallee
3c0d5b606f
doc: Fix issues found by @aire-one .
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
a18b40e12b
wibox.widget.textclock: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
1eda8cdf93
wibox.widget.textbox: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
642fa3b66b
wibox.widget.systray: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
5367513609
wibox.widget.slider: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
79496e9acc
wibox.widget.separator: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
f9f04866b8
wibox.widget.progressbar: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
e63d867523
wibox.widget.piechart: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
95cd45942a
wibox.widget.imagebox: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
8e16dc4412
wibox.widget.graph: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
ff9c89d005
wibox.widget.checkbox: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
1b726985de
wibox.widget.calendar: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
1259c3ccc6
wibox.widget.base: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
926f0ff22f
wibox.layout.stack: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
d05fc5dc8f
wibox.layout.ratio: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
c963b16f90
wibox.layout.grid: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
13b792e42e
wibox.layout.flex: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
285a8b23ff
wibox.layout.fixed: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
1fa30c3195
wibox.layout.align: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
2e41211772
wibox.container.tile: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
4c06aaab4f
wibox.container.scroll: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
1dafd25d93
wibox.container.rotate: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
6c84e83ccf
wibox.container.radialprogressbar: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
f0482485fa
wibox.container.place: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
bdec7eb516
wibox.container.mirror: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
534c2324ae
wibox.container.margin: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
268c66584e
wibox.container.constraint: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
d147899f86
wibox.container.background: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
73ec416287
wibox.container.arcchart: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
2c14e90a89
naughty.widget.title: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
0014785c85
naughty.widget.message: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
7149b93abb
naughty.widget.icon: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
a7fd2e2278
naughty.notification: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
e4d88e5566
naughty.list.notifications: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
51a1d387e5
naughty.list.actions: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
eb21c24acb
naughty.layout.box: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
c3a73cab53
naughty.core: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
85eb759bd8
naughty.container.background: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
6b382148a8
naughty.action: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
05ecb513c5
menubar.init: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
11ce8fd77c
gears.timer: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
52c481babc
gears.color: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
8f1a29b15f
awful.widget.watch: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
d45bd3a9d9
awful.widget.tasklist: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
a96ad1b766
awful.widget.taglist: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
60b52ab4c3
awful.widget.only_on_screen: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
4c4d833a69
awful.widget.layoutlist: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
0e5a62950e
awful.widget.layoutbox: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
72041d63a4
awful.widget.keyboardlayout: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
176526a8d2
awful.widget.clienticon: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
bd07d49197
awful.wibar: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
b5a9250a58
awful.wallpaper: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
9d04ba72f9
awful.tooltip: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
91de268703
awful.tag: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
6d31e783df
awful.screen: Update the property documentation.
2022-08-29 22:49:47 -07:00
Emmanuel Lepage Vallee
5909d2f155
awful.popup: Update the property documentation.
2022-08-29 22:49:47 -07:00
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