Commit Graph

6 Commits

Author SHA1 Message Date
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